From 5363b2782d906a6c6067eb840392f959ed4dfe4b Mon Sep 17 00:00:00 2001
From: Dan Timoney <dtimoney@att.com>
Date: Tue, 18 Jul 2017 20:23:07 -0400
Subject: [CCSDK-6] Populate seed code

Add seed code for sli/adaptors repository
Update code to use org.onap.ccsdk.sli.core

Change-Id: I477c7a24f2cc1fed8fb0975fe9f33733411c27f9
Signed-off-by: Dan Timoney <dtimoney@att.com>
---
 .../provider/src/test/resources/sql/data.sql       | 120 +++++++++++++++++++++
 1 file changed, 120 insertions(+)
 create mode 100644 resource-assignment/provider/src/test/resources/sql/data.sql

(limited to 'resource-assignment/provider/src/test/resources/sql/data.sql')

diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
new file mode 100644
index 000000000..2214bce79
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -0,0 +1,120 @@
+---
+-- ============LICENSE_START=======================================================
+-- openECOMP : SDN-C
+-- ================================================================================
+-- Copyright (C) 2017 ONAP Intellectual Property. 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.
+-- ============LICENSE_END=========================================================
+---
+
+INSERT INTO RESOURCE_RULE (
+    resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+    'Bandwidth', 'L3SDN', 'IPAG-TOA', 'true', 'Port', 'true',
+    'service-speed-kbps', '0.5 * max-port-speed', '0.9 * max-port-speed');
+
+INSERT INTO RESOURCE_RULE (
+    resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+    'Bandwidth', 'L3SDN', 'VCE-Cust', 'true', 'Server', 'true',
+    'service-speed-kbps', '0.6 * max-server-speed * number-primary-servers', 'max-server-speed * number-primary-servers');
+
+INSERT INTO RESOURCE_RULE (
+	resource_name, service_model, end_point_position, service_expression, equipment_level,
+    equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+	'Connection', 'L3SDN', 'VCE-Cust', 'true', 'Server',
+    'true', '1', '40', '40');
+
+INSERT INTO RESOURCE_RULE (
+     resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+     'Bandwidth', 'L3SDN', 'VPE-Cust', 'true', 'Port', 'true',
+    'service-speed-kbps', '0.5 * max-port-speed', '0.9 * max-port-speed');
+
+INSERT INTO RESOURCE_RULE (
+	resource_name, service_model, end_point_position, service_expression,
+    equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+	'Bandwidth', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
+
+INSERT INTO RESOURCE_RULE (
+	resource_name, service_model, end_point_position, service_expression,
+    equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+	'Connection', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', '1', '200', '200');
+
+INSERT INTO RESOURCE_RULE (
+	resource_name, service_model, end_point_position, service_expression,
+    equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+	'Bandwidth', 'L3AVPN-PORT', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
+
+insert into RESOURCE_THRESHOLD (
+	resource_rule_id, threshold_expression, threshold_message)
+values (
+	(select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
+    '0.5 * max-server-speed * number-primary-servers',
+    'The provisioned access bandwidth is at or exceeds 50% of the total server capacity.');
+
+insert into RESOURCE_THRESHOLD (
+	resource_rule_id, threshold_expression, threshold_message)
+values (
+	(select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
+    '0.7 * max-server-speed * number-primary-servers',
+    'The provisioned access bandwidth is at or exceeds 70% of the total server capacity.');
+
+INSERT INTO RANGE_RULE (
+	range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+VALUES (
+	'subinterface-id', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 100, 3999);
+
+INSERT INTO RANGE_RULE (
+	range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+VALUES (
+	'vlan-id-inner', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 2, 4091);
+
+INSERT INTO RANGE_RULE (
+	range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+VALUES (
+	'bundle-id', 'L3AVPN-PORT', 'VPE-Cust', 'Port', 1, 99999);
+
+INSERT INTO MAX_PORT_SPEED (
+     image_file_name, end_point_position, interface_name, max_speed, unit)
+VALUES (
+     'JUNIPER_VPE_IMAGE_FILENAME', 'VPE-Cust', 'ae0', 5000, 'Mpbs');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 5, 1600, 'Mbps', 'Max speed, when there are <=5 EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 10, 1400, 'Mbps', 'Max speed, when there are 6 to 10 (including 10) EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 15, 1000, 'Mbps', 'Max speed, when there are 11 to 15 (including 15) EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 20, 700, 'Mbps', 'Max speed, when there are 16 to 20 (including 20) EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 10000, 500, 'Mbps', 'Max speed, when there are 21 or more EVC on server');
+
+INSERT INTO PARAMETERS (name, value, category, memo)
+VALUES ('homing.pserver.sparing.ratio', '1:1', 'homing',
+	'Ratio of primary to backup servers within any of the AIC sites. Used in RA to calculate the max allowed bw in an AIC site.');
+
-- 
cgit 1.2.3-korg


From 806052bf4df8bd023cfb391794bc5937f2624716 Mon Sep 17 00:00:00 2001
From: Marcus G K Williams <marcus.williams@intel.com>
Date: Wed, 2 Aug 2017 15:09:24 -0700
Subject: Convert tabs to spaces

Per Java Code Style Guide: https://wiki.onap.org/display/DW/Java+code+style
Converting tabs to 4 spaces.

Issue-Id: SDNC-25
Change-Id: I99ce6c244df72f805b52d0d66403d8b76d9929ae
Signed-off-by: Marcus G K Williams <marcus.williams@intel.com>
---
 aai-service/features/pom.xml                       |  276 +--
 .../features/src/main/resources/features.xml       |   22 +-
 aai-service/installer/pom.xml                      |  262 +--
 .../src/assembly/assemble_installer_zip.xml        |   60 +-
 .../src/assembly/assemble_mvnrepo_zip.xml          |   40 +-
 .../src/main/resources/scripts/install-feature.sh  |    6 +-
 mdsal-resource/features/pom.xml                    |  234 +--
 .../features/src/main/resources/features.xml       |    2 +-
 mdsal-resource/installer/pom.xml                   |  252 +--
 .../src/assembly/assemble_installer_zip.xml        |   60 +-
 .../src/assembly/assemble_mvnrepo_zip.xml          |   40 +-
 .../src/main/resources/scripts/install-feature.sh  |    6 +-
 mdsal-resource/pom.xml                             |   24 +-
 mdsal-resource/provider/pom.xml                    |  220 +--
 .../sdnc/sli/resource/mdsal/ConfigResource.java    |  160 +-
 .../sli/resource/mdsal/MdsalResourceActivator.java |   90 +-
 .../sli/resource/mdsal/OperationalResource.java    |  150 +-
 .../sdnc/sli/resource/mdsal/RestService.java       |  326 ++--
 .../provider/src/main/resources/crtables.sql       |    2 +-
 .../src/main/resources/svclogic.properties         |    2 +-
 pom.xml                                            |  228 +--
 resource-assignment/features/pom.xml               |  234 +--
 .../features/src/main/resources/features.xml       |    2 +-
 resource-assignment/installer/pom.xml              |  252 +--
 .../src/assembly/assemble_installer_zip.xml        |   60 +-
 .../src/assembly/assemble_mvnrepo_zip.xml          |   40 +-
 .../src/main/resources/scripts/install-feature.sh  |    8 +-
 resource-assignment/pom.xml                        |   32 +-
 resource-assignment/provider/pom.xml               |  214 ++-
 .../org/openecomp/sdnc/lock/comp/LockHelper.java   |   10 +-
 .../openecomp/sdnc/lock/comp/LockHelperImpl.java   |  264 +--
 .../sdnc/lock/comp/ResourceLockedException.java    |   26 +-
 .../sdnc/lock/comp/SynchronizedFunction.java       |   54 +-
 .../openecomp/sdnc/lock/dao/ResourceLockDao.java   |   16 +-
 .../sdnc/lock/dao/ResourceLockDaoImpl.java         |  156 +-
 .../org/openecomp/sdnc/lock/data/ResourceLock.java |   14 +-
 .../org/openecomp/sdnc/ra/ReleaseRequestType.java  |   36 +-
 .../org/openecomp/sdnc/ra/ReserveRequestType.java  |   32 +-
 .../org/openecomp/sdnc/ra/ResourceAllocator.java   | 1892 ++++++++++----------
 .../sdnc/ra/alloc/AffinityAllocationRule.java      |   62 +-
 .../openecomp/sdnc/ra/alloc/DbAllocationRule.java  |  218 +--
 .../sdnc/ra/alloc/ServingSiteAllocationRule.java   |   76 +-
 .../openecomp/sdnc/ra/alloc/VrfAllocationRule.java |  128 +-
 .../sdnc/ra/check/AnyVrfPresentCheck.java          |   62 +-
 .../openecomp/sdnc/ra/check/ExcludeVpeCheck.java   |   48 +-
 .../openecomp/sdnc/ra/check/HubWithRgCheck.java    |  138 +-
 .../org/openecomp/sdnc/ra/check/OneMVrfCheck.java  |  104 +-
 .../openecomp/sdnc/ra/check/ProvStatusCheck.java   |   30 +-
 .../openecomp/sdnc/ra/check/VlanSpeedCheck.java    |   32 +-
 .../org/openecomp/sdnc/ra/check/VpeLockCheck.java  |  148 +-
 .../org/openecomp/sdnc/ra/comp/AllocationRule.java |   18 +-
 .../sdnc/ra/comp/EndPointAllocationDefinition.java |   50 +-
 .../openecomp/sdnc/ra/comp/EndPointAllocator.java  |   14 +-
 .../sdnc/ra/comp/EndPointAllocatorImpl.java        |  336 ++--
 .../org/openecomp/sdnc/ra/comp/EndPointData.java   |   12 +-
 .../org/openecomp/sdnc/ra/comp/EquipmentCheck.java |   12 +-
 .../org/openecomp/sdnc/ra/comp/PreferenceRule.java |    6 +-
 .../org/openecomp/sdnc/ra/comp/ServiceData.java    |   18 +-
 .../sdnc/ra/equip/comp/EquipmentReader.java        |    4 +-
 .../org/openecomp/sdnc/ra/equip/dao/ServerDao.java |    4 +-
 .../openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java |   46 +-
 .../openecomp/sdnc/ra/equip/dao/VpePortDao.java    |    6 +-
 .../sdnc/ra/equip/dao/VpePortDaoImpl.java          |   74 +-
 .../openecomp/sdnc/ra/equip/dao/VplspePortDao.java |    4 +-
 .../sdnc/ra/equip/dao/VplspePortDaoImpl.java       |   58 +-
 .../sdnc/ra/equip/data/EquipmentData.java          |    8 +-
 .../sdnc/ra/equip/data/EquipmentLevel.java         |    4 +-
 .../openecomp/sdnc/ra/pref/AffinityLinkPref.java   |   76 +-
 .../openecomp/sdnc/ra/pref/EvcExistingVrfPref.java |   42 +-
 .../openecomp/sdnc/ra/reader/AicSiteReader.java    |   24 +-
 .../sdnc/ra/reader/UplinkCircuitReader.java        |   42 +-
 .../org/openecomp/sdnc/ra/reader/VnfReader.java    |   24 +-
 .../openecomp/sdnc/ra/reader/VpePortReader.java    |   60 +-
 .../ra/rule/comp/AllocationRequestBuilder.java     |   20 +-
 .../ra/rule/comp/AllocationRequestBuilderImpl.java |  250 +--
 .../sdnc/ra/rule/dao/MaxPortSpeedDao.java          |    6 +-
 .../sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java      |   78 +-
 .../sdnc/ra/rule/dao/MaxServerSpeedDao.java        |    6 +-
 .../sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java    |   80 +-
 .../openecomp/sdnc/ra/rule/dao/ParameterDao.java   |    4 +-
 .../sdnc/ra/rule/dao/ParameterDaoImpl.java         |   36 +-
 .../openecomp/sdnc/ra/rule/dao/RangeRuleDao.java   |    4 +-
 .../sdnc/ra/rule/dao/RangeRuleDaoImpl.java         |   58 +-
 .../sdnc/ra/rule/dao/ResourceRuleDao.java          |   14 +-
 .../sdnc/ra/rule/dao/ResourceRuleDaoImpl.java      |  160 +-
 .../org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java |    4 +-
 .../openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java |   26 +-
 .../org/openecomp/sdnc/ra/rule/data/RangeRule.java |   16 +-
 .../openecomp/sdnc/ra/rule/data/ResourceRule.java  |   24 +-
 .../sdnc/ra/rule/data/ResourceThreshold.java       |    6 +-
 .../sdnc/ra/rule/data/ThresholdStatus.java         |   14 +-
 .../sdnc/ra/service/dao/ServiceResourceDao.java    |   12 +-
 .../ra/service/dao/ServiceResourceDaoImpl.java     |  148 +-
 .../sdnc/ra/service/data/ServiceResource.java      |   14 +-
 .../sdnc/ra/service/data/ServiceStatus.java        |    4 +-
 .../openecomp/sdnc/rm/comp/AllocationFunction.java |  534 +++---
 .../openecomp/sdnc/rm/comp/ReleaseFunction.java    |   84 +-
 .../org/openecomp/sdnc/rm/comp/ResourceLoader.java |   12 +-
 .../openecomp/sdnc/rm/comp/ResourceManager.java    |   12 +-
 .../sdnc/rm/comp/ResourceManagerImpl.java          |  178 +-
 .../org/openecomp/sdnc/rm/dao/ResourceDao.java     |   12 +-
 .../openecomp/sdnc/rm/dao/jdbc/AllocationItem.java |   20 +-
 .../sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java    |   10 +-
 .../rm/dao/jdbc/AllocationItemJdbcDaoImpl.java     |  170 +-
 .../org/openecomp/sdnc/rm/dao/jdbc/Resource.java   |   14 +-
 .../sdnc/rm/dao/jdbc/ResourceDaoImpl.java          |  660 +++----
 .../sdnc/rm/dao/jdbc/ResourceJdbcDao.java          |   14 +-
 .../sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java      |  206 +--
 .../openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java   |   12 +-
 .../sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java      |   10 +-
 .../sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java  |  142 +-
 .../openecomp/sdnc/rm/data/AllocationAction.java   |    4 +-
 .../org/openecomp/sdnc/rm/data/AllocationItem.java |   16 +-
 .../openecomp/sdnc/rm/data/AllocationOutcome.java  |    6 +-
 .../openecomp/sdnc/rm/data/AllocationRequest.java  |   16 +-
 .../openecomp/sdnc/rm/data/AllocationStatus.java   |    4 +-
 .../org/openecomp/sdnc/rm/data/InitAction.java     |   18 +-
 .../sdnc/rm/data/LabelAllocationItem.java          |    4 +-
 .../sdnc/rm/data/LabelAllocationOutcome.java       |    6 +-
 .../sdnc/rm/data/LabelAllocationRequest.java       |    8 +-
 .../org/openecomp/sdnc/rm/data/LabelResource.java  |    8 +-
 .../sdnc/rm/data/LimitAllocationItem.java          |    4 +-
 .../sdnc/rm/data/LimitAllocationOutcome.java       |    8 +-
 .../sdnc/rm/data/LimitAllocationRequest.java       |   12 +-
 .../org/openecomp/sdnc/rm/data/LimitResource.java  |    4 +-
 .../sdnc/rm/data/MultiAssetAllocationOutcome.java  |    6 +-
 .../sdnc/rm/data/MultiAssetAllocationRequest.java  |   10 +-
 .../rm/data/MultiResourceAllocationOutcome.java    |    4 +-
 .../rm/data/MultiResourceAllocationRequest.java    |    6 +-
 .../sdnc/rm/data/RangeAllocationItem.java          |    4 +-
 .../sdnc/rm/data/RangeAllocationOutcome.java       |    6 +-
 .../sdnc/rm/data/RangeAllocationRequest.java       |   18 +-
 .../org/openecomp/sdnc/rm/data/RangeResource.java  |    4 +-
 .../java/org/openecomp/sdnc/rm/data/Resource.java  |   10 +-
 .../org/openecomp/sdnc/rm/data/ResourceKey.java    |   44 +-
 .../org/openecomp/sdnc/rm/data/ResourceLoad.java   |   10 +-
 .../org/openecomp/sdnc/rm/data/ResourceType.java   |    4 +-
 .../java/org/openecomp/sdnc/rm/util/LabelUtil.java |  104 +-
 .../java/org/openecomp/sdnc/rm/util/LimitUtil.java |  586 +++---
 .../java/org/openecomp/sdnc/rm/util/RangeUtil.java |  126 +-
 .../org/openecomp/sdnc/rm/util/ResourceUtil.java   |   32 +-
 .../sdnc/util/db/CachedDataSourceWrap.java         |  174 +-
 .../org/openecomp/sdnc/util/db/ConnectionWrap.java |  588 +++---
 .../org/openecomp/sdnc/util/db/DataSourceWrap.java |   96 +-
 .../sdnc/util/expr/ExpressionEvaluator.java        |  360 ++--
 .../org/openecomp/sdnc/util/speed/SpeedUtil.java   |   28 +-
 .../java/org/openecomp/sdnc/util/str/StrUtil.java  |  532 +++---
 .../java/org/openecomp/sdnc/util/vrf/VpnParam.java |   10 +-
 .../java/org/openecomp/sdnc/util/vrf/VrfUtil.java  |   84 +-
 .../spring/resource-assignment-context.xml         |  518 +++---
 .../spring/resource-assignment-osgi-context.xml    |   20 +-
 .../main/resources/sql/001_resource_rule_ddl.sql   |   20 +-
 .../main/resources/sql/002_max_port_speed_ddl.sql  |   14 +-
 .../resources/sql/003_max_server_speed_ddl.sql     |   12 +-
 .../jtest/org/openecomp/sdnc/ra/DataSetup.java     |  462 ++---
 .../org/openecomp/sdnc/ra/TestIsAvailable.java     |  708 ++++----
 .../jtest/org/openecomp/sdnc/ra/TestQuery.java     |   66 +-
 .../jtest/org/openecomp/sdnc/ra/TestRelease.java   |  574 +++---
 .../jtest/org/openecomp/sdnc/ra/TestReserve.java   | 1272 ++++++-------
 .../jtest/org/openecomp/sdnc/ra/TestReserve2.java  |   54 +-
 .../jtest/org/openecomp/sdnc/rm/DataSetup.java     |  152 +-
 .../jtest/util/org/openecomp/sdnc/ra/TestDb.java   |   16 +-
 .../util/org/openecomp/sdnc/ra/TestTable.java      |   94 +-
 .../provider/src/test/resources/homing-req.json    |   48 +-
 .../provider/src/test/resources/log4j.properties   |    2 +-
 .../provider/src/test/resources/sql/data.sql       |   40 +-
 .../provider/src/test/resources/sql/schema.sql     |  192 +-
 .../provider/src/test/resources/test-context.xml   |  546 +++---
 168 files changed, 9315 insertions(+), 9325 deletions(-)

(limited to 'resource-assignment/provider/src/test/resources/sql/data.sql')

diff --git a/aai-service/features/pom.xml b/aai-service/features/pom.xml
index 207113664..9259d6cd1 100755
--- a/aai-service/features/pom.xml
+++ b/aai-service/features/pom.xml
@@ -1,155 +1,155 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>aai-service</artifactId>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>aai-service-features</artifactId>
-	<name>AAI Interface Service - Features</name>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>aai-service</artifactId>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-service-features</artifactId>
+    <name>AAI Interface Service - Features</name>
 
-	<packaging>jar</packaging>
+    <packaging>jar</packaging>
 
-	<dependencies>
+    <dependencies>
 
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>aai-service-provider</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>aai-service-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-		<dependency>
-			<groupId>org.opendaylight.mdsal</groupId>
-			<artifactId>features-mdsal</artifactId>
-			<version>${odl.mdsal.features.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>features-mdsal</artifactId>
+            <version>${odl.mdsal.features.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
 
-			<scope>runtime</scope>
-		</dependency>
+            <scope>runtime</scope>
+        </dependency>
 
 
-		<!-- dependency for opendaylight-karaf-empty for use by testing -->
-		<dependency>
-			<groupId>org.opendaylight.odlparent</groupId>
-			<artifactId>opendaylight-karaf-empty</artifactId>
-			<version>${odl.karaf.empty.distro.version}</version>
-			<type>zip</type>
-		</dependency>
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <version>${odl.karaf.empty.distro.version}</version>
+            <type>zip</type>
+        </dependency>
 
 
-		<dependency>
-			<!-- Required for launching the feature tests -->
-			<groupId>org.opendaylight.odlparent</groupId>
-			<artifactId>features-test</artifactId>
-			<version>${odl.commons.opendaylight.version}</version>
-			<scope>test</scope>
-		</dependency>
+        <dependency>
+            <!-- Required for launching the feature tests -->
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-test</artifactId>
+            <version>${odl.commons.opendaylight.version}</version>
+            <scope>test</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.opendaylight.yangtools</groupId>
-			<artifactId>features-yangtools</artifactId>
-			<version>${odl.yangtools.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
-			<scope>runtime</scope>
-		</dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>features-yangtools</artifactId>
+            <version>${odl.yangtools.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>com.sun.jersey</groupId>
-			<artifactId>jersey-client</artifactId>
-			<version>1.17</version>
-		</dependency>
-		<dependency>
-			<groupId>com.sun.jersey</groupId>
-			<artifactId>jersey-core</artifactId>
-			<version>1.17</version>
-		</dependency>
-		<dependency>
-		    <groupId>commons-lang</groupId>
-		    <artifactId>commons-lang</artifactId>
-		    <version>2.6</version>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-databind</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-annotations</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.core</groupId>
-			<artifactId>jackson-core</artifactId>
-		</dependency>
-	</dependencies>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-client</artifactId>
+            <version>1.17</version>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.jersey</groupId>
+            <artifactId>jersey-core</artifactId>
+            <version>1.17</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+        </dependency>
+    </dependencies>
 
-	<build>
-		<resources>
-			<resource>
-				<filtering>true</filtering>
-				<directory>src/main/resources</directory>
-			</resource>
-		</resources>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-resources-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>filter</id>
-						<goals>
-							<goal>resources</goal>
-						</goals>
-						<phase>generate-resources</phase>
-					</execution>
-				</executions>
-			</plugin>
-					<!-- launches the feature test, which validates that your karaf feature
-					can be installed inside of a karaf container. It doesn't validate that your
-					functionality works correctly, just that you have all of the dependent bundles
-					defined correctly.
-			<plugin>
+    <build>
+        <resources>
+            <resource>
+                <filtering>true</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                    </execution>
+                </executions>
+            </plugin>
+                    <!-- launches the feature test, which validates that your karaf feature
+                    can be installed inside of a karaf container. It doesn't validate that your
+                    functionality works correctly, just that you have all of the dependent bundles
+                    defined correctly.
+            <plugin>
 
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.16</version>
-				<configuration>
-					<systemPropertyVariables>
-						<karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-						<karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-						<karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
-					</systemPropertyVariables>
-					<dependenciesToScan>
-						<dependency>org.opendaylight.yangtools:features-test</dependency>
-					</dependenciesToScan>
-				</configuration>
-			</plugin>
-			-->
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>attach-artifacts</id>
-						<goals>
-							<goal>attach-artifact</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<artifacts>
-								<artifact>
-									<file>${project.build.directory}/classes/${features.file}</file>
-									<type>xml</type>
-									<classifier>features</classifier>
-								</artifact>
-							</artifacts>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.16</version>
+                <configuration>
+                    <systemPropertyVariables>
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
+                        <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        <dependency>org.opendaylight.yangtools:features-test</dependency>
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+            -->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/aai-service/features/src/main/resources/features.xml b/aai-service/features/src/main/resources/features.xml
index 2f3ac734d..23ab99764 100644
--- a/aai-service/features/src/main/resources/features.xml
+++ b/aai-service/features/src/main/resources/features.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+                        reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -32,15 +32,15 @@
         <bundle>mvn:org.openecomp.sdnc.adaptors/aai-service-provider/${project.version}</bundle>
         <bundle>mvn:com.sun.jersey/jersey-client/${jersey.client.version}</bundle>
         <bundle>mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
-		<bundle>mvn:org.apache.httpcomponents/httpcore-osgi/${apache.httpcomponents.version}</bundle>
-		<bundle>mvn:org.apache.httpcomponents/httpclient-osgi/${apache.httpcomponents.version}</bundle>
-		<bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
-		<bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
-		<bundle>mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
-		<bundle>mvn:commons-lang/commons-lang/${commons.lang.version}</bundle>
-		<bundle>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version}</bundle>
-		<!--
-		<bundle>mvn:org.jvnet.jaxb2_commons/jaxb2-basics-runtime/${jvnet.jaxb2.version}</bundle>
-		-->
+        <bundle>mvn:org.apache.httpcomponents/httpcore-osgi/${apache.httpcomponents.version}</bundle>
+        <bundle>mvn:org.apache.httpcomponents/httpclient-osgi/${apache.httpcomponents.version}</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
+        <bundle>mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
+        <bundle>mvn:commons-lang/commons-lang/${commons.lang.version}</bundle>
+        <bundle>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version}</bundle>
+        <!--
+        <bundle>mvn:org.jvnet.jaxb2_commons/jaxb2-basics-runtime/${jvnet.jaxb2.version}</bundle>
+        -->
     </feature>
 </features>
diff --git a/aai-service/installer/pom.xml b/aai-service/installer/pom.xml
index 6668eca0a..91db2ca8b 100755
--- a/aai-service/installer/pom.xml
+++ b/aai-service/installer/pom.xml
@@ -1,144 +1,144 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>aai-service</artifactId>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>aai-service-installer</artifactId>
-	<name>AAI Adaptor - Karaf  Installer</name>
-	<packaging>pom</packaging>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>aai-service</artifactId>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-service-installer</artifactId>
+    <name>AAI Adaptor - Karaf  Installer</name>
+    <packaging>pom</packaging>
 
-	<properties>
-		<application.name>sdnc-aai-service</application.name>
-		<features.boot>sdnc-aai-service</features.boot>
-		<features.repositories>mvn:org.onap.ccsdk.sli.adaptors/aai-service-features/${project.version}/xml/features</features.repositories>
-		<include.transitive.dependencies>false</include.transitive.dependencies>
-	</properties>
+    <properties>
+        <application.name>sdnc-aai-service</application.name>
+        <features.boot>sdnc-aai-service</features.boot>
+        <features.repositories>mvn:org.onap.ccsdk.sli.adaptors/aai-service-features/${project.version}/xml/features</features.repositories>
+        <include.transitive.dependencies>false</include.transitive.dependencies>
+    </properties>
 
-	<dependencies>
+    <dependencies>
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>aai-service-features</artifactId>
-			<version>${project.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
-			<exclusions>
-				<exclusion>
-					<groupId>*</groupId>
-					<artifactId>*</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>aai-service-features</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>aai-service-provider</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>aai-service-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-		<dependency>
-			<groupId>org.jvnet.jaxb2_commons</groupId>
-			<artifactId>jaxb2-basics-runtime</artifactId>
-			<version>${jvnet.jaxb2.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.jvnet.jaxb2_commons</groupId>
+            <artifactId>jaxb2-basics-runtime</artifactId>
+            <version>${jvnet.jaxb2.version}</version>
+        </dependency>
 
-	</dependencies>
+    </dependencies>
 
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.6</version>
-				<executions>
-					<execution>
-						<id>maven-repo-zip</id>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<attach>false</attach>
-							<finalName>stage/${application.name}-${project.version}</finalName>
-							<descriptors>
-								<descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
-							</descriptors>
-							<appendAssemblyId>false</appendAssemblyId>
-						</configuration>
-					</execution>
-					<execution>
-						<id>installer-zip</id>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<attach>true</attach>
-							<finalName>${application.name}-${project.version}-installer</finalName>
-							<descriptors>
-								<descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
-							</descriptors>
-							<appendAssemblyId>false</appendAssemblyId>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-dependency-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>copy-dependencies</id>
-						<goals>
-							<goal>copy-dependencies</goal>
-						</goals>
-						<phase>prepare-package</phase>
-						<configuration>
-							<transitive>false</transitive>
-							<outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
-							<overWriteReleases>false</overWriteReleases>
-							<overWriteSnapshots>true</overWriteSnapshots>
-							<overWriteIfNewer>true</overWriteIfNewer>
-							<useRepositoryLayout>true</useRepositoryLayout>
-							<addParentPoms>false</addParentPoms>
-							<copyPom>false</copyPom>
-							<includeGroupIds>org.onap.ccsdk,org.jvnet.jaxb2_commons</includeGroupIds>
-							<excludeArtifactIds>sli-common,sli-provider,dblib-provider,dblib-common</excludeArtifactIds>
-							<scope>provided</scope>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<artifactId>maven-resources-plugin</artifactId>
-				<version>2.6</version>
-				<executions>
-					<execution>
-						<id>copy-version</id>
-						<goals>
-							<goal>copy-resources</goal>
-						</goals><!-- here the phase you need -->
-						<phase>validate</phase>
-						<configuration>
-							<outputDirectory>${basedir}/target/stage</outputDirectory>
-							<resources>
-								<resource>
-									<directory>src/main/resources/scripts</directory>
-									<includes>
-										<include>install-feature.sh</include>
-									</includes>
-									<filtering>true</filtering>
-								</resource>
-							</resources>
-						</configuration>
-					</execution>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>maven-repo-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>false</attach>
+                            <finalName>stage/${application.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>installer-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>true</attach>
+                            <finalName>${application.name}-${project.version}-installer</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <transitive>false</transitive>
+                            <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <useRepositoryLayout>true</useRepositoryLayout>
+                            <addParentPoms>false</addParentPoms>
+                            <copyPom>false</copyPom>
+                            <includeGroupIds>org.onap.ccsdk,org.jvnet.jaxb2_commons</includeGroupIds>
+                            <excludeArtifactIds>sli-common,sli-provider,dblib-provider,dblib-common</excludeArtifactIds>
+                            <scope>provided</scope>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-version</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>validate</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/stage</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/scripts</directory>
+                                    <includes>
+                                        <include>install-feature.sh</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
 
-				</executions>
-			</plugin>
+                </executions>
+            </plugin>
 
-		</plugins>
-	</build>
+        </plugins>
+    </build>
 
 </project>
diff --git a/aai-service/installer/src/assembly/assemble_installer_zip.xml b/aai-service/installer/src/assembly/assemble_installer_zip.xml
index e278872a1..5f32ff4ce 100644
--- a/aai-service/installer/src/assembly/assemble_installer_zip.xml
+++ b/aai-service/installer/src/assembly/assemble_installer_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+                        reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -22,37 +22,37 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>installer_zip</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>installer_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>755</fileMode>
-			<includes>
-				<include>*.sh</include>
-			</includes>
-		</fileSet>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>644</fileMode>
-			<excludes>
-				<exclude>*.sh</exclude>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>755</fileMode>
+            <includes>
+                <include>*.sh</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>644</fileMode>
+            <excludes>
+                <exclude>*.sh</exclude>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml b/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
index 1edacdb6d..6b7d23f89 100644
--- a/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+                        reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -22,27 +22,27 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>mvnrepo_zip</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>mvnrepo_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/assembly/</directory>
-			<outputDirectory>.</outputDirectory>
-			<excludes>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/aai-service/installer/src/main/resources/scripts/install-feature.sh b/aai-service/installer/src/main/resources/scripts/install-feature.sh
index 9a47d2225..214dbbe7e 100644
--- a/aai-service/installer/src/main/resources/scripts/install-feature.sh
+++ b/aai-service/installer/src/main/resources/scripts/install-feature.sh
@@ -30,10 +30,10 @@ REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip
 
 if [ -f ${REPOZIP} ]
 then
-	unzip -d ${ODL_HOME} ${REPOZIP}
+    unzip -d ${ODL_HOME} ${REPOZIP}
 else
-	echo "ERROR : repo zip ($REPOZIP) not found"
-	exit 1
+    echo "ERROR : repo zip ($REPOZIP) not found"
+    exit 1
 fi
 
 ${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
diff --git a/mdsal-resource/features/pom.xml b/mdsal-resource/features/pom.xml
index fbad6e210..140810ff9 100755
--- a/mdsal-resource/features/pom.xml
+++ b/mdsal-resource/features/pom.xml
@@ -1,134 +1,134 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>mdsal-resource</artifactId>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>mdsal-resource-features</artifactId>
-	<name>MD-SAL Resource Adaptor - Features</name>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>mdsal-resource</artifactId>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>mdsal-resource-features</artifactId>
+    <name>MD-SAL Resource Adaptor - Features</name>
 
-	<packaging>jar</packaging>
+    <packaging>jar</packaging>
 
-	<dependencies>
+    <dependencies>
 
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>mdsal-resource-provider</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>mdsal-resource-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-		<dependency>
-			<groupId>commons-lang</groupId>
-			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
-			<scope>compile</scope>
-		</dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+            <scope>compile</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.opendaylight.mdsal</groupId>
-			<artifactId>features-mdsal</artifactId>
-			<version>${odl.mdsal.features.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>features-mdsal</artifactId>
+            <version>${odl.mdsal.features.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
 
-			<scope>runtime</scope>
-		</dependency>
+            <scope>runtime</scope>
+        </dependency>
 
 
-		<!-- dependency for opendaylight-karaf-empty for use by testing -->
-		<dependency>
-			<groupId>org.opendaylight.odlparent</groupId>
-			<artifactId>opendaylight-karaf-empty</artifactId>
-			<version>${odl.karaf.empty.distro.version}</version>
-			<type>zip</type>
-		</dependency>
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <version>${odl.karaf.empty.distro.version}</version>
+            <type>zip</type>
+        </dependency>
 
 
-		<dependency>
-			<!-- Required for launching the feature tests -->
-			<groupId>org.opendaylight.odlparent</groupId>
-			<artifactId>features-test</artifactId>
-			<version>${odl.commons.opendaylight.version}</version>
-			<scope>test</scope>
-		</dependency>
+        <dependency>
+            <!-- Required for launching the feature tests -->
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-test</artifactId>
+            <version>${odl.commons.opendaylight.version}</version>
+            <scope>test</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.opendaylight.yangtools</groupId>
-			<artifactId>features-yangtools</artifactId>
-			<version>${odl.yangtools.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
-			<scope>runtime</scope>
-		</dependency>
-	</dependencies>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>features-yangtools</artifactId>
+            <version>${odl.yangtools.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+    </dependencies>
 
-	<build>
-		<resources>
-			<resource>
-				<filtering>true</filtering>
-				<directory>src/main/resources</directory>
-			</resource>
-		</resources>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-resources-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>filter</id>
-						<goals>
-							<goal>resources</goal>
-						</goals>
-						<phase>generate-resources</phase>
-					</execution>
-				</executions>
-			</plugin>
-					<!-- launches the feature test, which validates that your karaf feature
-					can be installed inside of a karaf container. It doesn't validate that your
-					functionality works correctly, just that you have all of the dependent bundles
-					defined correctly.
-			<plugin>
+    <build>
+        <resources>
+            <resource>
+                <filtering>true</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                    </execution>
+                </executions>
+            </plugin>
+                    <!-- launches the feature test, which validates that your karaf feature
+                    can be installed inside of a karaf container. It doesn't validate that your
+                    functionality works correctly, just that you have all of the dependent bundles
+                    defined correctly.
+            <plugin>
 
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.16</version>
-				<configuration>
-					<systemPropertyVariables>
-						<karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-						<karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-						<karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
-					</systemPropertyVariables>
-					<dependenciesToScan>
-						<dependency>org.opendaylight.yangtools:features-test</dependency>
-					</dependenciesToScan>
-				</configuration>
-			</plugin>
-			-->
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>attach-artifacts</id>
-						<goals>
-							<goal>attach-artifact</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<artifacts>
-								<artifact>
-									<file>${project.build.directory}/classes/${features.file}</file>
-									<type>xml</type>
-									<classifier>features</classifier>
-								</artifact>
-							</artifacts>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.16</version>
+                <configuration>
+                    <systemPropertyVariables>
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
+                        <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        <dependency>org.opendaylight.yangtools:features-test</dependency>
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+            -->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/mdsal-resource/features/src/main/resources/features.xml b/mdsal-resource/features/src/main/resources/features.xml
index 5f4a954b4..6ed0b1ebe 100644
--- a/mdsal-resource/features/src/main/resources/features.xml
+++ b/mdsal-resource/features/src/main/resources/features.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+                        reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
diff --git a/mdsal-resource/installer/pom.xml b/mdsal-resource/installer/pom.xml
index 0e52c1306..d636f8d91 100755
--- a/mdsal-resource/installer/pom.xml
+++ b/mdsal-resource/installer/pom.xml
@@ -1,138 +1,138 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>mdsal-resource</artifactId>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>mdsal-resource-installer</artifactId>
-	<name>MDSAL Resource - Karaf  Installer</name>
-	<packaging>pom</packaging>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>mdsal-resource</artifactId>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>mdsal-resource-installer</artifactId>
+    <name>MDSAL Resource - Karaf  Installer</name>
+    <packaging>pom</packaging>
 
-	<properties>
-		<application.name>sdnc-mdsal-resource</application.name>
-		<features.boot>sdnc-mdsal-resource</features.boot>
-		<features.repositories>mvn:org.onap.ccsdk.sli.adaptors/mdsal-resource-features/${project.version}/xml/features</features.repositories>
-		<include.transitive.dependencies>false</include.transitive.dependencies>
-	</properties>
+    <properties>
+        <application.name>sdnc-mdsal-resource</application.name>
+        <features.boot>sdnc-mdsal-resource</features.boot>
+        <features.repositories>mvn:org.onap.ccsdk.sli.adaptors/mdsal-resource-features/${project.version}/xml/features</features.repositories>
+        <include.transitive.dependencies>false</include.transitive.dependencies>
+    </properties>
 
-	<dependencies>
+    <dependencies>
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>mdsal-resource-features</artifactId>
-			<version>${project.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
-			<exclusions>
-				<exclusion>
-					<groupId>*</groupId>
-					<artifactId>*</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>mdsal-resource-features</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>mdsal-resource-provider</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>mdsal-resource-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-	</dependencies>
+    </dependencies>
 
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.6</version>
-				<executions>
-					<execution>
-						<id>maven-repo-zip</id>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<attach>false</attach>
-							<finalName>stage/${application.name}-${project.version}</finalName>
-							<descriptors>
-								<descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
-							</descriptors>
-							<appendAssemblyId>false</appendAssemblyId>
-						</configuration>
-					</execution>
-					<execution>
-						<id>installer-zip</id>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<attach>true</attach>
-							<finalName>${application.name}-${project.version}-installer</finalName>
-							<descriptors>
-								<descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
-							</descriptors>
-							<appendAssemblyId>false</appendAssemblyId>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-dependency-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>copy-dependencies</id>
-						<goals>
-							<goal>copy-dependencies</goal>
-						</goals>
-						<phase>prepare-package</phase>
-						<configuration>
-							<transitive>false</transitive>
-							<outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
-							<overWriteReleases>false</overWriteReleases>
-							<overWriteSnapshots>true</overWriteSnapshots>
-							<overWriteIfNewer>true</overWriteIfNewer>
-							<useRepositoryLayout>true</useRepositoryLayout>
-							<addParentPoms>false</addParentPoms>
-							<copyPom>false</copyPom>
-							<includeGroupIds>org.onap.ccsdk</includeGroupIds>
-							<excludeArtifactIds>sli-common,sli-provider,dblib-provider</excludeArtifactIds>
-							<scope>provided</scope>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<artifactId>maven-resources-plugin</artifactId>
-				<version>2.6</version>
-				<executions>
-					<execution>
-						<id>copy-version</id>
-						<goals>
-							<goal>copy-resources</goal>
-						</goals><!-- here the phase you need -->
-						<phase>validate</phase>
-						<configuration>
-							<outputDirectory>${basedir}/target/stage</outputDirectory>
-							<resources>
-								<resource>
-									<directory>src/main/resources/scripts</directory>
-									<includes>
-										<include>install-feature.sh</include>
-									</includes>
-									<filtering>true</filtering>
-								</resource>
-							</resources>
-						</configuration>
-					</execution>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>maven-repo-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>false</attach>
+                            <finalName>stage/${application.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>installer-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>true</attach>
+                            <finalName>${application.name}-${project.version}-installer</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <transitive>false</transitive>
+                            <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <useRepositoryLayout>true</useRepositoryLayout>
+                            <addParentPoms>false</addParentPoms>
+                            <copyPom>false</copyPom>
+                            <includeGroupIds>org.onap.ccsdk</includeGroupIds>
+                            <excludeArtifactIds>sli-common,sli-provider,dblib-provider</excludeArtifactIds>
+                            <scope>provided</scope>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-version</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>validate</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/stage</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/scripts</directory>
+                                    <includes>
+                                        <include>install-feature.sh</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
 
-				</executions>
-			</plugin>
+                </executions>
+            </plugin>
 
-		</plugins>
-	</build>
+        </plugins>
+    </build>
 
 </project>
diff --git a/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml b/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
index e278872a1..5f32ff4ce 100644
--- a/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
+++ b/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+                        reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -22,37 +22,37 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>installer_zip</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>installer_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>755</fileMode>
-			<includes>
-				<include>*.sh</include>
-			</includes>
-		</fileSet>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>644</fileMode>
-			<excludes>
-				<exclude>*.sh</exclude>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>755</fileMode>
+            <includes>
+                <include>*.sh</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>644</fileMode>
+            <excludes>
+                <exclude>*.sh</exclude>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml b/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
index 1edacdb6d..6b7d23f89 100644
--- a/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+                        reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -22,27 +22,27 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>mvnrepo_zip</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>mvnrepo_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/assembly/</directory>
-			<outputDirectory>.</outputDirectory>
-			<excludes>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh b/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
index 9a47d2225..214dbbe7e 100644
--- a/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
+++ b/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
@@ -30,10 +30,10 @@ REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip
 
 if [ -f ${REPOZIP} ]
 then
-	unzip -d ${ODL_HOME} ${REPOZIP}
+    unzip -d ${ODL_HOME} ${REPOZIP}
 else
-	echo "ERROR : repo zip ($REPOZIP) not found"
-	exit 1
+    echo "ERROR : repo zip ($REPOZIP) not found"
+    exit 1
 fi
 
 ${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
diff --git a/mdsal-resource/pom.xml b/mdsal-resource/pom.xml
index 4501edd14..a6f68b434 100755
--- a/mdsal-resource/pom.xml
+++ b/mdsal-resource/pom.xml
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<parent>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<artifactId>sdnc-adaptors</artifactId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <artifactId>sdnc-adaptors</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
 
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>pom</packaging>
-	<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-	<artifactId>mdsal-resource</artifactId>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
+    <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+    <artifactId>mdsal-resource</artifactId>
 
 
-	<name>MD-SAL Resource Adaptor</name>
-	<description>The MD-SAL resource adaptor allows service logic to access persistent data from MD-SAL config and operational trees</description>
+    <name>MD-SAL Resource Adaptor</name>
+    <description>The MD-SAL resource adaptor allows service logic to access persistent data from MD-SAL config and operational trees</description>
 
-	<version>0.0.1-SNAPSHOT</version>
+    <version>0.0.1-SNAPSHOT</version>
 
         <dependencyManagement>
 
diff --git a/mdsal-resource/provider/pom.xml b/mdsal-resource/provider/pom.xml
index 0092f6996..92dada640 100755
--- a/mdsal-resource/provider/pom.xml
+++ b/mdsal-resource/provider/pom.xml
@@ -1,122 +1,122 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<artifactId>mdsal-resource</artifactId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>mdsal-resource-provider</artifactId>
-	<packaging>bundle</packaging>
-	<name>MD-SAL Resource Adaptor - Provider</name>
-	<url>http://maven.apache.org</url>
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-	<dependencies>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <artifactId>mdsal-resource</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>mdsal-resource-provider</artifactId>
+    <packaging>bundle</packaging>
+    <name>MD-SAL Resource Adaptor - Provider</name>
+    <url>http://maven.apache.org</url>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
 
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.core</groupId>
-			<artifactId>sli-common</artifactId>
-			<version>${sdnctl.sli.version}</version>
-			<scope>compile</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.core</groupId>
-			<artifactId>sli-provider</artifactId>
-			<version>${sdnctl.sli.version}</version>
-			<scope>compile</scope>
-		</dependency>
-		<dependency>
-			<groupId>equinoxSDK381</groupId>
-			<artifactId>org.eclipse.osgi</artifactId>
-			<version>${equinox.osgi.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>${slf4j.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>jcl-over-slf4j</artifactId>
-			<version>${slf4j.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>commons-codec</groupId>
-			<artifactId>commons-codec</artifactId>
-			<version>${commons.codec.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-common</artifactId>
+            <version>${sdnctl.sli.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-provider</artifactId>
+            <version>${sdnctl.sli.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>equinoxSDK381</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+            <version>${equinox.osgi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>${commons.codec.version}</version>
+        </dependency>
 
-	</dependencies>
+    </dependencies>
 
-	<build>
-		<plugins>
+    <build>
+        <plugins>
 
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>${bundle.plugin.version}</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>org.openecomp.sdnc.sli.resource.mdsal</Bundle-SymbolicName>
-						<Bundle-Activator>org.openecomp.sdnc.sli.resource.mdsal.MdsalResourceActivator</Bundle-Activator>
-						<Export-Package>org.openecomp.sdnc.sli.resource.mdsal</Export-Package>
-						<Import-Package>org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.mysql.jdbc.*</Import-Package>
-						<!-- <Embed-Dependency>*;scope=compile|runtime;artifactId=!sli-common|org.eclipse.osgi|slf4j-api|jcl-over-slf4j|mysql-connector-java|xml-apis</Embed-Dependency> -->
-						<Import-Package>*</Import-Package>
-						<Embed-Transitive>true</Embed-Transitive>
-					</instructions>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>${bundle.plugin.version}</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>org.openecomp.sdnc.sli.resource.mdsal</Bundle-SymbolicName>
+                        <Bundle-Activator>org.openecomp.sdnc.sli.resource.mdsal.MdsalResourceActivator</Bundle-Activator>
+                        <Export-Package>org.openecomp.sdnc.sli.resource.mdsal</Export-Package>
+                        <Import-Package>org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.mysql.jdbc.*</Import-Package>
+                        <!-- <Embed-Dependency>*;scope=compile|runtime;artifactId=!sli-common|org.eclipse.osgi|slf4j-api|jcl-over-slf4j|mysql-connector-java|xml-apis</Embed-Dependency> -->
+                        <Import-Package>*</Import-Package>
+                        <Embed-Transitive>true</Embed-Transitive>
+                    </instructions>
 
 
-				</configuration>
+                </configuration>
 
-			</plugin>
+            </plugin>
 
 
-		</plugins>
-		<pluginManagement>
-			<plugins>
-				<!--This plugin's configuration is used to store Eclipse m2e settings
-					only. It has no influence on the Maven build itself. -->
-				<plugin>
-					<groupId>org.eclipse.m2e</groupId>
-					<artifactId>lifecycle-mapping</artifactId>
-					<version>1.0.0</version>
-					<configuration>
-						<lifecycleMappingMetadata>
-							<pluginExecutions>
-								<pluginExecution>
-									<pluginExecutionFilter>
-										<groupId>
-											com.brocade.developer
-										</groupId>
-										<artifactId>
-											providermodule-plugin
-										</artifactId>
-										<versionRange>
-											[1.2.0.100-SNAPSHOT,)
-										</versionRange>
-										<goals>
-											<goal>process</goal>
-										</goals>
-									</pluginExecutionFilter>
-									<action>
-										<ignore />
-									</action>
-								</pluginExecution>
-							</pluginExecutions>
-						</lifecycleMappingMetadata>
-					</configuration>
-				</plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings
+                    only. It has no influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            com.brocade.developer
+                                        </groupId>
+                                        <artifactId>
+                                            providermodule-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.2.0.100-SNAPSHOT,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>process</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
 </project>
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
index ed0ed0638..4a89ad8f6 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
@@ -33,118 +33,118 @@ import org.w3c.dom.Document;
 
 public class ConfigResource implements SvcLogicResource {
 
-	private static final Logger LOG = LoggerFactory.getLogger(ConfigResource.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ConfigResource.class);
 
-	private RestService restService;
+    private RestService restService;
 
-	public ConfigResource(String sdncProtocol, String sdncHost, String sdncPort, String sdncUser, String sdncPasswd)
-	{
-		restService = new RestService(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd, RestService.PayloadType.XML);
-	}
+    public ConfigResource(String sdncProtocol, String sdncHost, String sdncPort, String sdncUser, String sdncPasswd)
+    {
+        restService = new RestService(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd, RestService.PayloadType.XML);
+    }
 
-	@Override
-	public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
-	{
-		return(query(resource, false, null, key, prefix, null, null));
-	}
+    @Override
+    public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
+    {
+        return(query(resource, false, null, key, prefix, null, null));
+    }
 
-	@Override
-	public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
-	{
+    @Override
+    public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
+    {
 
-		return(query(resource, false, null, key, prefix, null, null));
+        return(query(resource, false, null, key, prefix, null, null));
 
-	}
+    }
 
-	@Override
-	public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
-			String orderBy, SvcLogicContext ctx) throws SvcLogicException {
+    @Override
+    public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
+            String orderBy, SvcLogicContext ctx) throws SvcLogicException {
 
 
-		String module = resource;
-		StringBuffer restQuery = new StringBuffer();
+        String module = resource;
+        StringBuffer restQuery = new StringBuffer();
 
-		String[] keyParts = key.split("/");
+        String[] keyParts = key.split("/");
 
-		for (String keyPart : keyParts) {
-			if (restQuery.length() > 0) {
-				restQuery.append("/");
-			}
-			if (keyPart.startsWith("$")) {
+        for (String keyPart : keyParts) {
+            if (restQuery.length() > 0) {
+                restQuery.append("/");
+            }
+            if (keyPart.startsWith("$")) {
 
-				restQuery.append(ctx.resolve(keyPart.substring(1)));
-			} else {
-				restQuery.append(keyPart);
-			}
-		}
+                restQuery.append(ctx.resolve(keyPart.substring(1)));
+            } else {
+                restQuery.append(keyPart);
+            }
+        }
 
-		String restQueryStr = restQuery.toString();
-		if ((restQueryStr.startsWith("'") && restQueryStr.endsWith("'")) ||
-				(restQueryStr.startsWith("\"") && restQueryStr.endsWith("\""))) {
-			restQueryStr = restQueryStr.substring(1, restQueryStr.length()-1);
-		}
+        String restQueryStr = restQuery.toString();
+        if ((restQueryStr.startsWith("'") && restQueryStr.endsWith("'")) ||
+                (restQueryStr.startsWith("\"") && restQueryStr.endsWith("\""))) {
+            restQueryStr = restQueryStr.substring(1, restQueryStr.length()-1);
+        }
 
-		String urlString = "restconf/config/" + module + ":" + restQueryStr;
+        String urlString = "restconf/config/" + module + ":" + restQueryStr;
 
                 LOG.info("Querying resource: " + resource + ". At URL: " + urlString);
 
-		Document results = restService.get(urlString);
+        Document results = restService.get(urlString);
 
 
-		if (results == null) {
-			return(QueryStatus.NOT_FOUND);
-		} else {
+        if (results == null) {
+            return(QueryStatus.NOT_FOUND);
+        } else {
 
-			if (ctx != null) {
-				ctx.mergeDocument(prefix, results);
-			}
-			return(QueryStatus.SUCCESS);
-		}
+            if (ctx != null) {
+                ctx.mergeDocument(prefix, results);
+            }
+            return(QueryStatus.SUCCESS);
+        }
 
-	}
+    }
 
-	@Override
-	public QueryStatus reserve(String resource, String select, String key, String prefix,
-			SvcLogicContext ctx) throws SvcLogicException {
+    @Override
+    public QueryStatus reserve(String resource, String select, String key, String prefix,
+            SvcLogicContext ctx) throws SvcLogicException {
 
 
-		return(QueryStatus.SUCCESS);
+        return(QueryStatus.SUCCESS);
 
-	}
+    }
 
-	@Override
-	public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
+    @Override
+    public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
 
-		return(QueryStatus.SUCCESS);
-	}
+        return(QueryStatus.SUCCESS);
+    }
 
-	@Override
-	public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2)
-			throws SvcLogicException {
-		// TODO Auto-generated method stub
-		return(QueryStatus.SUCCESS);
-	}
+    @Override
+    public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2)
+            throws SvcLogicException {
+        // TODO Auto-generated method stub
+        return(QueryStatus.SUCCESS);
+    }
 
-	@Override
-	public QueryStatus save(String arg0, boolean arg1, boolean localOnly, String arg2,
-			Map<String, String> arg3, String arg4, SvcLogicContext arg5)
-			throws SvcLogicException {
-		// TODO Auto-generated method stub
-		return(QueryStatus.SUCCESS);
-	}
+    @Override
+    public QueryStatus save(String arg0, boolean arg1, boolean localOnly, String arg2,
+            Map<String, String> arg3, String arg4, SvcLogicContext arg5)
+            throws SvcLogicException {
+        // TODO Auto-generated method stub
+        return(QueryStatus.SUCCESS);
+    }
 
-	@Override
-	public QueryStatus notify(String resource, String action, String key,
-			SvcLogicContext ctx) throws SvcLogicException {
-		return(QueryStatus.SUCCESS);
-	}
+    @Override
+    public QueryStatus notify(String resource, String action, String key,
+            SvcLogicContext ctx) throws SvcLogicException {
+        return(QueryStatus.SUCCESS);
+    }
 
 
-	public QueryStatus update(String resource, String key,
-			Map<String, String> parms, String prefix, SvcLogicContext ctx)
-			throws SvcLogicException {
-		return(QueryStatus.SUCCESS);
-	}
+    public QueryStatus update(String resource, String key,
+            Map<String, String> parms, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        return(QueryStatus.SUCCESS);
+    }
 
 
 
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
index ea0bab263..9be03e9d4 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
@@ -38,69 +38,69 @@ public class MdsalResourceActivator implements BundleActivator {
 
 
 
-	private static final String SDNC_CONFIG_DIR = "SDNC_CONFIG_DIR";
+    private static final String SDNC_CONFIG_DIR = "SDNC_CONFIG_DIR";
 
-	public LinkedList<ServiceRegistration> registrations = new LinkedList<ServiceRegistration>();
+    public LinkedList<ServiceRegistration> registrations = new LinkedList<ServiceRegistration>();
 
-	private static final Logger LOG = LoggerFactory
-			.getLogger(MdsalResourceActivator.class);
+    private static final Logger LOG = LoggerFactory
+            .getLogger(MdsalResourceActivator.class);
 
-	@Override
-	public void start(BundleContext ctx) throws Exception {
+    @Override
+    public void start(BundleContext ctx) throws Exception {
 
-		// Read properties
-		Properties props = new Properties();
+        // Read properties
+        Properties props = new Properties();
 
-		String propDir = System.getenv(SDNC_CONFIG_DIR);
-		if (propDir == null) {
+        String propDir = System.getenv(SDNC_CONFIG_DIR);
+        if (propDir == null) {
 
-			propDir = "/opt/sdnc/data/properties";
-		}
-		String propPath = propDir + "/mdsal-resource.properties";
+            propDir = "/opt/sdnc/data/properties";
+        }
+        String propPath = propDir + "/mdsal-resource.properties";
 
 
-		File propFile = new File(propPath);
+        File propFile = new File(propPath);
 
-		if (!propFile.exists()) {
+        if (!propFile.exists()) {
 
-			throw new ConfigurationException(
-					"Missing configuration properties file : "
-							+ propFile);
-		}
-		try {
+            throw new ConfigurationException(
+                    "Missing configuration properties file : "
+                            + propFile);
+        }
+        try {
 
-			props.load(new FileInputStream(propFile));
-		} catch (Exception e) {
-			throw new ConfigurationException(
-					"Could not load properties file " + propPath, e);
+            props.load(new FileInputStream(propFile));
+        } catch (Exception e) {
+            throw new ConfigurationException(
+                    "Could not load properties file " + propPath, e);
 
-		}
+        }
 
-		String sdncUser = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-user", "admin");
-		String sdncPasswd = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-passwd", "admin");
-		String sdncHost = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-host", "localhost");
-		String sdncProtocol = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-protocol", "https");
-		String sdncPort = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-port", "8443");
+        String sdncUser = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-user", "admin");
+        String sdncPasswd = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-passwd", "admin");
+        String sdncHost = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-host", "localhost");
+        String sdncProtocol = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-protocol", "https");
+        String sdncPort = props.getProperty("org.openecomp.sdnc.sli.resource.mdsal.sdnc-port", "8443");
 
-		// Advertise MD-SAL resource adaptors
-		SvcLogicResource impl = new ConfigResource(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd);
+        // Advertise MD-SAL resource adaptors
+        SvcLogicResource impl = new ConfigResource(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd);
 
-		LOG.debug("Registering MdsalResource service "+impl.getClass().getName());
-		registrations.add(ctx.registerService(impl.getClass().getName(), impl, null));
+        LOG.debug("Registering MdsalResource service "+impl.getClass().getName());
+        registrations.add(ctx.registerService(impl.getClass().getName(), impl, null));
 
-		impl = new OperationalResource(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd);
+        impl = new OperationalResource(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd);
 
-		LOG.debug("Registering MdsalResource service "+impl.getClass().getName());
-		registrations.add(ctx.registerService(impl.getClass().getName(), impl, null));
-	}
+        LOG.debug("Registering MdsalResource service "+impl.getClass().getName());
+        registrations.add(ctx.registerService(impl.getClass().getName(), impl, null));
+    }
 
-	@Override
-	public void stop(BundleContext ctx) throws Exception {
+    @Override
+    public void stop(BundleContext ctx) throws Exception {
 
-		for (ServiceRegistration registration : registrations)
-		{
-			registration.unregister();
-		}
-	}
+        for (ServiceRegistration registration : registrations)
+        {
+            registration.unregister();
+        }
+    }
 
 }
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
index 32323e3b1..9374d2ab4 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
@@ -33,52 +33,52 @@ import org.w3c.dom.Document;
 
 public class OperationalResource implements SvcLogicResource {
 
-	private static final Logger LOG = LoggerFactory.getLogger(OperationalResource.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OperationalResource.class);
 
-	private RestService restService;
+    private RestService restService;
 
-	public OperationalResource(String sdncProtocol, String sdncHost, String sdncPort, String sdncUser, String sdncPasswd)
-	{
-		restService = new RestService(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd, RestService.PayloadType.XML);
+    public OperationalResource(String sdncProtocol, String sdncHost, String sdncPort, String sdncUser, String sdncPasswd)
+    {
+        restService = new RestService(sdncProtocol, sdncHost, sdncPort, sdncUser, sdncPasswd, RestService.PayloadType.XML);
 
 
-	}
+    }
 
-	@Override
-	public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
-	{
-		return(query(resource, false, null, key, prefix, null, null));
-	}
+    @Override
+    public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
+    {
+        return(query(resource, false, null, key, prefix, null, null));
+    }
 
-	@Override
-	public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
-	{
+    @Override
+    public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx) throws SvcLogicException
+    {
 
-		return(query(resource, false, null, key, prefix, null, null));
+        return(query(resource, false, null, key, prefix, null, null));
 
-	}
+    }
 
-	@Override
-	public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
-			String orderBy, SvcLogicContext ctx) throws SvcLogicException {
+    @Override
+    public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
+            String orderBy, SvcLogicContext ctx) throws SvcLogicException {
 
 
-		String module = resource;
-		StringBuffer restQuery = new StringBuffer();
+        String module = resource;
+        StringBuffer restQuery = new StringBuffer();
 
-		String[] keyParts = key.split("/");
+        String[] keyParts = key.split("/");
 
-		for (String keyPart : keyParts) {
-			if (restQuery.length() > 0) {
-				restQuery.append("/");
-			}
-			if (keyPart.startsWith("$")) {
+        for (String keyPart : keyParts) {
+            if (restQuery.length() > 0) {
+                restQuery.append("/");
+            }
+            if (keyPart.startsWith("$")) {
 
-				restQuery.append(ctx.resolve(keyPart.substring(1)));
-			} else {
-				restQuery.append(keyPart);
-			}
-		}
+                restQuery.append(ctx.resolve(keyPart.substring(1)));
+            } else {
+                restQuery.append(keyPart);
+            }
+        }
 
         String restQueryStr = restQuery.toString();
         if ((restQueryStr.startsWith("'") && restQueryStr.endsWith("'")) ||
@@ -86,66 +86,66 @@ public class OperationalResource implements SvcLogicResource {
             restQueryStr = restQueryStr.substring(1, restQueryStr.length()-1);
         }
 
-		String urlString = "restconf/operational/" + module + ":" + restQueryStr;
+        String urlString = "restconf/operational/" + module + ":" + restQueryStr;
 
                 LOG.info("Querying resource: " + resource + ". At URL: " + urlString);
 
-		Document results = restService.get(urlString);
+        Document results = restService.get(urlString);
 
 
-		if (results == null) {
-			return(QueryStatus.NOT_FOUND);
-		} else {
+        if (results == null) {
+            return(QueryStatus.NOT_FOUND);
+        } else {
 
-			if (ctx != null) {
-				ctx.mergeDocument(prefix, results);
-			}
-			return(QueryStatus.SUCCESS);
-		}
+            if (ctx != null) {
+                ctx.mergeDocument(prefix, results);
+            }
+            return(QueryStatus.SUCCESS);
+        }
 
-	}
+    }
 
-	@Override
-	public QueryStatus reserve(String resource, String select, String key, String prefix,
-			SvcLogicContext ctx) throws SvcLogicException {
+    @Override
+    public QueryStatus reserve(String resource, String select, String key, String prefix,
+            SvcLogicContext ctx) throws SvcLogicException {
 
 
-		return(QueryStatus.SUCCESS);
+        return(QueryStatus.SUCCESS);
 
-	}
+    }
 
-	@Override
-	public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
+    @Override
+    public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
 
-		return(QueryStatus.SUCCESS);
-	}
+        return(QueryStatus.SUCCESS);
+    }
 
-	@Override
-	public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2)
-			throws SvcLogicException {
-		// TODO Auto-generated method stub
-		return(QueryStatus.SUCCESS);
-	}
+    @Override
+    public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2)
+            throws SvcLogicException {
+        // TODO Auto-generated method stub
+        return(QueryStatus.SUCCESS);
+    }
 
-	@Override
-	public QueryStatus save(String arg0, boolean arg1, boolean localOnly, String arg2,
-			Map<String, String> arg3, String arg4, SvcLogicContext arg5)
-			throws SvcLogicException {
-		// TODO Auto-generated method stub
-		return(QueryStatus.SUCCESS);
-	}
+    @Override
+    public QueryStatus save(String arg0, boolean arg1, boolean localOnly, String arg2,
+            Map<String, String> arg3, String arg4, SvcLogicContext arg5)
+            throws SvcLogicException {
+        // TODO Auto-generated method stub
+        return(QueryStatus.SUCCESS);
+    }
 
-	@Override
-	public QueryStatus notify(String resource, String action, String key,
-			SvcLogicContext ctx) throws SvcLogicException {
-		return(QueryStatus.SUCCESS);
-	}
+    @Override
+    public QueryStatus notify(String resource, String action, String key,
+            SvcLogicContext ctx) throws SvcLogicException {
+        return(QueryStatus.SUCCESS);
+    }
 
-	public QueryStatus update(String resource, String key,
-			Map<String, String> parms, String prefix, SvcLogicContext ctx)
-			throws SvcLogicException {
-		return(QueryStatus.SUCCESS);
-	}
+    public QueryStatus update(String resource, String key,
+            Map<String, String> parms, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        return(QueryStatus.SUCCESS);
+    }
 
 
 }
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
index 21d3439d4..a7b77e5bd 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
@@ -46,167 +46,167 @@ import org.w3c.dom.Document;
 
 
 public class RestService {
-	
-	private static final Logger LOG = LoggerFactory.getLogger(ConfigResource.class);
-	
-	public enum PayloadType {
-		XML,
-		JSON
-	}
-	
-	private class SdncAuthenticator extends Authenticator {
-		
-		private String user;
-		private String passwd;
-
-		SdncAuthenticator(String user, String passwd) {
-			this.user = user;
-			this.passwd = passwd;
-		}
-		@Override
-		protected PasswordAuthentication getPasswordAuthentication() {
-			return new PasswordAuthentication(user, passwd.toCharArray());
-		}
-		
-	}
-	
-	private String user;
-	private String passwd;
-	private PayloadType payloadType;
-
-	private String protocol;
-	private String host;
-	private String port;
-	
-	public RestService(String protocol, String host, String port, String user, String passwd, PayloadType payloadType) {
-		this.protocol = protocol;
-		this.host = host;
-		this.port = port;
-		this.user = user;
-		this.passwd = passwd;
-		this.payloadType = payloadType;
-	}
-	
-	private HttpURLConnection getRestConnection(String urlString, String method) throws IOException
-	{
-		
-		URL sdncUrl = new URL(urlString);
-		Authenticator.setDefault(new SdncAuthenticator(user, passwd));
-		
-		HttpURLConnection conn = (HttpURLConnection) sdncUrl.openConnection();
-		
-		String authStr = user+":"+passwd;
-		String encodedAuthStr = new String(Base64.encodeBase64(authStr.getBytes()));
-		
-		conn.addRequestProperty("Authentication", "Basic "+encodedAuthStr);
-		
-		conn.setRequestMethod(method);
-		
-		if (payloadType == PayloadType.XML) {
-			conn.setRequestProperty("Content-Type", "application/xml");
-			conn.setRequestProperty("Accept", "application/xml");
-		} else {
-
-			conn.setRequestProperty("Content-Type", "application/json");
-			conn.setRequestProperty("Accept", "application/json");
-		}
-		
-		conn.setDoInput(true);
-		conn.setDoOutput(true);
-		conn.setUseCaches(false);
-		
-		return(conn);
-		
-	}
-	
-
-	private Document send(String urlString, byte[] msgBytes, String method) {
-		Document response = null;
-		String fullUrl = protocol + "://" + host + ":" + port + "/" + urlString;
-		LOG.info("Sending REST "+method +" to "+fullUrl);
-		
-		if (msgBytes != null) {
-			LOG.info("Message body:\n"+msgBytes);
-		}
-		
-		try {
-			HttpURLConnection conn = getRestConnection(fullUrl, method);
-
-			if (conn instanceof HttpsURLConnection) {
-				HostnameVerifier hostnameVerifier = new HostnameVerifier() {
-					@Override
-					public boolean verify(String hostname, SSLSession session) {
-						return true;
-					}
-				};
-				((HttpsURLConnection)conn).setHostnameVerifier(hostnameVerifier);
-			}
-
-			// Write message
-			if (msgBytes != null) {
-				conn.setRequestProperty("Content-Length", ""+msgBytes.length);
-				DataOutputStream outStr = new DataOutputStream(conn.getOutputStream());
-				outStr.write(msgBytes);
-				outStr.close();
-			} else {
-				conn.setRequestProperty("Content-Length", "0");
-			}
-
-
-			// Read response
-			BufferedReader respRdr;
-			
-			LOG.info("Response: "+conn.getResponseCode()+" "+conn.getResponseMessage());
-			
-
-			if (conn.getResponseCode() < 300) {
-
-				respRdr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
-			} else {
-				respRdr = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
-			}
-
-			StringBuffer respBuff = new StringBuffer();
-
-			String respLn;
-
-			while ((respLn = respRdr.readLine()) != null) {
-				respBuff.append(respLn+"\n");
-			}
-			respRdr.close();
-
-			String respString = respBuff.toString();
-
-			LOG.info("Response body :\n"+respString);
-
-			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-			DocumentBuilder db = dbf.newDocumentBuilder();
-
-
-			response = db.parse(new ByteArrayInputStream(respString.getBytes()));
-
-		} catch (Exception e) {
-
-			LOG.error("Caught exception executing REST command", e);
-		}
-		
-		return (response);
-	}
-
-	
-	public Document get(String urlString) {
-		return(send(urlString, null, "GET"));
-	}
-	
-	public Document delete(String urlString) {
-		return(send(urlString, null, "DELETE"));
-	}
-	
-	public Document post(String urlString, byte[] msgBytes) {
-		return(send(urlString, msgBytes, "POST"));
-	}
-
-	public Document put(String urlString, byte[] msgBytes) {
-		return(send(urlString, msgBytes, "PUT"));
-	}
+
+    private static final Logger LOG = LoggerFactory.getLogger(ConfigResource.class);
+
+    public enum PayloadType {
+        XML,
+        JSON
+    }
+
+    private class SdncAuthenticator extends Authenticator {
+
+        private String user;
+        private String passwd;
+
+        SdncAuthenticator(String user, String passwd) {
+            this.user = user;
+            this.passwd = passwd;
+        }
+        @Override
+        protected PasswordAuthentication getPasswordAuthentication() {
+            return new PasswordAuthentication(user, passwd.toCharArray());
+        }
+
+    }
+
+    private String user;
+    private String passwd;
+    private PayloadType payloadType;
+
+    private String protocol;
+    private String host;
+    private String port;
+
+    public RestService(String protocol, String host, String port, String user, String passwd, PayloadType payloadType) {
+        this.protocol = protocol;
+        this.host = host;
+        this.port = port;
+        this.user = user;
+        this.passwd = passwd;
+        this.payloadType = payloadType;
+    }
+
+    private HttpURLConnection getRestConnection(String urlString, String method) throws IOException
+    {
+
+        URL sdncUrl = new URL(urlString);
+        Authenticator.setDefault(new SdncAuthenticator(user, passwd));
+
+        HttpURLConnection conn = (HttpURLConnection) sdncUrl.openConnection();
+
+        String authStr = user+":"+passwd;
+        String encodedAuthStr = new String(Base64.encodeBase64(authStr.getBytes()));
+
+        conn.addRequestProperty("Authentication", "Basic "+encodedAuthStr);
+
+        conn.setRequestMethod(method);
+
+        if (payloadType == PayloadType.XML) {
+            conn.setRequestProperty("Content-Type", "application/xml");
+            conn.setRequestProperty("Accept", "application/xml");
+        } else {
+
+            conn.setRequestProperty("Content-Type", "application/json");
+            conn.setRequestProperty("Accept", "application/json");
+        }
+
+        conn.setDoInput(true);
+        conn.setDoOutput(true);
+        conn.setUseCaches(false);
+
+        return(conn);
+
+    }
+
+
+    private Document send(String urlString, byte[] msgBytes, String method) {
+        Document response = null;
+        String fullUrl = protocol + "://" + host + ":" + port + "/" + urlString;
+        LOG.info("Sending REST "+method +" to "+fullUrl);
+
+        if (msgBytes != null) {
+            LOG.info("Message body:\n"+msgBytes);
+        }
+
+        try {
+            HttpURLConnection conn = getRestConnection(fullUrl, method);
+
+            if (conn instanceof HttpsURLConnection) {
+                HostnameVerifier hostnameVerifier = new HostnameVerifier() {
+                    @Override
+                    public boolean verify(String hostname, SSLSession session) {
+                        return true;
+                    }
+                };
+                ((HttpsURLConnection)conn).setHostnameVerifier(hostnameVerifier);
+            }
+
+            // Write message
+            if (msgBytes != null) {
+                conn.setRequestProperty("Content-Length", ""+msgBytes.length);
+                DataOutputStream outStr = new DataOutputStream(conn.getOutputStream());
+                outStr.write(msgBytes);
+                outStr.close();
+            } else {
+                conn.setRequestProperty("Content-Length", "0");
+            }
+
+
+            // Read response
+            BufferedReader respRdr;
+
+            LOG.info("Response: "+conn.getResponseCode()+" "+conn.getResponseMessage());
+
+
+            if (conn.getResponseCode() < 300) {
+
+                respRdr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
+            } else {
+                respRdr = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
+            }
+
+            StringBuffer respBuff = new StringBuffer();
+
+            String respLn;
+
+            while ((respLn = respRdr.readLine()) != null) {
+                respBuff.append(respLn+"\n");
+            }
+            respRdr.close();
+
+            String respString = respBuff.toString();
+
+            LOG.info("Response body :\n"+respString);
+
+            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+            DocumentBuilder db = dbf.newDocumentBuilder();
+
+
+            response = db.parse(new ByteArrayInputStream(respString.getBytes()));
+
+        } catch (Exception e) {
+
+            LOG.error("Caught exception executing REST command", e);
+        }
+
+        return (response);
+    }
+
+
+    public Document get(String urlString) {
+        return(send(urlString, null, "GET"));
+    }
+
+    public Document delete(String urlString) {
+        return(send(urlString, null, "DELETE"));
+    }
+
+    public Document post(String urlString, byte[] msgBytes) {
+        return(send(urlString, msgBytes, "POST"));
+    }
+
+    public Document put(String urlString, byte[] msgBytes) {
+        return(send(urlString, msgBytes, "PUT"));
+    }
 }
diff --git a/mdsal-resource/provider/src/main/resources/crtables.sql b/mdsal-resource/provider/src/main/resources/crtables.sql
index a5dea5bf0..f8f57166e 100644
--- a/mdsal-resource/provider/src/main/resources/crtables.sql
+++ b/mdsal-resource/provider/src/main/resources/crtables.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- 						reserved.
+-- reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
diff --git a/mdsal-resource/provider/src/main/resources/svclogic.properties b/mdsal-resource/provider/src/main/resources/svclogic.properties
index 1a2cf0c78..e113161e8 100644
--- a/mdsal-resource/provider/src/main/resources/svclogic.properties
+++ b/mdsal-resource/provider/src/main/resources/svclogic.properties
@@ -3,7 +3,7 @@
 # openECOMP : SDN-C
 # ================================================================================
 # Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/pom.xml b/pom.xml
index a50a21429..e387445de 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1,119 +1,119 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-	<parent>
-		<groupId>org.onap.ccsdk.parent</groupId>
-		<artifactId>odlparent-boron-sr3</artifactId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>pom</packaging>
-	<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-	<artifactId>sdnc-adaptors</artifactId>
-
-	<name>SDN-C Adaptors</name>
-	<url>https://wiki.openecomp.org</url>
-	<description>The SDN-C core components contains the SLI, dblib and root pom</description>
-
-
-	<issueManagement>
-		<system>JIRA</system>
-		<url>https://jira.openecomp.org/</url>
-	</issueManagement>
-
-
-	<scm>
-		<connection>scm:git:ssh://git@${openecomp.git.host}/sdnc-adaptors.git</connection>
-		<developerConnection>scm:git:ssh://${openecomp.git.host}:${openecomp.git.port}/${openecomp.git.project}/sdnc-adaptors.git</developerConnection>
-		<url>${openecomp.git.protocol}://${openecomp.git.host}/projects/${openecomp.git.project}/repos/sdnc-adaptors/browse</url>
-	</scm>
-
-	<ciManagement>
-		<system>Jenkins</system>
-		<url>https://jenkins.openecomp.org/</url>
-	</ciManagement>
-
-	<distributionManagement>
-		<site>
-			<id>sdnc-javadoc</id>
-			<url>dav:https://${openecomp.nexus.host}/content/sites/site/org/onap/sdnc/adaptors/${project.artifactId}/${project.version}</url>
-		</site>
-	</distributionManagement>
-
-	<profiles>
-		<profile>
-			<id>blackduck</id>
-			<activation>
-				<property>
-					<name>blackduck-scan</name>
-				</property>
-			</activation>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>com.blackducksoftware.integration</groupId>
-						<artifactId>hub-maven-plugin</artifactId>
-						<version>1.4.0</version>
-						<inherited>false</inherited>
-						<configuration>
-							<hubProjectName>${project.name}</hubProjectName>
-							<outputDirectory>${project.basedir}</outputDirectory>
-						</configuration>
-						<executions>
-							<execution>
-								<id>create-bdio-file</id>
-								<phase>package</phase>
-								<goals>
-									<goal>createHubOutput</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-
-
-			</build>
-
-		</profile>
-
-	</profiles>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.17</version>
-				<configuration>
-					<skipTests>true</skipTests>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.sonatype.plugins</groupId>
-				<artifactId>nexus-staging-maven-plugin</artifactId>
-				<version>1.6.7</version>
-				<extensions>true</extensions>
-				<configuration>
-					<nexusUrl>https://${openecomp.nexus.host}</nexusUrl>
-					<stagingProfileId>${openecomp.nexus.staging.profile-id}</stagingProfileId>
-					<serverId>${openecomp.nexus.staging.server-id}</serverId>
-				</configuration>
-			</plugin>
-		</plugins>
-
-	</build>
-	<modules>
-		<module>aai-service</module>
-		<module>mdsal-resource</module>
-		<module>resource-assignment</module>
-		<module>sql-resource</module>
-	</modules>
-	<organization>
-		<name>OpenECOMP</name>
-	</organization>
-	<version>0.0.1-SNAPSHOT</version>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.onap.ccsdk.parent</groupId>
+        <artifactId>odlparent-boron-sr3</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
+    <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+    <artifactId>sdnc-adaptors</artifactId>
+
+    <name>SDN-C Adaptors</name>
+    <url>https://wiki.openecomp.org</url>
+    <description>The SDN-C core components contains the SLI, dblib and root pom</description>
+
+
+    <issueManagement>
+        <system>JIRA</system>
+        <url>https://jira.openecomp.org/</url>
+    </issueManagement>
+
+
+    <scm>
+        <connection>scm:git:ssh://git@${openecomp.git.host}/sdnc-adaptors.git</connection>
+        <developerConnection>scm:git:ssh://${openecomp.git.host}:${openecomp.git.port}/${openecomp.git.project}/sdnc-adaptors.git</developerConnection>
+        <url>${openecomp.git.protocol}://${openecomp.git.host}/projects/${openecomp.git.project}/repos/sdnc-adaptors/browse</url>
+    </scm>
+
+    <ciManagement>
+        <system>Jenkins</system>
+        <url>https://jenkins.openecomp.org/</url>
+    </ciManagement>
+
+    <distributionManagement>
+        <site>
+            <id>sdnc-javadoc</id>
+            <url>dav:https://${openecomp.nexus.host}/content/sites/site/org/onap/sdnc/adaptors/${project.artifactId}/${project.version}</url>
+        </site>
+    </distributionManagement>
+
+    <profiles>
+        <profile>
+            <id>blackduck</id>
+            <activation>
+                <property>
+                    <name>blackduck-scan</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.blackducksoftware.integration</groupId>
+                        <artifactId>hub-maven-plugin</artifactId>
+                        <version>1.4.0</version>
+                        <inherited>false</inherited>
+                        <configuration>
+                            <hubProjectName>${project.name}</hubProjectName>
+                            <outputDirectory>${project.basedir}</outputDirectory>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <id>create-bdio-file</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>createHubOutput</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+
+
+            </build>
+
+        </profile>
+
+    </profiles>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.17</version>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+                <version>1.6.7</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <nexusUrl>https://${openecomp.nexus.host}</nexusUrl>
+                    <stagingProfileId>${openecomp.nexus.staging.profile-id}</stagingProfileId>
+                    <serverId>${openecomp.nexus.staging.server-id}</serverId>
+                </configuration>
+            </plugin>
+        </plugins>
+
+    </build>
+    <modules>
+        <module>aai-service</module>
+        <module>mdsal-resource</module>
+        <module>resource-assignment</module>
+        <module>sql-resource</module>
+    </modules>
+    <organization>
+        <name>OpenECOMP</name>
+    </organization>
+    <version>0.0.1-SNAPSHOT</version>
 
 
 </project>
diff --git a/resource-assignment/features/pom.xml b/resource-assignment/features/pom.xml
index 9e718e7a9..338f7a1d1 100755
--- a/resource-assignment/features/pom.xml
+++ b/resource-assignment/features/pom.xml
@@ -1,133 +1,133 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>resource-assignment</artifactId>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>resource-assignment-features</artifactId>
-	<name>Resource Assignment Adaptor - Features</name>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>resource-assignment</artifactId>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>resource-assignment-features</artifactId>
+    <name>Resource Assignment Adaptor - Features</name>
 
-	<packaging>jar</packaging>
+    <packaging>jar</packaging>
 
-	<dependencies>
+    <dependencies>
 
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>resource-assignment-provider</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>resource-assignment-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-		<dependency>
-			<groupId>commons-lang</groupId>
-			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
-			<scope>compile</scope>
-		</dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+            <scope>compile</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.opendaylight.mdsal</groupId>
-			<artifactId>features-mdsal</artifactId>
-			<version>${odl.mdsal.features.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>features-mdsal</artifactId>
+            <version>${odl.mdsal.features.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
 
-			<scope>runtime</scope>
-		</dependency>
+            <scope>runtime</scope>
+        </dependency>
 
 
-		<!-- dependency for opendaylight-karaf-empty for use by testing -->
-		<dependency>
-			<groupId>org.opendaylight.odlparent</groupId>
-			<artifactId>opendaylight-karaf-empty</artifactId>
-			<version>${odl.karaf.empty.distro.version}</version>
-			<type>zip</type>
-		</dependency>
+        <!-- dependency for opendaylight-karaf-empty for use by testing -->
+        <dependency>
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>opendaylight-karaf-empty</artifactId>
+            <version>${odl.karaf.empty.distro.version}</version>
+            <type>zip</type>
+        </dependency>
 
-		<dependency>
-			<!-- Required for launching the feature tests -->
-			<groupId>org.opendaylight.odlparent</groupId>
-			<artifactId>features-test</artifactId>
-			<version>${odl.commons.opendaylight.version}</version>
-			<scope>test</scope>
-		</dependency>
+        <dependency>
+            <!-- Required for launching the feature tests -->
+            <groupId>org.opendaylight.odlparent</groupId>
+            <artifactId>features-test</artifactId>
+            <version>${odl.commons.opendaylight.version}</version>
+            <scope>test</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.opendaylight.yangtools</groupId>
-			<artifactId>features-yangtools</artifactId>
-			<version>${odl.yangtools.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
-			<scope>runtime</scope>
-		</dependency>
-	</dependencies>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>features-yangtools</artifactId>
+            <version>${odl.yangtools.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+    </dependencies>
 
-	<build>
-		<resources>
-			<resource>
-				<filtering>true</filtering>
-				<directory>src/main/resources</directory>
-			</resource>
-		</resources>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-resources-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>filter</id>
-						<goals>
-							<goal>resources</goal>
-						</goals>
-						<phase>generate-resources</phase>
-					</execution>
-				</executions>
-			</plugin>
-					<!-- launches the feature test, which validates that your karaf feature
-					can be installed inside of a karaf container. It doesn't validate that your
-					functionality works correctly, just that you have all of the dependent bundles
-					defined correctly.
-			<plugin>
+    <build>
+        <resources>
+            <resource>
+                <filtering>true</filtering>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>filter</id>
+                        <goals>
+                            <goal>resources</goal>
+                        </goals>
+                        <phase>generate-resources</phase>
+                    </execution>
+                </executions>
+            </plugin>
+                    <!-- launches the feature test, which validates that your karaf feature
+                    can be installed inside of a karaf container. It doesn't validate that your
+                    functionality works correctly, just that you have all of the dependent bundles
+                    defined correctly.
+            <plugin>
 
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.16</version>
-				<configuration>
-					<systemPropertyVariables>
-						<karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
-						<karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
-						<karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
-					</systemPropertyVariables>
-					<dependenciesToScan>
-						<dependency>org.opendaylight.yangtools:features-test</dependency>
-					</dependenciesToScan>
-				</configuration>
-			</plugin>
-			-->
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>attach-artifacts</id>
-						<goals>
-							<goal>attach-artifact</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<artifacts>
-								<artifact>
-									<file>${project.build.directory}/classes/${features.file}</file>
-									<type>xml</type>
-									<classifier>features</classifier>
-								</artifact>
-							</artifacts>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.16</version>
+                <configuration>
+                    <systemPropertyVariables>
+                        <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
+                        <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
+                        <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        <dependency>org.opendaylight.yangtools:features-test</dependency>
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+            -->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-artifacts</id>
+                        <goals>
+                            <goal>attach-artifact</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <artifacts>
+                                <artifact>
+                                    <file>${project.build.directory}/classes/${features.file}</file>
+                                    <type>xml</type>
+                                    <classifier>features</classifier>
+                                </artifact>
+                            </artifacts>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/resource-assignment/features/src/main/resources/features.xml b/resource-assignment/features/src/main/resources/features.xml
index 01c55789a..2834914ae 100644
--- a/resource-assignment/features/src/main/resources/features.xml
+++ b/resource-assignment/features/src/main/resources/features.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
diff --git a/resource-assignment/installer/pom.xml b/resource-assignment/installer/pom.xml
index 900f0444f..19359dc9f 100755
--- a/resource-assignment/installer/pom.xml
+++ b/resource-assignment/installer/pom.xml
@@ -1,138 +1,138 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>resource-assignment</artifactId>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>resource-assignment-installer</artifactId>
-	<name>Resource allocator- Karaf  Installer</name>
-	<packaging>pom</packaging>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>resource-assignment</artifactId>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>resource-assignment-installer</artifactId>
+    <name>Resource allocator- Karaf  Installer</name>
+    <packaging>pom</packaging>
 
-	<properties>
-		<application.name>sdnc-resource-assignment</application.name>
-		<features.boot>sdnc-resource-assignment</features.boot>
-		<features.repositories>mvn:org.onap.ccsdk.sli.adaptors/resource-assignment-features/${project.version}/xml/features</features.repositories>
-		<include.transitive.dependencies>false</include.transitive.dependencies>
-	</properties>
+    <properties>
+        <application.name>sdnc-resource-assignment</application.name>
+        <features.boot>sdnc-resource-assignment</features.boot>
+        <features.repositories>mvn:org.onap.ccsdk.sli.adaptors/resource-assignment-features/${project.version}/xml/features</features.repositories>
+        <include.transitive.dependencies>false</include.transitive.dependencies>
+    </properties>
 
-	<dependencies>
+    <dependencies>
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>resource-assignment-features</artifactId>
-			<version>${project.version}</version>
-			<classifier>features</classifier>
-			<type>xml</type>
-			<exclusions>
-				<exclusion>
-					<groupId>*</groupId>
-					<artifactId>*</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>resource-assignment-features</artifactId>
+            <version>${project.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
 
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-			<artifactId>resource-assignment-provider</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+            <artifactId>resource-assignment-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
-	</dependencies>
+    </dependencies>
 
-	<build>
-		<plugins>
-			<plugin>
-				<artifactId>maven-assembly-plugin</artifactId>
-				<version>2.6</version>
-				<executions>
-					<execution>
-						<id>maven-repo-zip</id>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<attach>false</attach>
-							<finalName>stage/${application.name}-${project.version}</finalName>
-							<descriptors>
-								<descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
-							</descriptors>
-							<appendAssemblyId>false</appendAssemblyId>
-						</configuration>
-					</execution>
-					<execution>
-						<id>installer-zip</id>
-						<goals>
-							<goal>single</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<attach>true</attach>
-							<finalName>${application.name}-${project.version}-installer</finalName>
-							<descriptors>
-								<descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
-							</descriptors>
-							<appendAssemblyId>false</appendAssemblyId>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-dependency-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>copy-dependencies</id>
-						<goals>
-							<goal>copy-dependencies</goal>
-						</goals>
-						<phase>prepare-package</phase>
-						<configuration>
-							<transitive>false</transitive>
-							<outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
-							<overWriteReleases>false</overWriteReleases>
-							<overWriteSnapshots>true</overWriteSnapshots>
-							<overWriteIfNewer>true</overWriteIfNewer>
-							<useRepositoryLayout>true</useRepositoryLayout>
-							<addParentPoms>false</addParentPoms>
-							<copyPom>false</copyPom>
-							<includeGroupIds>org.onap.ccsdk</includeGroupIds>
-							<excludeArtifactIds>sli-common,sli-provider,dblib-provider</excludeArtifactIds>
-							<scope>provided</scope>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<artifactId>maven-resources-plugin</artifactId>
-				<version>2.6</version>
-				<executions>
-					<execution>
-						<id>copy-version</id>
-						<goals>
-							<goal>copy-resources</goal>
-						</goals><!-- here the phase you need -->
-						<phase>validate</phase>
-						<configuration>
-							<outputDirectory>${basedir}/target/stage</outputDirectory>
-							<resources>
-								<resource>
-									<directory>src/main/resources/scripts</directory>
-									<includes>
-										<include>install-feature.sh</include>
-									</includes>
-									<filtering>true</filtering>
-								</resource>
-							</resources>
-						</configuration>
-					</execution>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>maven-repo-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>false</attach>
+                            <finalName>stage/${application.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>installer-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>true</attach>
+                            <finalName>${application.name}-${project.version}-installer</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_installer_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>false</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <transitive>false</transitive>
+                            <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <useRepositoryLayout>true</useRepositoryLayout>
+                            <addParentPoms>false</addParentPoms>
+                            <copyPom>false</copyPom>
+                            <includeGroupIds>org.onap.ccsdk</includeGroupIds>
+                            <excludeArtifactIds>sli-common,sli-provider,dblib-provider</excludeArtifactIds>
+                            <scope>provided</scope>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-version</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>validate</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/stage</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources/scripts</directory>
+                                    <includes>
+                                        <include>install-feature.sh</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
 
-				</executions>
-			</plugin>
+                </executions>
+            </plugin>
 
-		</plugins>
-	</build>
+        </plugins>
+    </build>
 
 </project>
diff --git a/resource-assignment/installer/src/assembly/assemble_installer_zip.xml b/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
index e278872a1..40e2f26a0 100644
--- a/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
+++ b/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -22,37 +22,37 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>installer_zip</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>installer_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>755</fileMode>
-			<includes>
-				<include>*.sh</include>
-			</includes>
-		</fileSet>
-		<fileSet>
-			<directory>target/stage/</directory>
-			<outputDirectory>${application.name}</outputDirectory>
-			<fileMode>644</fileMode>
-			<excludes>
-				<exclude>*.sh</exclude>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>755</fileMode>
+            <includes>
+                <include>*.sh</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/stage/</directory>
+            <outputDirectory>${application.name}</outputDirectory>
+            <fileMode>644</fileMode>
+            <excludes>
+                <exclude>*.sh</exclude>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml b/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
index 1edacdb6d..7304fe500 100644
--- a/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -22,27 +22,27 @@
 <!-- Defines how we build the .zip file which is our distribution. -->
 
 <assembly
-	xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
-	<id>mvnrepo_zip</id>
-	<formats>
-		<format>zip</format>
-	</formats>
+    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>mvnrepo_zip</id>
+    <formats>
+        <format>zip</format>
+    </formats>
 
-	<!--  we want "system" and related files right at the root level
-		  as this file is suppose to be unzip on top of a karaf
-		  distro. -->
-	<includeBaseDirectory>false</includeBaseDirectory>
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
 
-	<fileSets>
-		<fileSet>
-			<directory>target/assembly/</directory>
-			<outputDirectory>.</outputDirectory>
-			<excludes>
-			</excludes>
-		</fileSet>
-	</fileSets>
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
 
 
 
diff --git a/resource-assignment/installer/src/main/resources/scripts/install-feature.sh b/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
index 9a47d2225..9b6877185 100644
--- a/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
+++ b/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
@@ -5,7 +5,7 @@
 # openECOMP : SDN-C
 # ================================================================================
 # Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -30,10 +30,10 @@ REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip
 
 if [ -f ${REPOZIP} ]
 then
-	unzip -d ${ODL_HOME} ${REPOZIP}
+    unzip -d ${ODL_HOME} ${REPOZIP}
 else
-	echo "ERROR : repo zip ($REPOZIP) not found"
-	exit 1
+    echo "ERROR : repo zip ($REPOZIP) not found"
+    exit 1
 fi
 
 ${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories}
diff --git a/resource-assignment/pom.xml b/resource-assignment/pom.xml
index e0e140f20..5e44d5ffb 100755
--- a/resource-assignment/pom.xml
+++ b/resource-assignment/pom.xml
@@ -1,25 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<parent>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<artifactId>sdnc-adaptors</artifactId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <artifactId>sdnc-adaptors</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
 
-	<modelVersion>4.0.0</modelVersion>
-	<packaging>pom</packaging>
-	<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-	<artifactId>resource-assignment</artifactId>
-	<version>0.0.1-SNAPSHOT</version>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>pom</packaging>
+    <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+    <artifactId>resource-assignment</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
 
 
-	<name>Resource Assignment Adaptor</name>
-	<description>The resource assignment adaptor allows service logic to check and allocate network capacity</description>
+    <name>Resource Assignment Adaptor</name>
+    <description>The resource assignment adaptor allows service logic to check and allocate network capacity</description>
 
-	<dependencyManagement>
-	 <dependencies>
-	   <dependency>
-	     <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+    <dependencyManagement>
+     <dependencies>
+       <dependency>
+         <groupId>org.onap.ccsdk.sli.adaptors</groupId>
              <artifactId>resource-assignment-features</artifactId>
              <classifier>features</classifier>
              <type>xml</type>
diff --git a/resource-assignment/provider/pom.xml b/resource-assignment/provider/pom.xml
index f6d7fede7..4d801522d 100755
--- a/resource-assignment/provider/pom.xml
+++ b/resource-assignment/provider/pom.xml
@@ -1,115 +1,105 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<groupId>org.onap.ccsdk.sli.adaptors</groupId>
-		<artifactId>resource-assignment</artifactId>
-		<version>0.0.1-SNAPSHOT</version>
-	</parent>
-	<artifactId>resource-assignment-provider</artifactId>
-	<packaging>bundle</packaging>
-	<name>Resource Assignment Adaptor - Provider</name>
-	<url>http://maven.apache.org</url>
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-	<dependencies>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-			<version>${junit.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-test</artifactId>
-			<version>${spring.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>com.h2database</groupId>
-			<artifactId>h2</artifactId>
-			<version>${h2database.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.core</groupId>
-			<artifactId>sli-common</artifactId>
-			<version>${sdnctl.sli.version}</version>
-			<scope>compile</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.core</groupId>
-			<artifactId>sli-provider</artifactId>
-			<version>${sdnctl.sli.version}</version>
-			<scope>compile</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.onap.ccsdk.sli.core</groupId>
-			<artifactId>dblib-provider</artifactId>
-			<version>${sdnctl.dblib.version}</version>
-			<scope>runtime</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>${slf4j.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>jcl-over-slf4j</artifactId>
-			<version>${slf4j.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>mysql</groupId>
-			<artifactId>mysql-connector-java</artifactId>
-			<version>${mysql.connector.version}</version>
-			<type>jar</type>
-			<scope>runtime</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-beans</artifactId>
-			<version>${spring.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-context</artifactId>
-			<version>${spring.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-jdbc</artifactId>
-			<version>${spring.version}</version>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<plugins>
-
-
-
-			<plugin>
-				<groupId>org.apache.felix</groupId>
-				<artifactId>maven-bundle-plugin</artifactId>
-				<version>${bundle.plugin.version}</version>
-				<extensions>true</extensions>
-				<configuration>
-					<instructions>
-						<Bundle-SymbolicName>org.openecomp.sdnc.ra</Bundle-SymbolicName>
-						<Export-Package>org.openecomp.sdnc.ra</Export-Package>
-						<Import-Package>*,org.openecomp.sdnc.sli.resource.dblib,org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.mysql.jdbc.*</Import-Package>
-						<!--Import-Package>*</Import-Package-->
-						<Embed-Transitive>true</Embed-Transitive>
-					</instructions>
-
-
-				</configuration>
-
-			</plugin>
-
-
-		</plugins>
-
-	</build>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.ccsdk.sli.adaptors</groupId>
+        <artifactId>resource-assignment</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>resource-assignment-provider</artifactId>
+    <packaging>bundle</packaging>
+    <name>Resource Assignment Adaptor - Provider</name>
+    <url>http://maven.apache.org</url>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+            <version>${junit.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>${spring.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+            <version>${h2database.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-common</artifactId>
+            <version>${sdnctl.sli.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sli-provider</artifactId>
+            <version>${sdnctl.sli.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>dblib-provider</artifactId>
+            <version>${sdnctl.dblib.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>${mysql.connector.version}</version>
+            <type>jar</type>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+            <version>${spring.version}</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>${bundle.plugin.version}</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>org.openecomp.sdnc.ra</Bundle-SymbolicName>
+                        <Export-Package>org.openecomp.sdnc.ra</Export-Package>
+                        <Import-Package>*,org.openecomp.sdnc.sli.resource.dblib,org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.mysql.jdbc.*</Import-Package>
+                        <!--Import-Package>*</Import-Package-->
+                        <Embed-Transitive>true</Embed-Transitive>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
index acdce65ec..5e179dc48 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,11 +25,11 @@ import java.util.Collection;
 
 public interface LockHelper {
 
-	void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */);
+    void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */);
 
-	void unlock(String resourceName, boolean force);
+    void unlock(String resourceName, boolean force);
 
-	void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */);
+    void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */);
 
-	void unlock(Collection<String> resourceNameList, boolean force);
+    void unlock(Collection<String> resourceNameList, boolean force);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
index 306fc162d..62b88c67a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,135 +32,135 @@ import org.openecomp.sdnc.lock.data.ResourceLock;
 
 public class LockHelperImpl implements LockHelper {
 
-	private ResourceLockDao resourceLockDao;
-	private int retryCount = 10;
-	private int lockWait = 5; // Seconds
-
-	@Override
-	public void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */) {
-		lock(Collections.singleton(resourceName), lockRequester, lockTimeout);
-	}
-
-	@Override
-	public void unlock(String resourceName, boolean force) {
-		unlock(Collections.singleton(resourceName), force);
-	}
-
-	@Override
-	public void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
-		for (int i = 0; true; i++) {
-			try {
-				tryLock(resourceNameList, lockRequester, lockTimeout);
-				return;
-			} catch (ResourceLockedException e) {
-				if (i > retryCount)
-					throw e;
-				try {
-					Thread.sleep(lockWait * 1000);
-				} catch (InterruptedException ex) {
-				}
-			}
-		}
-	}
-
-	@Override
-	public void unlock(Collection<String> lockNames, boolean force) {
-		if (lockNames == null || lockNames.size() == 0)
-			return;
-
-		resourceLockDao.lockTable();
-
-		try {
-			for (String name : lockNames) {
-				ResourceLock l = resourceLockDao.getByResourceName(name);
-				if (l != null)
-					if (force || l.lockCount == 1)
-						resourceLockDao.delete(l.id);
-					else
-						resourceLockDao.decrementLockCount(l.id);
-			}
-		} finally {
-			resourceLockDao.unlockTable();
-		}
-	}
-
-	public void tryLock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
-		if (resourceNameList == null || resourceNameList.size() == 0)
-			return;
-
-		lockRequester = generateLockRequester(lockRequester, 100);
-
-		resourceLockDao.lockTable();
-
-		try {
-			// First check if all requested records are available to lock
-
-			Date now = new Date();
-
-			List<ResourceLock> dbLockList = new ArrayList<ResourceLock>();
-			List<String> insertLockNameList = new ArrayList<String>();
-			for (String name : resourceNameList) {
-				ResourceLock l = resourceLockDao.getByResourceName(name);
-
-				boolean canLock =
-				        l == null || now.getTime() > l.expirationTime.getTime() || lockRequester != null &&
-				                lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
-				if (!canLock)
-					throw new ResourceLockedException(l.resourceName, l.lockHolder, lockRequester);
-
-				if (l != null)
-					dbLockList.add(l);
-				else
-					insertLockNameList.add(name);
-			}
-
-			// Update the lock info in DB
-			for (ResourceLock l : dbLockList)
-				resourceLockDao.update(l.id, now, new Date(now.getTime() + lockTimeout * 1000), l.lockCount + 1);
-
-			// Insert records for those that are not yet there
-			for (String lockName : insertLockNameList) {
-				ResourceLock l = new ResourceLock();
-				l.resourceName = lockName;
-				l.lockHolder = lockRequester;
-				l.lockTime = now;
-				l.expirationTime = new Date(now.getTime() + lockTimeout * 1000);
-				l.lockCount = 1;
-				resourceLockDao.add(l);
-			}
-		} finally {
-			resourceLockDao.unlockTable();
-		}
-	}
-
-	private static String generateLockRequester(String name, int maxLength) {
-		if (name == null)
-			name = "";
-		int l1 = name.length();
-		String tname = Thread.currentThread().getName();
-		int l2 = tname.length();
-		if (l1 + l2 + 1 > maxLength) {
-			int maxl1 = maxLength / 2;
-			if (l1 > maxl1) {
-				name = name.substring(0, maxl1);
-				l1 = maxl1;
-			}
-			int maxl2 = maxLength - l1 - 1;
-			if (l2 > maxl2)
-				tname = tname.substring(0, 6) + "..." + tname.substring(l2 - maxl2 + 9);
-		}
-		return tname + '-' + name;
-	}
-
-	public void setResourceLockDao(ResourceLockDao resourceLockDao) {
-		this.resourceLockDao = resourceLockDao;
-	}
-
-	public void setRetryCount(int retryCount) {
-		this.retryCount = retryCount;
-	}
-
-	public void setLockWait(int lockWait /* Seconds */) {
-		this.lockWait = lockWait;
-	}
+    private ResourceLockDao resourceLockDao;
+    private int retryCount = 10;
+    private int lockWait = 5; // Seconds
+
+    @Override
+    public void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */) {
+        lock(Collections.singleton(resourceName), lockRequester, lockTimeout);
+    }
+
+    @Override
+    public void unlock(String resourceName, boolean force) {
+        unlock(Collections.singleton(resourceName), force);
+    }
+
+    @Override
+    public void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
+        for (int i = 0; true; i++) {
+            try {
+                tryLock(resourceNameList, lockRequester, lockTimeout);
+                return;
+            } catch (ResourceLockedException e) {
+                if (i > retryCount)
+                    throw e;
+                try {
+                    Thread.sleep(lockWait * 1000);
+                } catch (InterruptedException ex) {
+                }
+            }
+        }
+    }
+
+    @Override
+    public void unlock(Collection<String> lockNames, boolean force) {
+        if (lockNames == null || lockNames.size() == 0)
+            return;
+
+        resourceLockDao.lockTable();
+
+        try {
+            for (String name : lockNames) {
+                ResourceLock l = resourceLockDao.getByResourceName(name);
+                if (l != null)
+                    if (force || l.lockCount == 1)
+                        resourceLockDao.delete(l.id);
+                    else
+                        resourceLockDao.decrementLockCount(l.id);
+            }
+        } finally {
+            resourceLockDao.unlockTable();
+        }
+    }
+
+    public void tryLock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
+        if (resourceNameList == null || resourceNameList.size() == 0)
+            return;
+
+        lockRequester = generateLockRequester(lockRequester, 100);
+
+        resourceLockDao.lockTable();
+
+        try {
+            // First check if all requested records are available to lock
+
+            Date now = new Date();
+
+            List<ResourceLock> dbLockList = new ArrayList<ResourceLock>();
+            List<String> insertLockNameList = new ArrayList<String>();
+            for (String name : resourceNameList) {
+                ResourceLock l = resourceLockDao.getByResourceName(name);
+
+                boolean canLock =
+                        l == null || now.getTime() > l.expirationTime.getTime() || lockRequester != null &&
+                                lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
+                if (!canLock)
+                    throw new ResourceLockedException(l.resourceName, l.lockHolder, lockRequester);
+
+                if (l != null)
+                    dbLockList.add(l);
+                else
+                    insertLockNameList.add(name);
+            }
+
+            // Update the lock info in DB
+            for (ResourceLock l : dbLockList)
+                resourceLockDao.update(l.id, now, new Date(now.getTime() + lockTimeout * 1000), l.lockCount + 1);
+
+            // Insert records for those that are not yet there
+            for (String lockName : insertLockNameList) {
+                ResourceLock l = new ResourceLock();
+                l.resourceName = lockName;
+                l.lockHolder = lockRequester;
+                l.lockTime = now;
+                l.expirationTime = new Date(now.getTime() + lockTimeout * 1000);
+                l.lockCount = 1;
+                resourceLockDao.add(l);
+            }
+        } finally {
+            resourceLockDao.unlockTable();
+        }
+    }
+
+    private static String generateLockRequester(String name, int maxLength) {
+        if (name == null)
+            name = "";
+        int l1 = name.length();
+        String tname = Thread.currentThread().getName();
+        int l2 = tname.length();
+        if (l1 + l2 + 1 > maxLength) {
+            int maxl1 = maxLength / 2;
+            if (l1 > maxl1) {
+                name = name.substring(0, maxl1);
+                l1 = maxl1;
+            }
+            int maxl2 = maxLength - l1 - 1;
+            if (l2 > maxl2)
+                tname = tname.substring(0, 6) + "..." + tname.substring(l2 - maxl2 + 9);
+        }
+        return tname + '-' + name;
+    }
+
+    public void setResourceLockDao(ResourceLockDao resourceLockDao) {
+        this.resourceLockDao = resourceLockDao;
+    }
+
+    public void setRetryCount(int retryCount) {
+        this.retryCount = retryCount;
+    }
+
+    public void setLockWait(int lockWait /* Seconds */) {
+        this.lockWait = lockWait;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
index 8e3142cc0..eb3f33418 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,19 +23,19 @@ package org.openecomp.sdnc.lock.comp;
 
 public class ResourceLockedException extends RuntimeException {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	private String lockName, lockHolder, lockRequester;
+    private String lockName, lockHolder, lockRequester;
 
-	public ResourceLockedException(String lockName, String lockHolder, String lockRequester) {
-		this.lockName = lockName;
-		this.lockHolder = lockHolder;
-		this.lockRequester = lockRequester;
-	}
+    public ResourceLockedException(String lockName, String lockHolder, String lockRequester) {
+        this.lockName = lockName;
+        this.lockHolder = lockHolder;
+        this.lockRequester = lockRequester;
+    }
 
-	@Override
-	public String getMessage() {
-		return "Failed to lock [" + lockName + "] for [" + lockRequester + "]. Currently locked by [" + lockHolder +
-		        "].";
-	}
+    @Override
+    public String getMessage() {
+        return "Failed to lock [" + lockName + "] for [" + lockRequester + "]. Currently locked by [" + lockHolder +
+                "].";
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
index a76fca11c..c3e35b700 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,30 +27,30 @@ import java.util.Set;
 
 public abstract class SynchronizedFunction {
 
-	private Set<String> synchset;
-	private String lockRequester;
-	private int lockTimeout; // Seconds
-	private LockHelper lockHelper;
-
-	protected SynchronizedFunction(LockHelper lockHelper, Collection<String> synchset, int lockTimeout) {
-		this.lockHelper = lockHelper;
-		this.synchset = new HashSet<String>(synchset);
-		this.lockRequester = generateLockRequester();
-		this.lockTimeout = lockTimeout;
-	}
-
-	protected abstract void _exec();
-
-	public void exec() {
-		lockHelper.lock(synchset, lockRequester, lockTimeout);
-		try {
-			_exec();
-		} finally {
-			lockHelper.unlock(synchset, true);
-		}
-	}
-
-	private static String generateLockRequester() {
-		return "SynchronizedFunction-" + (int) (Math.random() * 1000000);
-	}
+    private Set<String> synchset;
+    private String lockRequester;
+    private int lockTimeout; // Seconds
+    private LockHelper lockHelper;
+
+    protected SynchronizedFunction(LockHelper lockHelper, Collection<String> synchset, int lockTimeout) {
+        this.lockHelper = lockHelper;
+        this.synchset = new HashSet<String>(synchset);
+        this.lockRequester = generateLockRequester();
+        this.lockTimeout = lockTimeout;
+    }
+
+    protected abstract void _exec();
+
+    public void exec() {
+        lockHelper.lock(synchset, lockRequester, lockTimeout);
+        try {
+            _exec();
+        } finally {
+            lockHelper.unlock(synchset, true);
+        }
+    }
+
+    private static String generateLockRequester() {
+        return "SynchronizedFunction-" + (int) (Math.random() * 1000000);
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
index 014765dfb..5ccde824a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,17 +27,17 @@ import org.openecomp.sdnc.lock.data.ResourceLock;
 
 public interface ResourceLockDao {
 
-	void lockTable();
+    void lockTable();
 
-	void unlockTable();
+    void unlockTable();
 
-	void add(ResourceLock l);
+    void add(ResourceLock l);
 
-	void update(long id, Date lockTime, Date expirationTime, int lockCount);
+    void update(long id, Date lockTime, Date expirationTime, int lockCount);
 
-	ResourceLock getByResourceName(String resourceName);
+    ResourceLock getByResourceName(String resourceName);
 
-	void delete(long id);
+    void delete(long id);
 
-	void decrementLockCount(long id);
+    void decrementLockCount(long id);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
index f4819b837..9a619763c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,81 +35,81 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class ResourceLockDaoImpl implements ResourceLockDao {
 
-	private static final Logger log = LoggerFactory.getLogger(ResourceLockDaoImpl.class);
-
-	private JdbcTemplate jdbcTemplate;
-	private boolean testing = false;
-
-	@Override
-	public void lockTable() {
-		if (!testing) {
-			jdbcTemplate.update("LOCK TABLES RESOURCE_LOCK WRITE");
-		log.info("Table RESOURCE_LOCK locked.");
-	}
-	}
-
-	@Override
-	public void unlockTable() {
-		if (!testing) {
-			jdbcTemplate.update("UNLOCK TABLES");
-		log.info("Table RESOURCE_LOCK unlocked.");
-
-			CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
-			ds.releaseConnection();
-		}
-	}
-
-	@Override
-	public void add(ResourceLock l) {
-		jdbcTemplate.update(
-		        "INSERT INTO RESOURCE_LOCK (resource_name, lock_holder, lock_count, lock_time, expiration_time)\n" +
-		                "VALUES (?, ?, ?, ?, ?)",
-		        new Object[] { l.resourceName, l.lockHolder, l.lockCount, l.lockTime, l.expirationTime });
-	}
-
-	@Override
-	public void update(long id, Date lockTime, Date expirationTime, int lockCount) {
-		jdbcTemplate.update(
-		        "UPDATE RESOURCE_LOCK SET lock_time = ?, expiration_time = ?, lock_count = ? WHERE resource_lock_id = ?",
-		        new Object[] { lockTime, expirationTime, lockCount, id });
-	}
-
-	@Override
-	public ResourceLock getByResourceName(String resourceName) {
-		List<ResourceLock> ll = jdbcTemplate.query("SELECT * FROM RESOURCE_LOCK WHERE resource_name = ?",
-		        new Object[] { resourceName }, new RowMapper<ResourceLock>() {
-
-			        @Override
-			        public ResourceLock mapRow(ResultSet rs, int rowNum) throws SQLException {
-				        ResourceLock rl = new ResourceLock();
-				        rl.id = rs.getLong("resource_lock_id");
-				        rl.resourceName = rs.getString("resource_name");
-				        rl.lockHolder = rs.getString("lock_holder");
-				        rl.lockCount = rs.getInt("lock_count");
-				        rl.lockTime = rs.getTimestamp("lock_time");
-				        rl.expirationTime = rs.getTimestamp("expiration_time");
-				        return rl;
-			        }
-		        });
-		return ll != null && !ll.isEmpty() ? ll.get(0) : null;
-	}
-
-	@Override
-	public void delete(long id) {
-		jdbcTemplate.update("DELETE FROM RESOURCE_LOCK WHERE resource_lock_id = ?", new Object[] { id });
-	}
-
-	@Override
-	public void decrementLockCount(long id) {
-		jdbcTemplate.update("UPDATE RESOURCE_LOCK SET lock_count = lock_count - 1 WHERE resource_lock_id = ?",
-		        new Object[] { id });
-	}
-
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
-
-	public void setTesting(boolean testing) {
-		this.testing = testing;
-	}
+    private static final Logger log = LoggerFactory.getLogger(ResourceLockDaoImpl.class);
+
+    private JdbcTemplate jdbcTemplate;
+    private boolean testing = false;
+
+    @Override
+    public void lockTable() {
+        if (!testing) {
+            jdbcTemplate.update("LOCK TABLES RESOURCE_LOCK WRITE");
+        log.info("Table RESOURCE_LOCK locked.");
+    }
+    }
+
+    @Override
+    public void unlockTable() {
+        if (!testing) {
+            jdbcTemplate.update("UNLOCK TABLES");
+        log.info("Table RESOURCE_LOCK unlocked.");
+
+            CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
+            ds.releaseConnection();
+        }
+    }
+
+    @Override
+    public void add(ResourceLock l) {
+        jdbcTemplate.update(
+                "INSERT INTO RESOURCE_LOCK (resource_name, lock_holder, lock_count, lock_time, expiration_time)\n" +
+                        "VALUES (?, ?, ?, ?, ?)",
+                new Object[] { l.resourceName, l.lockHolder, l.lockCount, l.lockTime, l.expirationTime });
+    }
+
+    @Override
+    public void update(long id, Date lockTime, Date expirationTime, int lockCount) {
+        jdbcTemplate.update(
+                "UPDATE RESOURCE_LOCK SET lock_time = ?, expiration_time = ?, lock_count = ? WHERE resource_lock_id = ?",
+                new Object[] { lockTime, expirationTime, lockCount, id });
+    }
+
+    @Override
+    public ResourceLock getByResourceName(String resourceName) {
+        List<ResourceLock> ll = jdbcTemplate.query("SELECT * FROM RESOURCE_LOCK WHERE resource_name = ?",
+                new Object[] { resourceName }, new RowMapper<ResourceLock>() {
+
+                    @Override
+                    public ResourceLock mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        ResourceLock rl = new ResourceLock();
+                        rl.id = rs.getLong("resource_lock_id");
+                        rl.resourceName = rs.getString("resource_name");
+                        rl.lockHolder = rs.getString("lock_holder");
+                        rl.lockCount = rs.getInt("lock_count");
+                        rl.lockTime = rs.getTimestamp("lock_time");
+                        rl.expirationTime = rs.getTimestamp("expiration_time");
+                        return rl;
+                    }
+                });
+        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update("DELETE FROM RESOURCE_LOCK WHERE resource_lock_id = ?", new Object[] { id });
+    }
+
+    @Override
+    public void decrementLockCount(long id) {
+        jdbcTemplate.update("UPDATE RESOURCE_LOCK SET lock_count = lock_count - 1 WHERE resource_lock_id = ?",
+                new Object[] { id });
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    public void setTesting(boolean testing) {
+        this.testing = testing;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
index 561fd82a4..4e27fd954 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,10 +25,10 @@ import java.util.Date;
 
 public class ResourceLock {
 
-	public long id;
-	public String resourceName;
-	public String lockHolder;
-	public int lockCount;
-	public Date lockTime;
-	public Date expirationTime;
+    public long id;
+    public String resourceName;
+    public String lockHolder;
+    public int lockCount;
+    public Date lockTime;
+    public Date expirationTime;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
index 52104ec5f..0e3754527 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,24 +22,24 @@
 package org.openecomp.sdnc.ra;
 
 public enum ReleaseRequestType {
-	Cancel, Activate, Disconnect;
+    Cancel, Activate, Disconnect;
 
-	public static ReleaseRequestType convert(Object o) {
-		if (o == null)
-			return null;
-		String s = o.toString();
-		s = s.trim();
-		if (s.length() == 0)
-			return null;
+    public static ReleaseRequestType convert(Object o) {
+        if (o == null)
+            return null;
+        String s = o.toString();
+        s = s.trim();
+        if (s.length() == 0)
+            return null;
 
-		if (s.equalsIgnoreCase("Cancel"))
-			return Cancel;
-		if (s.equalsIgnoreCase("Activate"))
-			return Activate;
-		if (s.equalsIgnoreCase("Disconnect"))
-			return Disconnect;
+        if (s.equalsIgnoreCase("Cancel"))
+            return Cancel;
+        if (s.equalsIgnoreCase("Activate"))
+            return Activate;
+        if (s.equalsIgnoreCase("Disconnect"))
+            return Disconnect;
 
-		throw new IllegalArgumentException("Invalid request-type: " + s +
-		        ". Supported values are Cancel, Activate, Disconnect.");
-	}
+        throw new IllegalArgumentException("Invalid request-type: " + s +
+                ". Supported values are Cancel, Activate, Disconnect.");
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
index d9964331e..b0d0a50c4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,22 +22,22 @@
 package org.openecomp.sdnc.ra;
 
 public enum ReserveRequestType {
-	New, Change;
+    New, Change;
 
-	public static ReserveRequestType convert(Object o) {
-		if (o == null)
-			return null;
-		String s = o.toString();
-		s = s.trim();
-		if (s.length() == 0)
-			return null;
+    public static ReserveRequestType convert(Object o) {
+        if (o == null)
+            return null;
+        String s = o.toString();
+        s = s.trim();
+        if (s.length() == 0)
+            return null;
 
-		if (s.equalsIgnoreCase("New"))
-			return New;
-		if (s.equalsIgnoreCase("Change"))
-			return Change;
+        if (s.equalsIgnoreCase("New"))
+            return New;
+        if (s.equalsIgnoreCase("Change"))
+            return Change;
 
-		throw new IllegalArgumentException("Invalid request-type: " + s +
-		        ". Supported values are New, Change.");
-	}
+        throw new IllegalArgumentException("Invalid request-type: " + s +
+                ". Supported values are New, Change.");
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
index ae281cf1f..e6a2c80cc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -68,949 +68,949 @@ import org.slf4j.LoggerFactory;
 
 public class ResourceAllocator implements SvcLogicResource {
 
-	private static final Logger log = LoggerFactory.getLogger(ResourceAllocator.class);
-
-	public ResourceAllocator() {
-		log.info("ResourceAllocator created.");
-	}
-
-	private ServerDao serverDao;
-	private VpePortDao vpePortDao;
-	private VplspePortDao vplspePortDao;
-	private MaxPortSpeedDao maxPortSpeedDao;
-	private MaxServerSpeedDao maxServerSpeedDao;
-	private ServiceResourceDao serviceResourceDao;
-	private ParameterDao parameterDao;
-
-	private AllocationRequestBuilder allocationRequestBuilder;
-	private ResourceManager resourceManager;
-	private SpeedUtil speedUtil;
-
-	private EndPointAllocator endPointAllocator;
-
-	@Override
-	public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx)
-	        throws SvcLogicException {
-		return (QueryStatus.SUCCESS);
-	}
-
-	@Override
-	public QueryStatus update(
-	        String resource,
-	        String key,
-	        Map<String, String> parms,
-	        String prefix,
-	        SvcLogicContext ctx) throws SvcLogicException {
-
-		return QueryStatus.SUCCESS;
-	}
-
-	@Override
-	public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx)
-	        throws SvcLogicException {
-		return QueryStatus.SUCCESS;
-	}
-
-	@Override
-	public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2) throws SvcLogicException {
-		return QueryStatus.SUCCESS;
-	}
-
-	@Override
-	public QueryStatus save(
-	        String arg0,
-	        boolean arg1,
-	        boolean arg2,
-	        String arg3,
-	        Map<String, String> arg4,
-	        String arg5,
-	        SvcLogicContext arg6) throws SvcLogicException {
-		return QueryStatus.SUCCESS;
-	}
-
-	@Override
-	public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx)
-	        throws SvcLogicException {
-		String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
-		if (serviceModel != null && serviceModel.trim().length() > 0)
-			return allocateResources(serviceModel, ctx, true, prefix);
-		return allocateResourcesL3SDN(ctx, true, prefix);
-	}
-
-	@Override
-	public QueryStatus query(
-	        String resource,
-	        boolean localOnly,
-	        String select,
-	        String key,
-	        String prefix,
-	        String orderBy,
-	        SvcLogicContext ctx) throws SvcLogicException {
-
-		prefix = prefix == null ? "" : prefix + '.';
-
-		if (!resource.equals("NetworkCapacity")) {
-			log.info("resource: " + resource);
-			log.info("key: " + key);
-
-			Resource r = resourceManager.getResource(resource, key);
-			if (r == null)
-				return QueryStatus.NOT_FOUND;
-
-			if (r instanceof LimitResource) {
-				ctx.setAttribute(prefix + "used", String.valueOf(((LimitResource) r).used));
-
-				log.info("Added context attr: " + prefix + "used: " + String.valueOf(((LimitResource) r).used));
-			}
-
-			return QueryStatus.SUCCESS;
-		}
-
-		log.info("key: " + key);
-		log.info("prefix: " + prefix);
-
-		if (key == null)
-			return QueryStatus.SUCCESS;
-
-		if (key.startsWith("'") && key.endsWith("'"))
-			key = key.substring(1, key.length() - 1);
-
-		String endPointPosition = "VPE-Cust";
-
-		String resourceUnionId = key + '/' + endPointPosition;
-		List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
-
-		log.info("Resources found for " + resourceUnionId + ": " + rlist.size());
-
-		String assetId = null;
-		for (Resource r : rlist) {
-			log.info("Resource: " + r.resourceKey.resourceName);
-
-			if (r instanceof RangeResource) {
-				RangeResource rr = (RangeResource) r;
-				for (AllocationItem ai : r.allocationItems)
-					if (ai.resourceUnionId.equals(resourceUnionId)) {
-						RangeAllocationItem rai = (RangeAllocationItem) ai;
-						ctx.setAttribute(prefix + r.resourceKey.resourceName, String.valueOf(rai.used.first()));
-
-						log.info("Added context attr: " + prefix + r.resourceKey.resourceName + ": " +
-						        String.valueOf(rr.used.first()));
-
-						assetId = r.resourceKey.assetId;
-						String vpeName = assetId;
-						int i1 = assetId.indexOf('/');
-						if (i1 > 0)
-							vpeName = assetId.substring(0, i1);
-						ctx.setAttribute(prefix + "vpe-name", vpeName);
-
-						log.info("Added context attr: " + prefix + "vpe-name: " + vpeName);
-					}
-			}
-		}
-
-		String affinityLink = "1";
-		if (assetId != null) {
-			for (Resource r : rlist) {
-				if (r instanceof LimitResource) {
-					LimitResource ll = (LimitResource) r;
-					if (ll.resourceKey.assetId.startsWith(assetId + '-')) {
-						int i1 = ll.resourceKey.assetId.lastIndexOf('-');
-						affinityLink = ll.resourceKey.assetId.substring(i1 + 1);
-						break;
-					}
-				}
-			}
-		}
-
-		ctx.setAttribute(prefix + "affinity-link", affinityLink);
-
-		log.info("Added context attr: " + prefix + "affinity-link: " + affinityLink);
-
-		return QueryStatus.SUCCESS;
-	}
-
-	@Override
-	public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx)
-	        throws SvcLogicException {
-		String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
-		if (serviceModel != null && serviceModel.trim().length() > 0)
-			return allocateResources(serviceModel, ctx, false, prefix);
-		return allocateResourcesL3SDN(ctx, false, prefix);
-	}
-
-	@Override
-	public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
-		String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
-		if (serviceInstanceId == null)
-			throw new SvcLogicException("tmp.resource-allocator.service-instance-id is required in ResourceAllocator");
-
-		String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-		if (requestTypeStr == null)
-			throw new SvcLogicException("tmp.resource-allocator.request-type is required in ResourceAllocator");
-
-		ReleaseRequestType requestType = null;
-		try {
-			requestType = ReleaseRequestType.convert(requestTypeStr);
-		} catch (IllegalArgumentException e) {
-			throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-			        ". Supported values are Cancel, Activate, Disconnect.");
-		}
-
-		log.info("Starting release: " + requestType + " for: " + serviceInstanceId);
-
-		ServiceResource activeServiceResource =
-		        serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-		ServiceResource pendingServiceResource =
-		        serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-		log.info("Active ServiceResource: ");
-		StrUtil.info(log, activeServiceResource);
-		log.info("Pending ServiceResource: ");
-		StrUtil.info(log, pendingServiceResource);
-
-		if (requestType == ReleaseRequestType.Cancel) {
-			if (pendingServiceResource != null) {
-				log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
-
-				resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-				serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
-			} else {
-				log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
-			}
-
-		} else if (requestType == ReleaseRequestType.Activate) {
-			if (pendingServiceResource != null) {
-				if (activeServiceResource != null) {
-					log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
-
-					resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
-					serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
-				}
-
-				log.info("Updating the status of the pending record to active.");
-
-				serviceResourceDao.updateServiceStatus(serviceInstanceId, ServiceStatus.Pending, ServiceStatus.Active);
-			} else {
-				log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
-			}
-
-		} else if (requestType == ReleaseRequestType.Disconnect) {
-			if (pendingServiceResource != null) {
-				log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
-
-				resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-				serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
-			}
-			if (activeServiceResource != null) {
-				log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
-
-				resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
-				serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
-			}
-		}
-
-		return QueryStatus.SUCCESS;
-	}
-
-	private QueryStatus allocateResourcesL3SDN(SvcLogicContext ctx, boolean checkOnly, String prefix)
-	        throws SvcLogicException {
-		prefix = prefix == null ? "" : prefix + '.';
-
-		String aicSiteId = getAicSiteId(ctx);
-		Map<String, Object> service = getServiceData(ctx);
-
-		String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-		if (requestTypeStr == null)
-			requestTypeStr = "New";
-
-		ReserveRequestType requestType = null;
-		try {
-			requestType = ReserveRequestType.convert(requestTypeStr);
-		} catch (IllegalArgumentException e) {
-			throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-			        ". Supported values are New, Change.");
-		}
-
-		String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
-
-		ServiceResource activeServiceResource =
-		        serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-		ServiceResource pendingServiceResource =
-		        serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-		log.info("Active ServiceResource: ");
-		StrUtil.info(log, activeServiceResource);
-		log.info("Pending ServiceResource: ");
-		StrUtil.info(log, pendingServiceResource);
-
-		ServiceResource sr = new ServiceResource();
-		sr.serviceInstanceId = serviceInstanceId;
-		sr.serviceStatus = ServiceStatus.Pending;
-		sr.serviceChangeNumber = 1;
-		if (pendingServiceResource != null)
-			sr.serviceChangeNumber = pendingServiceResource.serviceChangeNumber + 1;
-		else if (activeServiceResource != null)
-			sr.serviceChangeNumber = activeServiceResource.serviceChangeNumber + 1;
-		sr.resourceSetId = serviceInstanceId + "/" + sr.serviceChangeNumber;
-		sr.resourceUnionId = serviceInstanceId;
-
-		log.info("New ServiceResource: ");
-		StrUtil.info(log, sr);
-
-		List<Map<String, Object>> vpePortData = vpePortDao.getVpePortData(aicSiteId);
-		List<Map<String, Object>> vplspePortData = vplspePortDao.getVplspePortData(aicSiteId);
-		List<Map<String, Object>> serverData = serverDao.getServerData(aicSiteId);
-
-		vpePortData = orderVpe(vpePortData);
-
-		long maxAvailableSpeedVpePort = 0;
-		boolean vpePortFound = false;
-
-		for (Map<String, Object> vpe : vpePortData) {
-			String vpeId = String.valueOf(vpe.get("vpe-id"));
-			String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
-			String portId = vpeId + "/" + interfaceName;
-
-			log.info("Checking VPE port: " + portId);
-
-			String provStatus = String.valueOf(vpe.get("provisioning-status"));
-			if (!provStatus.equals("PROV")) {
-				log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
-				continue;
-			}
-
-			String imageFile = String.valueOf(vpe.get("image-file-name"));
-			String endPointPosition = "VPE-Cust";
-			long maxPortSpeed = maxPortSpeedDao.getMaxPortSpeed(imageFile, endPointPosition, interfaceName);
-			vpe.put("max-port-speed", maxPortSpeed);
-
-			EquipmentData ed = new EquipmentData();
-			ed.data = vpe;
-			ed.equipmentId = portId;
-			ed.equipmentLevel = EquipmentLevel.Port;
-
-			ServiceData sd = new ServiceData();
-			sd.data = service;
-			sd.serviceModel = "L3SDN";
-			sd.endPointPosition = endPointPosition;
-			sd.resourceUnionId = sr.resourceUnionId;
-			sd.resourceSetId = sr.resourceSetId;
-
-			StrUtil.info(log, ed);
-			StrUtil.info(log, sd);
-
-			AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-			        requestType == ReserveRequestType.Change);
-			AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-			if (ao.status == AllocationStatus.Success) {
-
-				// Assign affinity link
-				if (!checkOnly) {
-					List<String> affinityLinkIdList = new ArrayList<>();
-					affinityLinkIdList.add("0");
-					affinityLinkIdList.add("1");
-					affinityLinkIdList.add("2");
-					affinityLinkIdList.add("3");
-
-					String preferedAffinityLinkId = "0";
-					long lowestAssignedBw = Long.MAX_VALUE;
-					for (String affinityLinkId : affinityLinkIdList) {
-						long used = 0;
-						String assetId = ed.equipmentId + "-" + affinityLinkId;
-						Resource r = resourceManager.getResource("Bandwidth", assetId);
-						if (r != null) {
-							LimitResource ll = (LimitResource) r;
-							used = ll.used;
-						}
-						if (used < lowestAssignedBw) {
-							lowestAssignedBw = used;
-							preferedAffinityLinkId = affinityLinkId;
-						}
-						log.info("Assigned bandwidth on affinity link: " + assetId + ": " + used);
-					}
-
-					log.info("Prefered affinity link for " + ed.equipmentId + ": " + preferedAffinityLinkId);
-
-					ctx.setAttribute(prefix + "affinity-link", preferedAffinityLinkId);
-
-					LimitAllocationRequest ar1 = new LimitAllocationRequest();
-					ar1.resourceSetId = sd.resourceSetId;
-					ar1.resourceUnionId = sd.resourceUnionId;
-					ar1.resourceShareGroupList = null;
-					ar1.resourceName = "Bandwidth";
-					ar1.assetId = ed.equipmentId + "-" + preferedAffinityLinkId;
-					ar1.missingResourceAction = AllocationAction.Succeed_Allocate;
-					ar1.expiredResourceAction = AllocationAction.Succeed_Allocate;
-					ar1.replace = true;
-					ar1.strict = false;
-					ar1.checkLimit = Long.MAX_VALUE;
-					ar1.checkCount = 0;
-					ar1.allocateCount = (Long) sd.data.get("service-speed-kbps");
-
-					resourceManager.allocateResources(ar1);
-				}
-
-				ctx.setAttribute(prefix + "vpe-name", vpeId);
-
-				vpePortFound = true;
-				break;
-			}
-
-			if (ao instanceof LimitAllocationOutcome) {
-				LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
-				long available = lao.limit - lao.used;
-				if (available > maxAvailableSpeedVpePort)
-					maxAvailableSpeedVpePort = available;
-			}
-		}
-
-		long maxAvailableSpeedVplspePort = 0;
-		boolean vplspePortFound = false;
-
-		for (Map<String, Object> vplspe : vplspePortData) {
-			String vplspeId = String.valueOf(vplspe.get("vplspe-id"));
-			String interfaceName = String.valueOf(vplspe.get("physical-interface-name"));
-			String portId = vplspeId + "/" + interfaceName;
-
-			log.info("Checking VPLSPE port: " + portId);
-
-			String provStatus = String.valueOf(vplspe.get("provisioning-status"));
-			if (!provStatus.equals("PROV")) {
-				log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
-				continue;
-			}
-
-			long physicalSpeed = (Long) vplspe.get("physical-interface-speed");
-			String physicalSpeedUnit = String.valueOf(vplspe.get("physical-interface-speed-unit"));
-			long maxPortSpeed = speedUtil.convertToKbps(physicalSpeed, physicalSpeedUnit);
-			vplspe.put("max-port-speed", maxPortSpeed);
-
-			EquipmentData ed = new EquipmentData();
-			ed.data = vplspe;
-			ed.equipmentId = portId;
-			ed.equipmentLevel = EquipmentLevel.Port;
-
-			ServiceData sd = new ServiceData();
-			sd.data = service;
-			sd.serviceModel = "L3SDN";
-			sd.endPointPosition = "IPAG-TOA";
-			sd.resourceUnionId = sr.resourceUnionId;
-			sd.resourceSetId = sr.resourceSetId;
-
-			StrUtil.info(log, ed);
-			StrUtil.info(log, sd);
-
-			AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-			        requestType == ReserveRequestType.Change);
-			AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-			if (ao.status == AllocationStatus.Success) {
-				vplspePortFound = true;
-				break;
-			}
-
-			if (ao instanceof LimitAllocationOutcome) {
-				LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
-				long available = lao.limit - lao.used;
-				if (available > maxAvailableSpeedVplspePort)
-					maxAvailableSpeedVplspePort = available;
-			}
-		}
-
-		long maxAvailableSpeedServer = 0;
-		boolean serverFound = false;
-
-		for (Map<String, Object> server : serverData) {
-			String serverId = String.valueOf(server.get("server-id"));
-			String serverModel = String.valueOf(server.get("server-model"));
-
-			log.info("Checking Server: " + serverId);
-
-			String endPointPosition = "VCE-Cust";
-
-			int serverCount = (Integer) server.get("server-count");
-			if (serverCount == 0)
-				serverCount = 1;
-			String ratioString = parameterDao.getParameter("homing.pserver.sparing.ratio");
-			if (ratioString == null || ratioString.length() == 0)
-				ratioString = "1:1";
-			int primaryServerCount = calculatePrimaryServerCount(serverCount, ratioString);
-			server.put("number-primary-servers", primaryServerCount);
-
-			int evcCount = getEvcCountOnServer(serverId);
-			int evcCountPerServer = (evcCount + primaryServerCount - 1) / primaryServerCount;
-			long maxServerSpeed = maxServerSpeedDao.getMaxServerSpeed(serverModel, evcCountPerServer);
-			server.put("max-server-speed", maxServerSpeed);
-			server.put("evc-count", evcCount);
-			server.put("evc-count-per-server", evcCountPerServer);
-
-			EquipmentData ed = new EquipmentData();
-			ed.data = server;
-			ed.equipmentId = serverId;
-			ed.equipmentLevel = EquipmentLevel.Server;
-
-			ServiceData sd = new ServiceData();
-			sd.data = service;
-			sd.serviceModel = "L3SDN";
-			sd.endPointPosition = endPointPosition;
-			sd.resourceUnionId = sr.resourceUnionId;
-			sd.resourceSetId = sr.resourceSetId;
-
-			StrUtil.info(log, ed);
-			StrUtil.info(log, sd);
-
-			AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-			        requestType == ReserveRequestType.Change);
-			AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-			if (ao.status == AllocationStatus.Success) {
-				serverFound = true;
-
-				if (ao instanceof MultiResourceAllocationOutcome) {
-					MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
-					for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
-						if (ao1 instanceof LimitAllocationOutcome) {
-							LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
-							if (lao.request.resourceName.equals("Bandwidth")) {
-								ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
-								setThresholdData(ctx, th, sd, ed);
-							}
-						}
-					}
-				}
-
-				break;
-			}
-
-			if (ao instanceof MultiResourceAllocationOutcome) {
-				MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
-				for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
-					if (ao1 instanceof LimitAllocationOutcome) {
-						LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
-						if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Bandwidth")) {
-							long available = lao.limit - lao.used;
-							if (available > maxAvailableSpeedServer)
-								maxAvailableSpeedServer = available;
-						}
-						if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Connection")) {
-							maxAvailableSpeedServer = 0;
-							break;
-						}
-
-						ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
-						setThresholdData(ctx, th, sd, ed);
-					}
-				}
-			}
-		}
-
-		if (vpePortFound && vplspePortFound && serverFound) {
-			if (!checkOnly) {
-				if (pendingServiceResource == null) {
-					log.info("Adding the pending service resource record to DB.");
-					serviceResourceDao.addServiceResource(sr);
-				} else {
-					log.info("Releasing previously allocated resources for resource set id: " +
-					        pendingServiceResource.resourceSetId);
-					resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-
-					log.info("Updating the pending service resource record in DB with service change number: " +
-					        sr.serviceChangeNumber);
-					serviceResourceDao.updateServiceResource(sr);
-				}
-			}
-
-			return QueryStatus.SUCCESS;
-		}
-
-		log.info("Releasing allocated resources (if any) for resource set id: " + sr.resourceSetId);
-		resourceManager.releaseResourceSet(sr.resourceSetId);
-
-		long maxAvailableSpeed = Long.MAX_VALUE;
-		if (!vpePortFound && maxAvailableSpeedVpePort < maxAvailableSpeed)
-			maxAvailableSpeed = maxAvailableSpeedVpePort;
-		if (!vplspePortFound && maxAvailableSpeedVplspePort < maxAvailableSpeed)
-			maxAvailableSpeed = maxAvailableSpeedVplspePort;
-		if (!serverFound && maxAvailableSpeedServer < maxAvailableSpeed)
-			maxAvailableSpeed = maxAvailableSpeedServer;
-
-		setOutputContext(ctx, maxAvailableSpeed, "kbps");
-		return QueryStatus.NOT_FOUND;
-	}
-
-	private List<Map<String, Object>> orderVpe(List<Map<String, Object>> vpePortData) {
-		for (Map<String, Object> vpe : vpePortData) {
-			String vpeId = String.valueOf(vpe.get("vpe-id"));
-			String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
-			String portId = vpeId + "/" + interfaceName;
-			Resource r = resourceManager.getResource("Bandwidth", portId);
-			long used = 0;
-			if (r != null) {
-				LimitResource ll = (LimitResource) r;
-				used = ll.used;
-			}
-			vpe.put("used-bandwidth", used);
-
-			log.info("Used bandwidth on VPE: " + vpeId + ": " + used);
-		}
-
-		Collections.sort(vpePortData, new Comparator<Map<String, Object>>() {
-
-			@Override
-			public int compare(Map<String, Object> o1, Map<String, Object> o2) {
-				long used1 = (Long) o1.get("used-bandwidth");
-				long used2 = (Long) o2.get("used-bandwidth");
-				if (used1 < used2)
-					return -1;
-				if (used1 > used2)
-					return 1;
-				return 0;
-			}
-		});
-
-		return vpePortData;
-	}
-
-	private void setThresholdData(SvcLogicContext ctx, ThresholdStatus th, ServiceData sd, EquipmentData ed) {
-		if (th == null)
-			return;
-
-		String pp = "tmp.resource-allocator-output.threshold-notification-list.threshold-hotification[0].";
-		ctx.setAttribute("tmp.resource-allocator-output.threshold-notification-list.threshold-hotification_length",
-		        "1");
-		ctx.setAttribute(pp + "message", th.resourceThreshold.message);
-		ctx.setAttribute(pp + "resource-rule.service-model", th.resourceRule.serviceModel);
-		ctx.setAttribute(pp + "resource-rule.endpoint-position", th.resourceRule.endPointPosition);
-		ctx.setAttribute(pp + "resource-rule.resource-name", th.resourceRule.resourceName);
-		ctx.setAttribute(pp + "resource-rule.equipment-level", th.resourceRule.equipmentLevel);
-		ctx.setAttribute(pp + "resource-rule.soft-limit-expression", th.resourceRule.softLimitExpression);
-		ctx.setAttribute(pp + "resource-rule.hard-limit-expression", th.resourceRule.hardLimitExpression);
-		ctx.setAttribute(pp + "resource-state.used", String.valueOf(th.used));
-		ctx.setAttribute(pp + "resource-state.limit-value", String.valueOf(th.limitValue));
-		ctx.setAttribute(pp + "resource-state.threshold-value", String.valueOf(th.thresholdValue));
-		ctx.setAttribute(pp + "resource-state.last-added", String.valueOf(th.lastAdded));
-		ctx.setAttribute(pp + "equipment-data.equipment-id", ed.equipmentId);
-		for (String edKey : ed.data.keySet())
-			ctx.setAttribute(pp + "equipment-data." + edKey, String.valueOf(ed.data.get(edKey)));
-	}
-
-	private QueryStatus allocateResources(String serviceModel, SvcLogicContext ctx, boolean checkOnly, String prefix)
-	        throws SvcLogicException {
-		prefix = prefix == null ? "" : prefix + '.';
-
-		Map<String, Object> service = getServiceData(ctx);
-		Map<String, Object> ec = getEquipConstraints(ctx);
-
-		String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-		if (requestTypeStr == null)
-			requestTypeStr = "New";
-
-		ReserveRequestType requestType = null;
-		try {
-			requestType = ReserveRequestType.convert(requestTypeStr);
-		} catch (IllegalArgumentException e) {
-			throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-			        ". Supported values are New, Change.");
-		}
-
-		String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
-
-		log.info("Starting reserve: " + requestType + ", service-instance-id: " + serviceInstanceId);
-
-		ServiceResource activeServiceResource =
-		        serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-		ServiceResource pendingServiceResource =
-		        serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-		log.info("Active ServiceResource: ");
-		StrUtil.info(log, activeServiceResource);
-		log.info("Pending ServiceResource: ");
-		StrUtil.info(log, pendingServiceResource);
-
-		int changeNumber = 1;
-		if (pendingServiceResource != null)
-			changeNumber = pendingServiceResource.serviceChangeNumber + 1;
-		else if (activeServiceResource != null)
-			changeNumber = activeServiceResource.serviceChangeNumber + 1;
-
-		ServiceData sd = new ServiceData();
-		sd.data = service;
-		sd.serviceModel = serviceModel;
-		sd.endPointPosition = (String) service.get("end-point-position");
-		sd.resourceShareGroup = (String) service.get("resource-share-group");
-		sd.resourceName = (String) service.get("resource-name");
-		sd.serviceInstanceId = serviceInstanceId;
-
-		StrUtil.info(log, sd);
-
-		List<EndPointData> epList = endPointAllocator.allocateEndPoints(sd, ec, checkOnly,
-		        requestType == ReserveRequestType.Change, changeNumber);
-
-		if (epList != null && !epList.isEmpty()) {
-			if (!checkOnly) {
-				EndPointData ep = epList.get(0);
-
-				if (sd.resourceName == null) {
-				ServiceResource sr = new ServiceResource();
-				sr.serviceInstanceId = serviceInstanceId;
-				sr.serviceStatus = ServiceStatus.Pending;
-				sr.serviceChangeNumber = changeNumber;
-				sr.resourceSetId = ep.resourceSetId;
-				sr.resourceUnionId = ep.resourceUnionId;
-
-				log.info("New ServiceResource: ");
-				StrUtil.info(log, sr);
-
-				if (pendingServiceResource == null) {
-					log.info("Adding the pending service resource record to DB.");
-					serviceResourceDao.addServiceResource(sr);
-				} else {
-					log.info("Releasing previously allocated resources for resource set id: " +
-					        pendingServiceResource.resourceSetId);
-					resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-
-					log.info("Updating the pending service resource record in DB with service change number: " +
-					        sr.serviceChangeNumber);
-					serviceResourceDao.updateServiceResource(sr);
-				}
-			}
-
-				for (EndPointData ep1 : epList)
-					if (ep1.data != null && !ep1.data.isEmpty())
-						for (String key : ep1.data.keySet()) {
-							String value = String.valueOf(ep1.data.get(key));
-							ctx.setAttribute(prefix + key, value);
-
-							log.info("Added context attr: " + prefix + key + ": " + value);
-						}
-			}
-
-			return QueryStatus.SUCCESS;
-		}
-
-		log.info("Capacity not found for EVC: " + serviceInstanceId);
-
-		return QueryStatus.NOT_FOUND;
-	}
-
-	private int getEvcCountOnServer(String serverId) {
-		LimitResource l = (LimitResource) resourceManager.getResource("Connection", serverId);
-		if (l != null)
-			return (int) l.used;
-		return 0;
-	}
-
-	private String getAicSiteId(SvcLogicContext ctx) throws SvcLogicException {
-		String aicSiteId = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
-		if (aicSiteId == null)
-			throw new SvcLogicException("tmp.resource-allocator.aic-site-id is required in ResourceAllocator");
-		return aicSiteId;
-	}
-
-	private Map<String, Object> getServiceData(SvcLogicContext ctx) throws SvcLogicException {
-		Map<String, Object> sd = new HashMap<String, Object>();
-
-		String endPointPosition = ctx.getAttribute("tmp.resource-allocator.end-point-position");
-		if (endPointPosition != null && endPointPosition.trim().length() > 0)
-			sd.put("end-point-position", endPointPosition.trim());
-
-		String resourceName = ctx.getAttribute("tmp.resource-allocator.resource-name");
-		if (resourceName != null && resourceName.trim().length() > 0)
-			sd.put("resource-name", resourceName.trim());
-
-		String resourceShareGroup = ctx.getAttribute("tmp.resource-allocator.resource-share-group");
-		if (resourceShareGroup != null && resourceShareGroup.trim().length() > 0)
-			sd.put("resource-share-group", resourceShareGroup.trim());
-
-		String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
-		if (serviceInstanceId == null)
-			serviceInstanceId = "checkServiceInstance";
-		sd.put("service-instance-id", serviceInstanceId);
-
-		String speedStr = ctx.getAttribute("tmp.resource-allocator.speed");
-		if (speedStr != null && speedStr.trim().length() > 0) {
-		long speed = 0;
-		try {
-			speed = Long.parseLong(speedStr);
-		} catch (NumberFormatException e) {
-			throw new SvcLogicException("Invalid tmp.resource-allocator.speed. Must be a number.");
-		}
-		String unit = ctx.getAttribute("tmp.resource-allocator.speed-unit");
-		if (unit == null || unit.trim().length() == 0)
-			throw new SvcLogicException("tmp.resource-allocator.speed-unit is required in ResourceAllocator");
-		long serviceSpeedKbps = speedUtil.convertToKbps(speed, unit);
-
-		sd.put("service-speed-kbps", serviceSpeedKbps);
-		}
-
-		String vpnId = ctx.getAttribute("tmp.resource-allocator.vpn-id");
-		if (vpnId != null && vpnId.trim().length() > 0)
-			sd.put("vpn-id", vpnId.trim());
-
-		String vpnIdList = ctx.getAttribute("tmp.resource-allocator.vpn-id-list");
-		if (vpnIdList != null && vpnIdList.trim().length() > 0)
-			sd.put("vpn-id-list", vpnIdList.trim());
-
-		String vrfName = ctx.getAttribute("tmp.resource-allocator.vrf-name");
-		if (vrfName != null && vrfName.trim().length() > 0)
-			sd.put("vrf-name", vrfName.trim());
-
-		String vrfNameList = ctx.getAttribute("tmp.resource-allocator.vrf-name-list");
-		if (vrfNameList != null && vrfNameList.trim().length() > 0)
-			sd.put("vrf-name-list", vrfNameList.trim());
-
-		String v4multicast = ctx.getAttribute("tmp.resource-allocator.v4-multicast");
-		if (v4multicast != null && v4multicast.trim().length() > 0)
-			sd.put("v4-multicast", v4multicast.trim());
-
-		String v6multicast = ctx.getAttribute("tmp.resource-allocator.v6-multicast");
-		if (v6multicast != null && v6multicast.trim().length() > 0)
-			sd.put("v6-multicast", v6multicast.trim());
-
-		String v4ServingSite = ctx.getAttribute("tmp.resource-allocator.v4-serving-site");
-		if (v4ServingSite != null && v4ServingSite.trim().length() > 0)
-			sd.put("v4-serving-site", v4ServingSite.trim());
-
-		String v6ServingSite = ctx.getAttribute("tmp.resource-allocator.v6-serving-site");
-		if (v6ServingSite != null && v6ServingSite.trim().length() > 0)
-			sd.put("v6-serving-site", v6ServingSite.trim());
-
-		return sd;
-	}
-
-	private Map<String, Object> getEquipConstraints(SvcLogicContext ctx) throws SvcLogicException {
-		Map<String, Object> mm = new HashMap<String, Object>();
-
-		String vrfRequired = ctx.getAttribute("tmp.resource-allocator.vrf-required");
-		if (vrfRequired != null && vrfRequired.trim().length() > 0)
-			mm.put("vrf-required", vrfRequired.trim());
-
-		String clli = ctx.getAttribute("tmp.resource-allocator.clli");
-		if (clli == null || clli.trim().length() == 0)
-			clli = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
-		if (clli != null) {
-		mm.put("clli", clli.trim());
-			mm.put("aic-site-id", clli.trim());
-		}
-
-		String vpeName = ctx.getAttribute("tmp.resource-allocator.vpe-name");
-		if (vpeName != null && vpeName.trim().length() > 0)
-			mm.put("vpe-name", vpeName.trim());
-
-		String vnfName = ctx.getAttribute("tmp.resource-allocator.device-name");
-		if (vnfName != null && vnfName.trim().length() > 0)
-			mm.put("vnf-name", vnfName.trim());
-
-		String excludeVpeList = ctx.getAttribute("tmp.resource-allocator.exclude-vpe-list");
-		if (excludeVpeList != null && excludeVpeList.trim().length() > 0)
-			mm.put("exclude-vpe-list", excludeVpeList.trim());
-
-		String uplinkCircuitCountStr =
-		        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length");
-		if (uplinkCircuitCountStr != null) {
-			long uplinkCircuitCount = 0;
-			try {
-				uplinkCircuitCount = Long.parseLong(uplinkCircuitCountStr);
-			} catch (NumberFormatException e) {
-				throw new SvcLogicException(
-				        "Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length. Must be a number.");
-			}
-			List<Map<String, Object>> uplinkCircuitList = new ArrayList<>();
-			for (int i = 0; i < uplinkCircuitCount; i++) {
-				String uplinkCircuitId = ctx.getAttribute(
-				        "tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i + "].uplink-circuit-id");
-				String uplinkCircuitBandwidthStr =
-				        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
-				                "].uplink-circuit-bandwidth");
-				String uplinkCircuitBandwidthUnit =
-				        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
-				                "].uplink-circuit-bandwidth-unit");
-
-				long uplinkCircuitBandwidth = 0;
-				try {
-					uplinkCircuitBandwidth = Long.parseLong(uplinkCircuitBandwidthStr);
-				} catch (NumberFormatException e) {
-					throw new SvcLogicException("Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" +
-					        i + "].uplink-circuit-id. Must be a number.");
-				}
-
-				long uplinkCircuitBandwidthKbps =
-				        speedUtil.convertToKbps(uplinkCircuitBandwidth, uplinkCircuitBandwidthUnit);
-
-				Map<String, Object> uplinkCircuit = new HashMap<String, Object>();
-				uplinkCircuit.put("uplink-circuit-id", uplinkCircuitId);
-				uplinkCircuit.put("uplink-circuit-bandwidth", uplinkCircuitBandwidthKbps);
-				uplinkCircuitList.add(uplinkCircuit);
-			}
-			mm.put("uplink-circuit-list", uplinkCircuitList);
-		}
-
-		return mm;
-	}
-
-	private void setOutputContext(SvcLogicContext ctx, long maxAvailableSpeed, String unit) {
-		ctx.setAttribute("tmp.resource-allocator-output.max-available-speed", String.valueOf(maxAvailableSpeed));
-		ctx.setAttribute("tmp.resource-allocator-output.speed-unit", unit);
-	}
-
-	private int calculatePrimaryServerCount(int serverCount, String ratioString) throws SvcLogicException {
-		String[] ss = ratioString.split(":");
-		if (ss.length != 2)
-			throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
-
-		int n = 1, m = 1;
-		try {
-			n = Integer.parseInt(ss[0]);
-			m = Integer.parseInt(ss[1]);
-		} catch (Exception e) {
-			throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
-		}
-
-		return (serverCount - 1) * n / (n + m) + 1;
-	}
-
-	public void setServerDao(ServerDao serverDao) {
-		this.serverDao = serverDao;
-	}
-
-	public void setVpePortDao(VpePortDao vpePortDao) {
-		this.vpePortDao = vpePortDao;
-	}
-
-	public void setVplspePortDao(VplspePortDao vplspePortDao) {
-		this.vplspePortDao = vplspePortDao;
-	}
-
-	public void setMaxPortSpeedDao(MaxPortSpeedDao maxPortSpeedDao) {
-		this.maxPortSpeedDao = maxPortSpeedDao;
-	}
-
-	public void setMaxServerSpeedDao(MaxServerSpeedDao maxServerSpeedDao) {
-		this.maxServerSpeedDao = maxServerSpeedDao;
-	}
-
-	public void setAllocationRequestBuilder(AllocationRequestBuilder allocationRequestBuilder) {
-		this.allocationRequestBuilder = allocationRequestBuilder;
-	}
-
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
-
-	public void setSpeedUtil(SpeedUtil speedUtil) {
-		this.speedUtil = speedUtil;
-	}
-
-	public void setServiceResourceDao(ServiceResourceDao serviceResourceDao) {
-		this.serviceResourceDao = serviceResourceDao;
-	}
-
-	public void setEndPointAllocator(EndPointAllocator endPointAllocator) {
-		this.endPointAllocator = endPointAllocator;
-	}
-
-	public void setParameterDao(ParameterDao parameterDao) {
-		this.parameterDao = parameterDao;
-	}
+    private static final Logger log = LoggerFactory.getLogger(ResourceAllocator.class);
+
+    public ResourceAllocator() {
+        log.info("ResourceAllocator created.");
+    }
+
+    private ServerDao serverDao;
+    private VpePortDao vpePortDao;
+    private VplspePortDao vplspePortDao;
+    private MaxPortSpeedDao maxPortSpeedDao;
+    private MaxServerSpeedDao maxServerSpeedDao;
+    private ServiceResourceDao serviceResourceDao;
+    private ParameterDao parameterDao;
+
+    private AllocationRequestBuilder allocationRequestBuilder;
+    private ResourceManager resourceManager;
+    private SpeedUtil speedUtil;
+
+    private EndPointAllocator endPointAllocator;
+
+    @Override
+    public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx)
+            throws SvcLogicException {
+        return (QueryStatus.SUCCESS);
+    }
+
+    @Override
+    public QueryStatus update(
+            String resource,
+            String key,
+            Map<String, String> parms,
+            String prefix,
+            SvcLogicContext ctx) throws SvcLogicException {
+
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2) throws SvcLogicException {
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus save(
+            String arg0,
+            boolean arg1,
+            boolean arg2,
+            String arg3,
+            Map<String, String> arg4,
+            String arg5,
+            SvcLogicContext arg6) throws SvcLogicException {
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
+        if (serviceModel != null && serviceModel.trim().length() > 0)
+            return allocateResources(serviceModel, ctx, true, prefix);
+        return allocateResourcesL3SDN(ctx, true, prefix);
+    }
+
+    @Override
+    public QueryStatus query(
+            String resource,
+            boolean localOnly,
+            String select,
+            String key,
+            String prefix,
+            String orderBy,
+            SvcLogicContext ctx) throws SvcLogicException {
+
+        prefix = prefix == null ? "" : prefix + '.';
+
+        if (!resource.equals("NetworkCapacity")) {
+            log.info("resource: " + resource);
+            log.info("key: " + key);
+
+            Resource r = resourceManager.getResource(resource, key);
+            if (r == null)
+                return QueryStatus.NOT_FOUND;
+
+            if (r instanceof LimitResource) {
+                ctx.setAttribute(prefix + "used", String.valueOf(((LimitResource) r).used));
+
+                log.info("Added context attr: " + prefix + "used: " + String.valueOf(((LimitResource) r).used));
+            }
+
+            return QueryStatus.SUCCESS;
+        }
+
+        log.info("key: " + key);
+        log.info("prefix: " + prefix);
+
+        if (key == null)
+            return QueryStatus.SUCCESS;
+
+        if (key.startsWith("'") && key.endsWith("'"))
+            key = key.substring(1, key.length() - 1);
+
+        String endPointPosition = "VPE-Cust";
+
+        String resourceUnionId = key + '/' + endPointPosition;
+        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
+
+        log.info("Resources found for " + resourceUnionId + ": " + rlist.size());
+
+        String assetId = null;
+        for (Resource r : rlist) {
+            log.info("Resource: " + r.resourceKey.resourceName);
+
+            if (r instanceof RangeResource) {
+                RangeResource rr = (RangeResource) r;
+                for (AllocationItem ai : r.allocationItems)
+                    if (ai.resourceUnionId.equals(resourceUnionId)) {
+                        RangeAllocationItem rai = (RangeAllocationItem) ai;
+                        ctx.setAttribute(prefix + r.resourceKey.resourceName, String.valueOf(rai.used.first()));
+
+                        log.info("Added context attr: " + prefix + r.resourceKey.resourceName + ": " +
+                                String.valueOf(rr.used.first()));
+
+                        assetId = r.resourceKey.assetId;
+                        String vpeName = assetId;
+                        int i1 = assetId.indexOf('/');
+                        if (i1 > 0)
+                            vpeName = assetId.substring(0, i1);
+                        ctx.setAttribute(prefix + "vpe-name", vpeName);
+
+                        log.info("Added context attr: " + prefix + "vpe-name: " + vpeName);
+                    }
+            }
+        }
+
+        String affinityLink = "1";
+        if (assetId != null) {
+            for (Resource r : rlist) {
+                if (r instanceof LimitResource) {
+                    LimitResource ll = (LimitResource) r;
+                    if (ll.resourceKey.assetId.startsWith(assetId + '-')) {
+                        int i1 = ll.resourceKey.assetId.lastIndexOf('-');
+                        affinityLink = ll.resourceKey.assetId.substring(i1 + 1);
+                        break;
+                    }
+                }
+            }
+        }
+
+        ctx.setAttribute(prefix + "affinity-link", affinityLink);
+
+        log.info("Added context attr: " + prefix + "affinity-link: " + affinityLink);
+
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
+        if (serviceModel != null && serviceModel.trim().length() > 0)
+            return allocateResources(serviceModel, ctx, false, prefix);
+        return allocateResourcesL3SDN(ctx, false, prefix);
+    }
+
+    @Override
+    public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
+        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
+        if (serviceInstanceId == null)
+            throw new SvcLogicException("tmp.resource-allocator.service-instance-id is required in ResourceAllocator");
+
+        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
+        if (requestTypeStr == null)
+            throw new SvcLogicException("tmp.resource-allocator.request-type is required in ResourceAllocator");
+
+        ReleaseRequestType requestType = null;
+        try {
+            requestType = ReleaseRequestType.convert(requestTypeStr);
+        } catch (IllegalArgumentException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
+                    ". Supported values are Cancel, Activate, Disconnect.");
+        }
+
+        log.info("Starting release: " + requestType + " for: " + serviceInstanceId);
+
+        ServiceResource activeServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
+        ServiceResource pendingServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
+
+        log.info("Active ServiceResource: ");
+        StrUtil.info(log, activeServiceResource);
+        log.info("Pending ServiceResource: ");
+        StrUtil.info(log, pendingServiceResource);
+
+        if (requestType == ReleaseRequestType.Cancel) {
+            if (pendingServiceResource != null) {
+                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
+
+                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
+            } else {
+                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
+            }
+
+        } else if (requestType == ReleaseRequestType.Activate) {
+            if (pendingServiceResource != null) {
+                if (activeServiceResource != null) {
+                    log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
+
+                    resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
+                    serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
+                }
+
+                log.info("Updating the status of the pending record to active.");
+
+                serviceResourceDao.updateServiceStatus(serviceInstanceId, ServiceStatus.Pending, ServiceStatus.Active);
+            } else {
+                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
+            }
+
+        } else if (requestType == ReleaseRequestType.Disconnect) {
+            if (pendingServiceResource != null) {
+                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
+
+                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
+            }
+            if (activeServiceResource != null) {
+                log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
+
+                resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
+                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
+            }
+        }
+
+        return QueryStatus.SUCCESS;
+    }
+
+    private QueryStatus allocateResourcesL3SDN(SvcLogicContext ctx, boolean checkOnly, String prefix)
+            throws SvcLogicException {
+        prefix = prefix == null ? "" : prefix + '.';
+
+        String aicSiteId = getAicSiteId(ctx);
+        Map<String, Object> service = getServiceData(ctx);
+
+        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
+        if (requestTypeStr == null)
+            requestTypeStr = "New";
+
+        ReserveRequestType requestType = null;
+        try {
+            requestType = ReserveRequestType.convert(requestTypeStr);
+        } catch (IllegalArgumentException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
+                    ". Supported values are New, Change.");
+        }
+
+        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
+
+        ServiceResource activeServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
+        ServiceResource pendingServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
+
+        log.info("Active ServiceResource: ");
+        StrUtil.info(log, activeServiceResource);
+        log.info("Pending ServiceResource: ");
+        StrUtil.info(log, pendingServiceResource);
+
+        ServiceResource sr = new ServiceResource();
+        sr.serviceInstanceId = serviceInstanceId;
+        sr.serviceStatus = ServiceStatus.Pending;
+        sr.serviceChangeNumber = 1;
+        if (pendingServiceResource != null)
+            sr.serviceChangeNumber = pendingServiceResource.serviceChangeNumber + 1;
+        else if (activeServiceResource != null)
+            sr.serviceChangeNumber = activeServiceResource.serviceChangeNumber + 1;
+        sr.resourceSetId = serviceInstanceId + "/" + sr.serviceChangeNumber;
+        sr.resourceUnionId = serviceInstanceId;
+
+        log.info("New ServiceResource: ");
+        StrUtil.info(log, sr);
+
+        List<Map<String, Object>> vpePortData = vpePortDao.getVpePortData(aicSiteId);
+        List<Map<String, Object>> vplspePortData = vplspePortDao.getVplspePortData(aicSiteId);
+        List<Map<String, Object>> serverData = serverDao.getServerData(aicSiteId);
+
+        vpePortData = orderVpe(vpePortData);
+
+        long maxAvailableSpeedVpePort = 0;
+        boolean vpePortFound = false;
+
+        for (Map<String, Object> vpe : vpePortData) {
+            String vpeId = String.valueOf(vpe.get("vpe-id"));
+            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
+            String portId = vpeId + "/" + interfaceName;
+
+            log.info("Checking VPE port: " + portId);
+
+            String provStatus = String.valueOf(vpe.get("provisioning-status"));
+            if (!provStatus.equals("PROV")) {
+                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
+                continue;
+            }
+
+            String imageFile = String.valueOf(vpe.get("image-file-name"));
+            String endPointPosition = "VPE-Cust";
+            long maxPortSpeed = maxPortSpeedDao.getMaxPortSpeed(imageFile, endPointPosition, interfaceName);
+            vpe.put("max-port-speed", maxPortSpeed);
+
+            EquipmentData ed = new EquipmentData();
+            ed.data = vpe;
+            ed.equipmentId = portId;
+            ed.equipmentLevel = EquipmentLevel.Port;
+
+            ServiceData sd = new ServiceData();
+            sd.data = service;
+            sd.serviceModel = "L3SDN";
+            sd.endPointPosition = endPointPosition;
+            sd.resourceUnionId = sr.resourceUnionId;
+            sd.resourceSetId = sr.resourceSetId;
+
+            StrUtil.info(log, ed);
+            StrUtil.info(log, sd);
+
+            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
+                    requestType == ReserveRequestType.Change);
+            AllocationOutcome ao = resourceManager.allocateResources(ar);
+
+            if (ao.status == AllocationStatus.Success) {
+
+                // Assign affinity link
+                if (!checkOnly) {
+                    List<String> affinityLinkIdList = new ArrayList<>();
+                    affinityLinkIdList.add("0");
+                    affinityLinkIdList.add("1");
+                    affinityLinkIdList.add("2");
+                    affinityLinkIdList.add("3");
+
+                    String preferedAffinityLinkId = "0";
+                    long lowestAssignedBw = Long.MAX_VALUE;
+                    for (String affinityLinkId : affinityLinkIdList) {
+                        long used = 0;
+                        String assetId = ed.equipmentId + "-" + affinityLinkId;
+                        Resource r = resourceManager.getResource("Bandwidth", assetId);
+                        if (r != null) {
+                            LimitResource ll = (LimitResource) r;
+                            used = ll.used;
+                        }
+                        if (used < lowestAssignedBw) {
+                            lowestAssignedBw = used;
+                            preferedAffinityLinkId = affinityLinkId;
+                        }
+                        log.info("Assigned bandwidth on affinity link: " + assetId + ": " + used);
+                    }
+
+                    log.info("Prefered affinity link for " + ed.equipmentId + ": " + preferedAffinityLinkId);
+
+                    ctx.setAttribute(prefix + "affinity-link", preferedAffinityLinkId);
+
+                    LimitAllocationRequest ar1 = new LimitAllocationRequest();
+                    ar1.resourceSetId = sd.resourceSetId;
+                    ar1.resourceUnionId = sd.resourceUnionId;
+                    ar1.resourceShareGroupList = null;
+                    ar1.resourceName = "Bandwidth";
+                    ar1.assetId = ed.equipmentId + "-" + preferedAffinityLinkId;
+                    ar1.missingResourceAction = AllocationAction.Succeed_Allocate;
+                    ar1.expiredResourceAction = AllocationAction.Succeed_Allocate;
+                    ar1.replace = true;
+                    ar1.strict = false;
+                    ar1.checkLimit = Long.MAX_VALUE;
+                    ar1.checkCount = 0;
+                    ar1.allocateCount = (Long) sd.data.get("service-speed-kbps");
+
+                    resourceManager.allocateResources(ar1);
+                }
+
+                ctx.setAttribute(prefix + "vpe-name", vpeId);
+
+                vpePortFound = true;
+                break;
+            }
+
+            if (ao instanceof LimitAllocationOutcome) {
+                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
+                long available = lao.limit - lao.used;
+                if (available > maxAvailableSpeedVpePort)
+                    maxAvailableSpeedVpePort = available;
+            }
+        }
+
+        long maxAvailableSpeedVplspePort = 0;
+        boolean vplspePortFound = false;
+
+        for (Map<String, Object> vplspe : vplspePortData) {
+            String vplspeId = String.valueOf(vplspe.get("vplspe-id"));
+            String interfaceName = String.valueOf(vplspe.get("physical-interface-name"));
+            String portId = vplspeId + "/" + interfaceName;
+
+            log.info("Checking VPLSPE port: " + portId);
+
+            String provStatus = String.valueOf(vplspe.get("provisioning-status"));
+            if (!provStatus.equals("PROV")) {
+                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
+                continue;
+            }
+
+            long physicalSpeed = (Long) vplspe.get("physical-interface-speed");
+            String physicalSpeedUnit = String.valueOf(vplspe.get("physical-interface-speed-unit"));
+            long maxPortSpeed = speedUtil.convertToKbps(physicalSpeed, physicalSpeedUnit);
+            vplspe.put("max-port-speed", maxPortSpeed);
+
+            EquipmentData ed = new EquipmentData();
+            ed.data = vplspe;
+            ed.equipmentId = portId;
+            ed.equipmentLevel = EquipmentLevel.Port;
+
+            ServiceData sd = new ServiceData();
+            sd.data = service;
+            sd.serviceModel = "L3SDN";
+            sd.endPointPosition = "IPAG-TOA";
+            sd.resourceUnionId = sr.resourceUnionId;
+            sd.resourceSetId = sr.resourceSetId;
+
+            StrUtil.info(log, ed);
+            StrUtil.info(log, sd);
+
+            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
+                    requestType == ReserveRequestType.Change);
+            AllocationOutcome ao = resourceManager.allocateResources(ar);
+
+            if (ao.status == AllocationStatus.Success) {
+                vplspePortFound = true;
+                break;
+            }
+
+            if (ao instanceof LimitAllocationOutcome) {
+                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
+                long available = lao.limit - lao.used;
+                if (available > maxAvailableSpeedVplspePort)
+                    maxAvailableSpeedVplspePort = available;
+            }
+        }
+
+        long maxAvailableSpeedServer = 0;
+        boolean serverFound = false;
+
+        for (Map<String, Object> server : serverData) {
+            String serverId = String.valueOf(server.get("server-id"));
+            String serverModel = String.valueOf(server.get("server-model"));
+
+            log.info("Checking Server: " + serverId);
+
+            String endPointPosition = "VCE-Cust";
+
+            int serverCount = (Integer) server.get("server-count");
+            if (serverCount == 0)
+                serverCount = 1;
+            String ratioString = parameterDao.getParameter("homing.pserver.sparing.ratio");
+            if (ratioString == null || ratioString.length() == 0)
+                ratioString = "1:1";
+            int primaryServerCount = calculatePrimaryServerCount(serverCount, ratioString);
+            server.put("number-primary-servers", primaryServerCount);
+
+            int evcCount = getEvcCountOnServer(serverId);
+            int evcCountPerServer = (evcCount + primaryServerCount - 1) / primaryServerCount;
+            long maxServerSpeed = maxServerSpeedDao.getMaxServerSpeed(serverModel, evcCountPerServer);
+            server.put("max-server-speed", maxServerSpeed);
+            server.put("evc-count", evcCount);
+            server.put("evc-count-per-server", evcCountPerServer);
+
+            EquipmentData ed = new EquipmentData();
+            ed.data = server;
+            ed.equipmentId = serverId;
+            ed.equipmentLevel = EquipmentLevel.Server;
+
+            ServiceData sd = new ServiceData();
+            sd.data = service;
+            sd.serviceModel = "L3SDN";
+            sd.endPointPosition = endPointPosition;
+            sd.resourceUnionId = sr.resourceUnionId;
+            sd.resourceSetId = sr.resourceSetId;
+
+            StrUtil.info(log, ed);
+            StrUtil.info(log, sd);
+
+            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
+                    requestType == ReserveRequestType.Change);
+            AllocationOutcome ao = resourceManager.allocateResources(ar);
+
+            if (ao.status == AllocationStatus.Success) {
+                serverFound = true;
+
+                if (ao instanceof MultiResourceAllocationOutcome) {
+                    MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
+                    for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
+                        if (ao1 instanceof LimitAllocationOutcome) {
+                            LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
+                            if (lao.request.resourceName.equals("Bandwidth")) {
+                                ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
+                                setThresholdData(ctx, th, sd, ed);
+                            }
+                        }
+                    }
+                }
+
+                break;
+            }
+
+            if (ao instanceof MultiResourceAllocationOutcome) {
+                MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
+                for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
+                    if (ao1 instanceof LimitAllocationOutcome) {
+                        LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
+                        if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Bandwidth")) {
+                            long available = lao.limit - lao.used;
+                            if (available > maxAvailableSpeedServer)
+                                maxAvailableSpeedServer = available;
+                        }
+                        if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Connection")) {
+                            maxAvailableSpeedServer = 0;
+                            break;
+                        }
+
+                        ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
+                        setThresholdData(ctx, th, sd, ed);
+                    }
+                }
+            }
+        }
+
+        if (vpePortFound && vplspePortFound && serverFound) {
+            if (!checkOnly) {
+                if (pendingServiceResource == null) {
+                    log.info("Adding the pending service resource record to DB.");
+                    serviceResourceDao.addServiceResource(sr);
+                } else {
+                    log.info("Releasing previously allocated resources for resource set id: " +
+                            pendingServiceResource.resourceSetId);
+                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+
+                    log.info("Updating the pending service resource record in DB with service change number: " +
+                            sr.serviceChangeNumber);
+                    serviceResourceDao.updateServiceResource(sr);
+                }
+            }
+
+            return QueryStatus.SUCCESS;
+        }
+
+        log.info("Releasing allocated resources (if any) for resource set id: " + sr.resourceSetId);
+        resourceManager.releaseResourceSet(sr.resourceSetId);
+
+        long maxAvailableSpeed = Long.MAX_VALUE;
+        if (!vpePortFound && maxAvailableSpeedVpePort < maxAvailableSpeed)
+            maxAvailableSpeed = maxAvailableSpeedVpePort;
+        if (!vplspePortFound && maxAvailableSpeedVplspePort < maxAvailableSpeed)
+            maxAvailableSpeed = maxAvailableSpeedVplspePort;
+        if (!serverFound && maxAvailableSpeedServer < maxAvailableSpeed)
+            maxAvailableSpeed = maxAvailableSpeedServer;
+
+        setOutputContext(ctx, maxAvailableSpeed, "kbps");
+        return QueryStatus.NOT_FOUND;
+    }
+
+    private List<Map<String, Object>> orderVpe(List<Map<String, Object>> vpePortData) {
+        for (Map<String, Object> vpe : vpePortData) {
+            String vpeId = String.valueOf(vpe.get("vpe-id"));
+            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
+            String portId = vpeId + "/" + interfaceName;
+            Resource r = resourceManager.getResource("Bandwidth", portId);
+            long used = 0;
+            if (r != null) {
+                LimitResource ll = (LimitResource) r;
+                used = ll.used;
+            }
+            vpe.put("used-bandwidth", used);
+
+            log.info("Used bandwidth on VPE: " + vpeId + ": " + used);
+        }
+
+        Collections.sort(vpePortData, new Comparator<Map<String, Object>>() {
+
+            @Override
+            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+                long used1 = (Long) o1.get("used-bandwidth");
+                long used2 = (Long) o2.get("used-bandwidth");
+                if (used1 < used2)
+                    return -1;
+                if (used1 > used2)
+                    return 1;
+                return 0;
+            }
+        });
+
+        return vpePortData;
+    }
+
+    private void setThresholdData(SvcLogicContext ctx, ThresholdStatus th, ServiceData sd, EquipmentData ed) {
+        if (th == null)
+            return;
+
+        String pp = "tmp.resource-allocator-output.threshold-notification-list.threshold-hotification[0].";
+        ctx.setAttribute("tmp.resource-allocator-output.threshold-notification-list.threshold-hotification_length",
+                "1");
+        ctx.setAttribute(pp + "message", th.resourceThreshold.message);
+        ctx.setAttribute(pp + "resource-rule.service-model", th.resourceRule.serviceModel);
+        ctx.setAttribute(pp + "resource-rule.endpoint-position", th.resourceRule.endPointPosition);
+        ctx.setAttribute(pp + "resource-rule.resource-name", th.resourceRule.resourceName);
+        ctx.setAttribute(pp + "resource-rule.equipment-level", th.resourceRule.equipmentLevel);
+        ctx.setAttribute(pp + "resource-rule.soft-limit-expression", th.resourceRule.softLimitExpression);
+        ctx.setAttribute(pp + "resource-rule.hard-limit-expression", th.resourceRule.hardLimitExpression);
+        ctx.setAttribute(pp + "resource-state.used", String.valueOf(th.used));
+        ctx.setAttribute(pp + "resource-state.limit-value", String.valueOf(th.limitValue));
+        ctx.setAttribute(pp + "resource-state.threshold-value", String.valueOf(th.thresholdValue));
+        ctx.setAttribute(pp + "resource-state.last-added", String.valueOf(th.lastAdded));
+        ctx.setAttribute(pp + "equipment-data.equipment-id", ed.equipmentId);
+        for (String edKey : ed.data.keySet())
+            ctx.setAttribute(pp + "equipment-data." + edKey, String.valueOf(ed.data.get(edKey)));
+    }
+
+    private QueryStatus allocateResources(String serviceModel, SvcLogicContext ctx, boolean checkOnly, String prefix)
+            throws SvcLogicException {
+        prefix = prefix == null ? "" : prefix + '.';
+
+        Map<String, Object> service = getServiceData(ctx);
+        Map<String, Object> ec = getEquipConstraints(ctx);
+
+        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
+        if (requestTypeStr == null)
+            requestTypeStr = "New";
+
+        ReserveRequestType requestType = null;
+        try {
+            requestType = ReserveRequestType.convert(requestTypeStr);
+        } catch (IllegalArgumentException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
+                    ". Supported values are New, Change.");
+        }
+
+        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
+
+        log.info("Starting reserve: " + requestType + ", service-instance-id: " + serviceInstanceId);
+
+        ServiceResource activeServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
+        ServiceResource pendingServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
+
+        log.info("Active ServiceResource: ");
+        StrUtil.info(log, activeServiceResource);
+        log.info("Pending ServiceResource: ");
+        StrUtil.info(log, pendingServiceResource);
+
+        int changeNumber = 1;
+        if (pendingServiceResource != null)
+            changeNumber = pendingServiceResource.serviceChangeNumber + 1;
+        else if (activeServiceResource != null)
+            changeNumber = activeServiceResource.serviceChangeNumber + 1;
+
+        ServiceData sd = new ServiceData();
+        sd.data = service;
+        sd.serviceModel = serviceModel;
+        sd.endPointPosition = (String) service.get("end-point-position");
+        sd.resourceShareGroup = (String) service.get("resource-share-group");
+        sd.resourceName = (String) service.get("resource-name");
+        sd.serviceInstanceId = serviceInstanceId;
+
+        StrUtil.info(log, sd);
+
+        List<EndPointData> epList = endPointAllocator.allocateEndPoints(sd, ec, checkOnly,
+                requestType == ReserveRequestType.Change, changeNumber);
+
+        if (epList != null && !epList.isEmpty()) {
+            if (!checkOnly) {
+                EndPointData ep = epList.get(0);
+
+                if (sd.resourceName == null) {
+                ServiceResource sr = new ServiceResource();
+                sr.serviceInstanceId = serviceInstanceId;
+                sr.serviceStatus = ServiceStatus.Pending;
+                sr.serviceChangeNumber = changeNumber;
+                sr.resourceSetId = ep.resourceSetId;
+                sr.resourceUnionId = ep.resourceUnionId;
+
+                log.info("New ServiceResource: ");
+                StrUtil.info(log, sr);
+
+                if (pendingServiceResource == null) {
+                    log.info("Adding the pending service resource record to DB.");
+                    serviceResourceDao.addServiceResource(sr);
+                } else {
+                    log.info("Releasing previously allocated resources for resource set id: " +
+                            pendingServiceResource.resourceSetId);
+                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+
+                    log.info("Updating the pending service resource record in DB with service change number: " +
+                            sr.serviceChangeNumber);
+                    serviceResourceDao.updateServiceResource(sr);
+                }
+            }
+
+                for (EndPointData ep1 : epList)
+                    if (ep1.data != null && !ep1.data.isEmpty())
+                        for (String key : ep1.data.keySet()) {
+                            String value = String.valueOf(ep1.data.get(key));
+                            ctx.setAttribute(prefix + key, value);
+
+                            log.info("Added context attr: " + prefix + key + ": " + value);
+                        }
+            }
+
+            return QueryStatus.SUCCESS;
+        }
+
+        log.info("Capacity not found for EVC: " + serviceInstanceId);
+
+        return QueryStatus.NOT_FOUND;
+    }
+
+    private int getEvcCountOnServer(String serverId) {
+        LimitResource l = (LimitResource) resourceManager.getResource("Connection", serverId);
+        if (l != null)
+            return (int) l.used;
+        return 0;
+    }
+
+    private String getAicSiteId(SvcLogicContext ctx) throws SvcLogicException {
+        String aicSiteId = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
+        if (aicSiteId == null)
+            throw new SvcLogicException("tmp.resource-allocator.aic-site-id is required in ResourceAllocator");
+        return aicSiteId;
+    }
+
+    private Map<String, Object> getServiceData(SvcLogicContext ctx) throws SvcLogicException {
+        Map<String, Object> sd = new HashMap<String, Object>();
+
+        String endPointPosition = ctx.getAttribute("tmp.resource-allocator.end-point-position");
+        if (endPointPosition != null && endPointPosition.trim().length() > 0)
+            sd.put("end-point-position", endPointPosition.trim());
+
+        String resourceName = ctx.getAttribute("tmp.resource-allocator.resource-name");
+        if (resourceName != null && resourceName.trim().length() > 0)
+            sd.put("resource-name", resourceName.trim());
+
+        String resourceShareGroup = ctx.getAttribute("tmp.resource-allocator.resource-share-group");
+        if (resourceShareGroup != null && resourceShareGroup.trim().length() > 0)
+            sd.put("resource-share-group", resourceShareGroup.trim());
+
+        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
+        if (serviceInstanceId == null)
+            serviceInstanceId = "checkServiceInstance";
+        sd.put("service-instance-id", serviceInstanceId);
+
+        String speedStr = ctx.getAttribute("tmp.resource-allocator.speed");
+        if (speedStr != null && speedStr.trim().length() > 0) {
+        long speed = 0;
+        try {
+            speed = Long.parseLong(speedStr);
+        } catch (NumberFormatException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.speed. Must be a number.");
+        }
+        String unit = ctx.getAttribute("tmp.resource-allocator.speed-unit");
+        if (unit == null || unit.trim().length() == 0)
+            throw new SvcLogicException("tmp.resource-allocator.speed-unit is required in ResourceAllocator");
+        long serviceSpeedKbps = speedUtil.convertToKbps(speed, unit);
+
+        sd.put("service-speed-kbps", serviceSpeedKbps);
+        }
+
+        String vpnId = ctx.getAttribute("tmp.resource-allocator.vpn-id");
+        if (vpnId != null && vpnId.trim().length() > 0)
+            sd.put("vpn-id", vpnId.trim());
+
+        String vpnIdList = ctx.getAttribute("tmp.resource-allocator.vpn-id-list");
+        if (vpnIdList != null && vpnIdList.trim().length() > 0)
+            sd.put("vpn-id-list", vpnIdList.trim());
+
+        String vrfName = ctx.getAttribute("tmp.resource-allocator.vrf-name");
+        if (vrfName != null && vrfName.trim().length() > 0)
+            sd.put("vrf-name", vrfName.trim());
+
+        String vrfNameList = ctx.getAttribute("tmp.resource-allocator.vrf-name-list");
+        if (vrfNameList != null && vrfNameList.trim().length() > 0)
+            sd.put("vrf-name-list", vrfNameList.trim());
+
+        String v4multicast = ctx.getAttribute("tmp.resource-allocator.v4-multicast");
+        if (v4multicast != null && v4multicast.trim().length() > 0)
+            sd.put("v4-multicast", v4multicast.trim());
+
+        String v6multicast = ctx.getAttribute("tmp.resource-allocator.v6-multicast");
+        if (v6multicast != null && v6multicast.trim().length() > 0)
+            sd.put("v6-multicast", v6multicast.trim());
+
+        String v4ServingSite = ctx.getAttribute("tmp.resource-allocator.v4-serving-site");
+        if (v4ServingSite != null && v4ServingSite.trim().length() > 0)
+            sd.put("v4-serving-site", v4ServingSite.trim());
+
+        String v6ServingSite = ctx.getAttribute("tmp.resource-allocator.v6-serving-site");
+        if (v6ServingSite != null && v6ServingSite.trim().length() > 0)
+            sd.put("v6-serving-site", v6ServingSite.trim());
+
+        return sd;
+    }
+
+    private Map<String, Object> getEquipConstraints(SvcLogicContext ctx) throws SvcLogicException {
+        Map<String, Object> mm = new HashMap<String, Object>();
+
+        String vrfRequired = ctx.getAttribute("tmp.resource-allocator.vrf-required");
+        if (vrfRequired != null && vrfRequired.trim().length() > 0)
+            mm.put("vrf-required", vrfRequired.trim());
+
+        String clli = ctx.getAttribute("tmp.resource-allocator.clli");
+        if (clli == null || clli.trim().length() == 0)
+            clli = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
+        if (clli != null) {
+        mm.put("clli", clli.trim());
+            mm.put("aic-site-id", clli.trim());
+        }
+
+        String vpeName = ctx.getAttribute("tmp.resource-allocator.vpe-name");
+        if (vpeName != null && vpeName.trim().length() > 0)
+            mm.put("vpe-name", vpeName.trim());
+
+        String vnfName = ctx.getAttribute("tmp.resource-allocator.device-name");
+        if (vnfName != null && vnfName.trim().length() > 0)
+            mm.put("vnf-name", vnfName.trim());
+
+        String excludeVpeList = ctx.getAttribute("tmp.resource-allocator.exclude-vpe-list");
+        if (excludeVpeList != null && excludeVpeList.trim().length() > 0)
+            mm.put("exclude-vpe-list", excludeVpeList.trim());
+
+        String uplinkCircuitCountStr =
+                ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length");
+        if (uplinkCircuitCountStr != null) {
+            long uplinkCircuitCount = 0;
+            try {
+                uplinkCircuitCount = Long.parseLong(uplinkCircuitCountStr);
+            } catch (NumberFormatException e) {
+                throw new SvcLogicException(
+                        "Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length. Must be a number.");
+            }
+            List<Map<String, Object>> uplinkCircuitList = new ArrayList<>();
+            for (int i = 0; i < uplinkCircuitCount; i++) {
+                String uplinkCircuitId = ctx.getAttribute(
+                        "tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i + "].uplink-circuit-id");
+                String uplinkCircuitBandwidthStr =
+                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
+                                "].uplink-circuit-bandwidth");
+                String uplinkCircuitBandwidthUnit =
+                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
+                                "].uplink-circuit-bandwidth-unit");
+
+                long uplinkCircuitBandwidth = 0;
+                try {
+                    uplinkCircuitBandwidth = Long.parseLong(uplinkCircuitBandwidthStr);
+                } catch (NumberFormatException e) {
+                    throw new SvcLogicException("Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" +
+                            i + "].uplink-circuit-id. Must be a number.");
+                }
+
+                long uplinkCircuitBandwidthKbps =
+                        speedUtil.convertToKbps(uplinkCircuitBandwidth, uplinkCircuitBandwidthUnit);
+
+                Map<String, Object> uplinkCircuit = new HashMap<String, Object>();
+                uplinkCircuit.put("uplink-circuit-id", uplinkCircuitId);
+                uplinkCircuit.put("uplink-circuit-bandwidth", uplinkCircuitBandwidthKbps);
+                uplinkCircuitList.add(uplinkCircuit);
+            }
+            mm.put("uplink-circuit-list", uplinkCircuitList);
+        }
+
+        return mm;
+    }
+
+    private void setOutputContext(SvcLogicContext ctx, long maxAvailableSpeed, String unit) {
+        ctx.setAttribute("tmp.resource-allocator-output.max-available-speed", String.valueOf(maxAvailableSpeed));
+        ctx.setAttribute("tmp.resource-allocator-output.speed-unit", unit);
+    }
+
+    private int calculatePrimaryServerCount(int serverCount, String ratioString) throws SvcLogicException {
+        String[] ss = ratioString.split(":");
+        if (ss.length != 2)
+            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
+
+        int n = 1, m = 1;
+        try {
+            n = Integer.parseInt(ss[0]);
+            m = Integer.parseInt(ss[1]);
+        } catch (Exception e) {
+            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
+        }
+
+        return (serverCount - 1) * n / (n + m) + 1;
+    }
+
+    public void setServerDao(ServerDao serverDao) {
+        this.serverDao = serverDao;
+    }
+
+    public void setVpePortDao(VpePortDao vpePortDao) {
+        this.vpePortDao = vpePortDao;
+    }
+
+    public void setVplspePortDao(VplspePortDao vplspePortDao) {
+        this.vplspePortDao = vplspePortDao;
+    }
+
+    public void setMaxPortSpeedDao(MaxPortSpeedDao maxPortSpeedDao) {
+        this.maxPortSpeedDao = maxPortSpeedDao;
+    }
+
+    public void setMaxServerSpeedDao(MaxServerSpeedDao maxServerSpeedDao) {
+        this.maxServerSpeedDao = maxServerSpeedDao;
+    }
+
+    public void setAllocationRequestBuilder(AllocationRequestBuilder allocationRequestBuilder) {
+        this.allocationRequestBuilder = allocationRequestBuilder;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
+    }
+
+    public void setServiceResourceDao(ServiceResourceDao serviceResourceDao) {
+        this.serviceResourceDao = serviceResourceDao;
+    }
+
+    public void setEndPointAllocator(EndPointAllocator endPointAllocator) {
+        this.endPointAllocator = endPointAllocator;
+    }
+
+    public void setParameterDao(ParameterDao parameterDao) {
+        this.parameterDao = parameterDao;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
index b77df92a7..7245216f3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,37 +32,37 @@ import org.slf4j.LoggerFactory;
 
 public class AffinityAllocationRule implements AllocationRule {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(AffinityAllocationRule.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(AffinityAllocationRule.class);
 
-	@Override
-	public AllocationRequest buildAllocationRequest(
-	        String resourceUnionId,
-	        String resourceSetId,
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		String affinityLink = (String) equipmentData.data.get("affinity-link");
-		if (affinityLink == null)
-			affinityLink = "1";
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        String affinityLink = (String) equipmentData.data.get("affinity-link");
+        if (affinityLink == null)
+            affinityLink = "1";
 
-		long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
+        long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
 
-		LimitAllocationRequest ar = new LimitAllocationRequest();
-		ar.resourceSetId = resourceSetId;
-		ar.resourceUnionId = resourceUnionId;
-		ar.resourceShareGroupList = null;
-		ar.resourceName = "Bandwidth";
-		ar.assetId = equipmentData.equipmentId + "-" + affinityLink;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.strict = false;
-		ar.checkLimit = Long.MAX_VALUE;
-		ar.checkCount = 0;
-		ar.allocateCount = serviceSpeed;
-		return ar;
-	}
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceShareGroupList = null;
+        ar.resourceName = "Bandwidth";
+        ar.assetId = equipmentData.equipmentId + "-" + affinityLink;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = Long.MAX_VALUE;
+        ar.checkCount = 0;
+        ar.allocateCount = serviceSpeed;
+        return ar;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
index a066378ac..847883957 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -44,112 +44,112 @@ import org.slf4j.LoggerFactory;
 
 public class DbAllocationRule implements AllocationRule {
 
-	private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
-
-	private ResourceRuleDao resourceRuleDao;
-	private RangeRuleDao rangeRuleDao;
-
-	@Override
-	public AllocationRequest buildAllocationRequest(
-	        String resourceUnionId,
-	        String resourceSetId,
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
-		        endPointPosition, equipmentData.equipmentLevel);
-		List<RangeRule> rangeRuleList =
-		        rangeRuleDao.getRangeRules(serviceData.serviceModel, endPointPosition, equipmentData.equipmentLevel);
-
-		List<AllocationRequest> arlist = new ArrayList<AllocationRequest>();
-
-		for (ResourceRule rr : resourceRuleList) {
-			if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.resourceName))
-				continue;
-			AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
-			        equipmentData, checkOnly, change);
-			arlist.add(ar1);
-		}
-		for (RangeRule rr : rangeRuleList) {
-			if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.rangeName))
-				continue;
-			AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
-			        equipmentData, checkOnly, change);
-			arlist.add(ar1);
-		}
-
-		if (arlist.isEmpty())
-			return null;
-
-		if (arlist.size() == 1)
-			return arlist.get(0);
-
-		MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-		ar.stopOnFirstFailure = false;
-		ar.allocationRequestList = arlist;
-		return ar;
-	}
-
-	private AllocationRequest buildAllocationRequest(
-	        ResourceRule resourceRule,
-	        String resourceUnionId,
-	        String resourceSetId,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		StrUtil.info(log, resourceRule);
-
-		LimitAllocationRequest ar = new LimitAllocationRequest();
-		ar.resourceSetId = resourceSetId;
-		ar.resourceUnionId = resourceUnionId;
-		ar.resourceName = resourceRule.resourceName;
-		if (serviceData.resourceShareGroup != null)
-			ar.resourceShareGroupList = Collections.singleton(serviceData.resourceShareGroup);
-		ar.assetId = equipmentData.equipmentId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.strict = false;
-		ar.checkLimit = ExpressionEvaluator.evalLong(
-		        change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);;
-		ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
-		ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-		return ar;
-	}
-
-	private AllocationRequest buildAllocationRequest(
-	        RangeRule rangeRule,
-	        String resourceUnionId,
-	        String resourceSetId,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		StrUtil.info(log, rangeRule);
-
-		RangeAllocationRequest ar = new RangeAllocationRequest();
-		ar.resourceSetId = resourceSetId;
-		ar.resourceUnionId = resourceUnionId;
-		ar.resourceName = rangeRule.rangeName;
-		ar.assetId = equipmentData.equipmentId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.check = true;
-		ar.allocate = !checkOnly;
-		ar.checkMin = rangeRule.minValue;
-		ar.checkMax = rangeRule.maxValue;
-		return ar;
-	}
-
-	public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-		this.resourceRuleDao = resourceRuleDao;
-	}
-
-	public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-		this.rangeRuleDao = rangeRuleDao;
-	}
+    private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
+
+    private ResourceRuleDao resourceRuleDao;
+    private RangeRuleDao rangeRuleDao;
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
+                endPointPosition, equipmentData.equipmentLevel);
+        List<RangeRule> rangeRuleList =
+                rangeRuleDao.getRangeRules(serviceData.serviceModel, endPointPosition, equipmentData.equipmentLevel);
+
+        List<AllocationRequest> arlist = new ArrayList<AllocationRequest>();
+
+        for (ResourceRule rr : resourceRuleList) {
+            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.resourceName))
+                continue;
+            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
+                    equipmentData, checkOnly, change);
+            arlist.add(ar1);
+        }
+        for (RangeRule rr : rangeRuleList) {
+            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.rangeName))
+                continue;
+            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
+                    equipmentData, checkOnly, change);
+            arlist.add(ar1);
+        }
+
+        if (arlist.isEmpty())
+            return null;
+
+        if (arlist.size() == 1)
+            return arlist.get(0);
+
+        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
+        ar.stopOnFirstFailure = false;
+        ar.allocationRequestList = arlist;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            ResourceRule resourceRule,
+            String resourceUnionId,
+            String resourceSetId,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, resourceRule);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceName = resourceRule.resourceName;
+        if (serviceData.resourceShareGroup != null)
+            ar.resourceShareGroupList = Collections.singleton(serviceData.resourceShareGroup);
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = ExpressionEvaluator.evalLong(
+                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);;
+        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
+        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            RangeRule rangeRule,
+            String resourceUnionId,
+            String resourceSetId,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, rangeRule);
+
+        RangeAllocationRequest ar = new RangeAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceName = rangeRule.rangeName;
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.check = true;
+        ar.allocate = !checkOnly;
+        ar.checkMin = rangeRule.minValue;
+        ar.checkMax = rangeRule.maxValue;
+        return ar;
+    }
+
+    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
+        this.resourceRuleDao = resourceRuleDao;
+    }
+
+    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
+        this.rangeRuleDao = rangeRuleDao;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
index cb36a8bef..cf1dd8f8e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,47 +34,47 @@ import org.slf4j.LoggerFactory;
 
 public class ServingSiteAllocationRule implements AllocationRule {
 
-	private static final Logger log = LoggerFactory.getLogger(ServingSiteAllocationRule.class);
+    private static final Logger log = LoggerFactory.getLogger(ServingSiteAllocationRule.class);
 
-	@Override
-	public AllocationRequest buildAllocationRequest(
-	        String resourceUnionId,
-	        String resourceSetId,
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		String vrfName = (String) serviceData.data.get("vrf-name");
-		if (vrfName == null)
-			return null;
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return null;
 
-		log.info("vrfName: " + vrfName);
+        log.info("vrfName: " + vrfName);
 
-		String v4ServingSiteStr = (String) serviceData.data.get("v4-serving-site");
-		String v6ServingSiteStr = (String) serviceData.data.get("v6-serving-site");
-		boolean v4ServingSite = v4ServingSiteStr != null &&
-		        (v4ServingSiteStr.equalsIgnoreCase("Y") || v4ServingSiteStr.equalsIgnoreCase("true"));
-		boolean v6ServingSite = v6ServingSiteStr != null &&
-		        (v6ServingSiteStr.equalsIgnoreCase("Y") || v6ServingSiteStr.equalsIgnoreCase("true"));
-		if (!v4ServingSite && !v6ServingSite)
-			return null;
+        String v4ServingSiteStr = (String) serviceData.data.get("v4-serving-site");
+        String v6ServingSiteStr = (String) serviceData.data.get("v6-serving-site");
+        boolean v4ServingSite = v4ServingSiteStr != null &&
+                (v4ServingSiteStr.equalsIgnoreCase("Y") || v4ServingSiteStr.equalsIgnoreCase("true"));
+        boolean v6ServingSite = v6ServingSiteStr != null &&
+                (v6ServingSiteStr.equalsIgnoreCase("Y") || v6ServingSiteStr.equalsIgnoreCase("true"));
+        if (!v4ServingSite && !v6ServingSite)
+            return null;
 
-		VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
+        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
 
-		LimitAllocationRequest ar = new LimitAllocationRequest();
-		ar.resourceSetId = resourceSetId;
-		ar.resourceUnionId = resourceUnionId;
-		ar.resourceName = "ServingSite";
-		ar.assetId = equipmentData.equipmentId + "-" + vpnp.vpnId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.strict = false;
-		ar.checkLimit = 1;
-		ar.checkCount = 1;
-		ar.allocateCount = 1;
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceName = "ServingSite";
+        ar.assetId = equipmentData.equipmentId + "-" + vpnp.vpnId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = 1;
+        ar.checkCount = 1;
+        ar.allocateCount = 1;
 
-		return ar;
-	}
+        return ar;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
index f23f1e985..cc4adfb3e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,75 +37,75 @@ import org.slf4j.LoggerFactory;
 
 public class VrfAllocationRule implements AllocationRule {
 
-	private static final Logger log = LoggerFactory.getLogger(VrfAllocationRule.class);
+    private static final Logger log = LoggerFactory.getLogger(VrfAllocationRule.class);
 
-	@Override
-	public AllocationRequest buildAllocationRequest(
-	        String resourceUnionId,
-	        String resourceSetId,
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		String vrfName = (String) serviceData.data.get("vrf-name");
-		if (vrfName == null)
-			return null;
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return null;
 
-		log.info("vrfName: " + vrfName);
+        log.info("vrfName: " + vrfName);
 
-		Set<String> resourceShareGroupList = new HashSet<>();
-		resourceShareGroupList.add(vrfName);
+        Set<String> resourceShareGroupList = new HashSet<>();
+        resourceShareGroupList.add(vrfName);
 
-		LimitAllocationRequest ar = new LimitAllocationRequest();
-		ar.resourceSetId = resourceSetId;
-		ar.resourceUnionId = resourceUnionId;
-		ar.resourceShareGroupList = resourceShareGroupList;
-		ar.resourceName = "VRF";
-		ar.assetId = equipmentData.equipmentId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.strict = false;
-		ar.checkLimit = 999999999;
-		ar.checkCount = 1;
-		ar.allocateCount = 1;
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceShareGroupList = resourceShareGroupList;
+        ar.resourceName = "VRF";
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = 999999999;
+        ar.checkCount = 1;
+        ar.allocateCount = 1;
 
-		String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
-		String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
-		boolean v4Multicast = v4MulticastStr != null &&
-		        (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
-		boolean v6Multicast = v6MulticastStr != null &&
-		        (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
-		if (v4Multicast || v6Multicast) {
-			LimitAllocationRequest ar2 = new LimitAllocationRequest();
-			ar2.resourceSetId = resourceSetId;
-			ar2.resourceUnionId = resourceUnionId;
-			ar2.resourceShareGroupList = resourceShareGroupList;
-			ar2.resourceName = "MVRF";
-			ar2.assetId = equipmentData.equipmentId;
-			ar2.missingResourceAction = AllocationAction.Succeed_Allocate;
-			ar2.expiredResourceAction = AllocationAction.Succeed_Allocate;
-			ar2.replace = true;
-			ar2.strict = false;
-			ar2.checkLimit = 999999999;
-			ar2.checkCount = 1;
-			ar2.allocateCount = 1;
+        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
+        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
+        boolean v4Multicast = v4MulticastStr != null &&
+                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
+        boolean v6Multicast = v6MulticastStr != null &&
+                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
+        if (v4Multicast || v6Multicast) {
+            LimitAllocationRequest ar2 = new LimitAllocationRequest();
+            ar2.resourceSetId = resourceSetId;
+            ar2.resourceUnionId = resourceUnionId;
+            ar2.resourceShareGroupList = resourceShareGroupList;
+            ar2.resourceName = "MVRF";
+            ar2.assetId = equipmentData.equipmentId;
+            ar2.missingResourceAction = AllocationAction.Succeed_Allocate;
+            ar2.expiredResourceAction = AllocationAction.Succeed_Allocate;
+            ar2.replace = true;
+            ar2.strict = false;
+            ar2.checkLimit = 999999999;
+            ar2.checkCount = 1;
+            ar2.allocateCount = 1;
 
-			MultiResourceAllocationRequest mar = new MultiResourceAllocationRequest();
-			mar.resourceSetId = resourceSetId;
-			mar.resourceUnionId = resourceUnionId;
-			mar.resourceShareGroupList = resourceShareGroupList;
-			mar.assetId = equipmentData.equipmentId;
-			mar.missingResourceAction = AllocationAction.Succeed_Allocate;
-			mar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-			mar.allocationRequestList = new ArrayList<>();
-			mar.allocationRequestList.add(ar);
-			mar.allocationRequestList.add(ar2);
+            MultiResourceAllocationRequest mar = new MultiResourceAllocationRequest();
+            mar.resourceSetId = resourceSetId;
+            mar.resourceUnionId = resourceUnionId;
+            mar.resourceShareGroupList = resourceShareGroupList;
+            mar.assetId = equipmentData.equipmentId;
+            mar.missingResourceAction = AllocationAction.Succeed_Allocate;
+            mar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+            mar.allocationRequestList = new ArrayList<>();
+            mar.allocationRequestList.add(ar);
+            mar.allocationRequestList.add(ar2);
 
-			return mar;
-		}
+            return mar;
+        }
 
-		return ar;
-	}
+        return ar;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
index aee761c7e..fd9ca1e55 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,41 +34,41 @@ import org.slf4j.LoggerFactory;
 
 public class AnyVrfPresentCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(AnyVrfPresentCheck.class);
+    private static final Logger log = LoggerFactory.getLogger(AnyVrfPresentCheck.class);
 
-	private ResourceManager resourceManager;
+    private ResourceManager resourceManager;
 
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String vrfNameListStr = (String) serviceData.data.get("vrf-name-list");
-		if (vrfNameListStr == null)
-			vrfNameListStr = (String) serviceData.data.get("vrf-name");
-		if (vrfNameListStr == null)
-			return true;
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfNameListStr = (String) serviceData.data.get("vrf-name-list");
+        if (vrfNameListStr == null)
+            vrfNameListStr = (String) serviceData.data.get("vrf-name");
+        if (vrfNameListStr == null)
+            return true;
 
-		String vrfRequiredStr = (String) equipmentConstraints.get("vrf-required");
-		if (vrfRequiredStr == null || !vrfRequiredStr.equalsIgnoreCase("true"))
-			return true;
+        String vrfRequiredStr = (String) equipmentConstraints.get("vrf-required");
+        if (vrfRequiredStr == null || !vrfRequiredStr.equalsIgnoreCase("true"))
+            return true;
 
-		String[] vrfNameList = vrfNameListStr.split(",");
+        String[] vrfNameList = vrfNameListStr.split(",");
 
-		Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-		if (r != null && r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems)
-				for (String vrfName : vrfNameList)
-					if (ai.resourceShareGroupList.contains(vrfName))
-						return true;
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                for (String vrfName : vrfNameList)
+                    if (ai.resourceShareGroupList.contains(vrfName))
+                        return true;
 
-		log.info("Skipping VPE " + equipData.equipmentId +
-		        ": Existing VRF is required, but there is no existing VRF on the VPE for any of the requested VPNs.");
-		return false;
-	}
+        log.info("Skipping VPE " + equipData.equipmentId +
+                ": Existing VRF is required, but there is no existing VRF on the VPE for any of the requested VPNs.");
+        return false;
+    }
 
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
index 25571fb2d..7ceac9020 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,27 +31,27 @@ import org.slf4j.LoggerFactory;
 
 public class ExcludeVpeCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(ExcludeVpeCheck.class);
-
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String excludeVpeListStr = (String) equipmentConstraints.get("exclude-vpe-list");
-		if (excludeVpeListStr == null)
-			return true;
-
-		String vpeName = (String) equipData.data.get("vpe-id");
-
-		String[] excludeVpeList = excludeVpeListStr.split(",");
-		for (String excludeVpe : excludeVpeList)
-			if (excludeVpe.equals(vpeName)) {
-				log.info("Skipping VPE " + equipData.equipmentId + ": Present in the exclude VPE list.");
-				return false;
-			}
-
-		return true;
-	}
+    private static final Logger log = LoggerFactory.getLogger(ExcludeVpeCheck.class);
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String excludeVpeListStr = (String) equipmentConstraints.get("exclude-vpe-list");
+        if (excludeVpeListStr == null)
+            return true;
+
+        String vpeName = (String) equipData.data.get("vpe-id");
+
+        String[] excludeVpeList = excludeVpeListStr.split(",");
+        for (String excludeVpe : excludeVpeList)
+            if (excludeVpe.equals(vpeName)) {
+                log.info("Skipping VPE " + equipData.equipmentId + ": Present in the exclude VPE list.");
+                return false;
+            }
+
+        return true;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
index 6c2b4c591..79428de84 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -36,72 +36,72 @@ import org.slf4j.LoggerFactory;
 
 public class HubWithRgCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(HubWithRgCheck.class);
-
-	private ResourceManager resourceManager;
-
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String vrfName = (String) serviceData.data.get("vrf-name");
-		if (vrfName == null)
-			return true;
-
-		// Check if this is HUB. If not, this check is not applicable
-		VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-		if (vpnp.siteType == null || !vpnp.siteType.equals("HUB"))
-			return true;
-
-		boolean rgPresent = vpnp.routeGroupName != null;
-
-		// First check if a new VRF would be required. If not, we are good
-		Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-		if (r != null && r.allocationItems != null) {
-			for (AllocationItem ai : r.allocationItems)
-				if (ai.resourceShareGroupList.contains(vrfName))
-					return true;
-
-			String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
-
-			// Check if there is already another HUB VRF with RG presence that does not match the requested
-			for (AllocationItem ai : r.allocationItems) {
-
-				// Skip the allocation item for the current service instance, if there, in case it is a change order
-				if (ai.resourceUnionId.equals(resourceUnionId))
-					continue;
-
-				if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
-					String vrfName2 = ai.resourceShareGroupList.iterator().next();
-					VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
-
-					if (vpnp2.siteType == null || !vpnp2.siteType.equals("HUB"))
-						continue;
-
-					boolean rgPresent2 = vpnp2.routeGroupName != null;
-
-					if (rgPresent && !rgPresent2) {
-						log.info("Skipping VPE " + equipData.equipmentId +
-						        ": This request requires new HUB with RG VRF, " +
-						        "but there is already another HUB VRF with no RG: " + vrfName2 + ".");
-						return false;
-					}
-					if (!rgPresent && rgPresent2) {
-						log.info("Skipping VPE " + equipData.equipmentId +
-						        ": This request requires new HUB VRF with no RG, " +
-						        "but there is already another HUB with RG VRF: " + vrfName2 + ".");
-						return false;
-					}
-				}
-			}
-		}
-
-		return true;
-	}
-
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    private static final Logger log = LoggerFactory.getLogger(HubWithRgCheck.class);
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return true;
+
+        // Check if this is HUB. If not, this check is not applicable
+        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
+        if (vpnp.siteType == null || !vpnp.siteType.equals("HUB"))
+            return true;
+
+        boolean rgPresent = vpnp.routeGroupName != null;
+
+        // First check if a new VRF would be required. If not, we are good
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null) {
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceShareGroupList.contains(vrfName))
+                    return true;
+
+            String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
+
+            // Check if there is already another HUB VRF with RG presence that does not match the requested
+            for (AllocationItem ai : r.allocationItems) {
+
+                // Skip the allocation item for the current service instance, if there, in case it is a change order
+                if (ai.resourceUnionId.equals(resourceUnionId))
+                    continue;
+
+                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
+                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
+                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
+
+                    if (vpnp2.siteType == null || !vpnp2.siteType.equals("HUB"))
+                        continue;
+
+                    boolean rgPresent2 = vpnp2.routeGroupName != null;
+
+                    if (rgPresent && !rgPresent2) {
+                        log.info("Skipping VPE " + equipData.equipmentId +
+                                ": This request requires new HUB with RG VRF, " +
+                                "but there is already another HUB VRF with no RG: " + vrfName2 + ".");
+                        return false;
+                    }
+                    if (!rgPresent && rgPresent2) {
+                        log.info("Skipping VPE " + equipData.equipmentId +
+                                ": This request requires new HUB VRF with no RG, " +
+                                "but there is already another HUB with RG VRF: " + vrfName2 + ".");
+                        return false;
+                    }
+                }
+            }
+        }
+
+        return true;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
index 56fd535e7..82e7e01a0 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -36,65 +36,65 @@ import org.slf4j.LoggerFactory;
 
 public class OneMVrfCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(OneMVrfCheck.class);
+    private static final Logger log = LoggerFactory.getLogger(OneMVrfCheck.class);
 
-	private ResourceManager resourceManager;
+    private ResourceManager resourceManager;
 
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String vrfName = (String) serviceData.data.get("vrf-name");
-		if (vrfName == null)
-			return true;
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return true;
 
-		String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
-		String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
-		boolean v4Multicast = v4MulticastStr != null &&
-		        (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
-		boolean v6Multicast = v6MulticastStr != null &&
-		        (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
-		if (!v4Multicast && !v6Multicast)
-			return true;
+        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
+        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
+        boolean v4Multicast = v4MulticastStr != null &&
+                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
+        boolean v6Multicast = v6MulticastStr != null &&
+                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
+        if (!v4Multicast && !v6Multicast)
+            return true;
 
-		// First check if a new VRF would be required. If not, we are good
-		Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-		if (r != null && r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems)
-				if (ai.resourceShareGroupList.contains(vrfName))
-					return true;
+        // First check if a new VRF would be required. If not, we are good
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceShareGroupList.contains(vrfName))
+                    return true;
 
-		String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
+        String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
 
-		// Check if there is already another multicast VRF for the same VPN
-		VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-		r = resourceManager.getResource("MVRF", equipData.equipmentId);
-		if (r != null && r.allocationItems != null) {
-			for (AllocationItem ai : r.allocationItems) {
+        // Check if there is already another multicast VRF for the same VPN
+        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
+        r = resourceManager.getResource("MVRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null) {
+            for (AllocationItem ai : r.allocationItems) {
 
-				// Skip the allocation item for the current service instance, if there, in case it is a change order
-				if (ai.resourceUnionId.equals(resourceUnionId))
-					continue;
+                // Skip the allocation item for the current service instance, if there, in case it is a change order
+                if (ai.resourceUnionId.equals(resourceUnionId))
+                    continue;
 
-				if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
-					String vrfName2 = ai.resourceShareGroupList.iterator().next();
-					VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
-					if (vpnp.vpnId.equals(vpnp2.vpnId)) {
-						log.info("Skipping VPE " + equipData.equipmentId +
-						        ": This request requires new multicast VRF, " +
-						        "but there is already another multicast VRF for the same VPN: " + vrfName2 + ".");
-						return false;
-					}
-				}
-			}
-		}
+                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
+                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
+                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
+                    if (vpnp.vpnId.equals(vpnp2.vpnId)) {
+                        log.info("Skipping VPE " + equipData.equipmentId +
+                                ": This request requires new multicast VRF, " +
+                                "but there is already another multicast VRF for the same VPN: " + vrfName2 + ".");
+                        return false;
+                    }
+                }
+            }
+        }
 
-		return true;
-	}
+        return true;
+    }
 
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
index baed60eb5..1ec079f9b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,19 +31,19 @@ import org.slf4j.LoggerFactory;
 
 public class ProvStatusCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(ProvStatusCheck.class);
+    private static final Logger log = LoggerFactory.getLogger(ProvStatusCheck.class);
 
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String provStatus = (String) equipData.data.get("provisioning-status");
-		if (provStatus == null || !provStatus.equals("PROV")) {
-			log.info("Skipping VPE " + equipData.equipmentId + ": Not in PROV status.");
-			return false;
-		}
-		return true;
-	}
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String provStatus = (String) equipData.data.get("provisioning-status");
+        if (provStatus == null || !provStatus.equals("PROV")) {
+            log.info("Skipping VPE " + equipData.equipmentId + ": Not in PROV status.");
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
index 4644a14a7..57b8f0377 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,20 +31,20 @@ import org.slf4j.LoggerFactory;
 
 public class VlanSpeedCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(VlanSpeedCheck.class);
+    private static final Logger log = LoggerFactory.getLogger(VlanSpeedCheck.class);
 
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String vpeName = (String) equipData.data.get("vpe-id");
-		Long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
-		if (serviceSpeed != null && serviceSpeed > 0 && serviceSpeed < 1000) {
-			log.info("Skipping VPE " + vpeName + ": Service speed < 1Mbps is not supported.");
-			return false;
-		}
-		return true;
-	}
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vpeName = (String) equipData.data.get("vpe-id");
+        Long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
+        if (serviceSpeed != null && serviceSpeed > 0 && serviceSpeed < 1000) {
+            log.info("Skipping VPE " + vpeName + ": Service speed < 1Mbps is not supported.");
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
index 3b350b419..fe7bd30db 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,77 +35,77 @@ import org.slf4j.LoggerFactory;
 
 public class VpeLockCheck implements EquipmentCheck {
 
-	private static final Logger log = LoggerFactory.getLogger(VpeLockCheck.class);
-
-	private VpeLockDao vpeLockDao;
-	private ResourceManager resourceManager;
-
-	@Override
-	public boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints) {
-		String vrfName = (String) serviceData.data.get("vrf-name");
-		if (vrfName == null)
-			return true;
-
-		String vpeName = (String) equipData.data.get("vpe-id");
-		String vpeLock = vpeLockDao.getVpeLock(vpeName);
-		if (vpeLock == null)
-			return true;
-
-		if (vpeLock.equals("vpe-total-lock")) {
-			log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock + " on it.");
-			return false;
-		}
-
-		if (vpeLock.equals("vpe-vrf-lock") && requiresNewVrf(equipData.equipmentId, vrfName)) {
-			log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
-			        " on it and it requires a new VRF for VPN: " + vrfName + ".");
-			return false;
-		}
-
-		if (vpeLock.equals("vpe-mvrf-lock") && requiresNewMVrf(equipData.equipmentId, vrfName)) {
-			log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
-			        " on it and it requires a new multicast VRF for VPN: " + vrfName + ".");
-			return false;
-		}
-
-		return true;
-	}
-
-	boolean requiresNewVrf(String equipmentId, String vrfName) {
-		Resource r = resourceManager.getResource("VRF", equipmentId);
-		if (r == null || r.allocationItems == null)
-			return true;
-
-		for (AllocationItem ai : r.allocationItems) {
-			if (ai.resourceShareGroupList.contains(vrfName))
-				return false;
-		}
-
-		return true;
-	}
-
-	boolean requiresNewMVrf(String equipmentId, String vrfName) {
-		Resource r = resourceManager.getResource("MVRF", equipmentId);
-		if (r == null || r.allocationItems == null)
-			return true;
-
-		for (AllocationItem ai : r.allocationItems) {
-			if (ai.resourceShareGroupList.contains(vrfName))
-				return false;
-		}
-
-		return true;
-	}
-
-	public void setVpeLockDao(VpeLockDao vpeLockDao) {
-		this.vpeLockDao = vpeLockDao;
-	}
-
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    private static final Logger log = LoggerFactory.getLogger(VpeLockCheck.class);
+
+    private VpeLockDao vpeLockDao;
+    private ResourceManager resourceManager;
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return true;
+
+        String vpeName = (String) equipData.data.get("vpe-id");
+        String vpeLock = vpeLockDao.getVpeLock(vpeName);
+        if (vpeLock == null)
+            return true;
+
+        if (vpeLock.equals("vpe-total-lock")) {
+            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock + " on it.");
+            return false;
+        }
+
+        if (vpeLock.equals("vpe-vrf-lock") && requiresNewVrf(equipData.equipmentId, vrfName)) {
+            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
+                    " on it and it requires a new VRF for VPN: " + vrfName + ".");
+            return false;
+        }
+
+        if (vpeLock.equals("vpe-mvrf-lock") && requiresNewMVrf(equipData.equipmentId, vrfName)) {
+            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
+                    " on it and it requires a new multicast VRF for VPN: " + vrfName + ".");
+            return false;
+        }
+
+        return true;
+    }
+
+    boolean requiresNewVrf(String equipmentId, String vrfName) {
+        Resource r = resourceManager.getResource("VRF", equipmentId);
+        if (r == null || r.allocationItems == null)
+            return true;
+
+        for (AllocationItem ai : r.allocationItems) {
+            if (ai.resourceShareGroupList.contains(vrfName))
+                return false;
+        }
+
+        return true;
+    }
+
+    boolean requiresNewMVrf(String equipmentId, String vrfName) {
+        Resource r = resourceManager.getResource("MVRF", equipmentId);
+        if (r == null || r.allocationItems == null)
+            return true;
+
+        for (AllocationItem ai : r.allocationItems) {
+            if (ai.resourceShareGroupList.contains(vrfName))
+                return false;
+        }
+
+        return true;
+    }
+
+    public void setVpeLockDao(VpeLockDao vpeLockDao) {
+        this.vpeLockDao = vpeLockDao;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
index 0877933b6..260d9d016 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,12 +26,12 @@ import org.openecomp.sdnc.rm.data.AllocationRequest;
 
 public interface AllocationRule {
 
-	AllocationRequest buildAllocationRequest(
-	        String resourceUnionId,
-	        String resourceSetId,
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change);
+    AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
index 21e49c3a1..5a5623c12 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,34 +27,34 @@ import org.openecomp.sdnc.ra.equip.comp.EquipmentReader;
 
 public class EndPointAllocationDefinition {
 
-	public String serviceModel;
-	public String endPointPosition;
-	public EquipmentReader equipmentReader;
-	public List<EquipmentCheck> equipmentCheckList;
-	public List<PreferenceRule> preferenceRuleList;
-	public List<AllocationRule> allocationRuleList;
+    public String serviceModel;
+    public String endPointPosition;
+    public EquipmentReader equipmentReader;
+    public List<EquipmentCheck> equipmentCheckList;
+    public List<PreferenceRule> preferenceRuleList;
+    public List<AllocationRule> allocationRuleList;
 
-	public void setServiceModel(String serviceModel) {
-		this.serviceModel = serviceModel;
-	}
+    public void setServiceModel(String serviceModel) {
+        this.serviceModel = serviceModel;
+    }
 
-	public void setEndPointPosition(String endPointPosition) {
-		this.endPointPosition = endPointPosition;
-	}
+    public void setEndPointPosition(String endPointPosition) {
+        this.endPointPosition = endPointPosition;
+    }
 
-	public void setEquipmentReader(EquipmentReader equipmentReader) {
-		this.equipmentReader = equipmentReader;
-	}
+    public void setEquipmentReader(EquipmentReader equipmentReader) {
+        this.equipmentReader = equipmentReader;
+    }
 
-	public void setEquipmentCheckList(List<EquipmentCheck> equipmentCheckList) {
-		this.equipmentCheckList = equipmentCheckList;
-	}
+    public void setEquipmentCheckList(List<EquipmentCheck> equipmentCheckList) {
+        this.equipmentCheckList = equipmentCheckList;
+    }
 
-	public void setPreferenceRuleList(List<PreferenceRule> preferenceRuleList) {
-		this.preferenceRuleList = preferenceRuleList;
-	}
+    public void setPreferenceRuleList(List<PreferenceRule> preferenceRuleList) {
+        this.preferenceRuleList = preferenceRuleList;
+    }
 
-	public void setAllocationRuleList(List<AllocationRule> allocationRuleList) {
-		this.allocationRuleList = allocationRuleList;
-	}
+    public void setAllocationRuleList(List<AllocationRule> allocationRuleList) {
+        this.allocationRuleList = allocationRuleList;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
index 645c953c0..e817d587e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,10 +26,10 @@ import java.util.Map;
 
 public interface EndPointAllocator {
 
-	List<EndPointData> allocateEndPoints(
-	        ServiceData serviceData,
-	        Map<String, Object> equipmentConstraints,
-	        boolean checkOnly,
-	        boolean change,
-	        int changeNumber);
+    List<EndPointData> allocateEndPoints(
+            ServiceData serviceData,
+            Map<String, Object> equipmentConstraints,
+            boolean checkOnly,
+            boolean change,
+            int changeNumber);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
index 1af81434d..3d11f8e02 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -44,171 +44,171 @@ import org.slf4j.LoggerFactory;
 
 public class EndPointAllocatorImpl implements EndPointAllocator {
 
-	private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
-
-	private Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap;
-
-	private ResourceManager resourceManager;
-
-	@Override
-	public List<EndPointData> allocateEndPoints(
-	        ServiceData serviceData,
-	        Map<String, Object> equipmentConstraints,
-	        boolean checkOnly,
-	        boolean change,
-	        int changeNumber) {
-		List<EndPointAllocationDefinition> defList = endPointAllocationDefinitionMap.get(serviceData.serviceModel);
-		if (defList == null)
-			throw new NotImplementedException("Service model: " + serviceData.serviceModel + " not supported");
-
-		List<EndPointData> epList = new ArrayList<>();
-		for (EndPointAllocationDefinition def : defList) {
-			if (serviceData.endPointPosition != null && !serviceData.endPointPosition.equals(def.endPointPosition))
-				continue;
-
-			log.info(
-			        "Starting allocation of end point: " + def.endPointPosition + ": " + serviceData.serviceInstanceId);
-
-			String resourceUnionId = serviceData.serviceInstanceId + '/' + def.endPointPosition;
-			String resourceSetId = resourceUnionId + '/' + changeNumber;
-
-			String equipmentId = (String) equipmentConstraints.get("equipment-id");
-			if (equipmentId == null) {
-				EndPointData epExisting = readEndPoint(resourceUnionId, resourceSetId);
-				if (epExisting != null && epExisting.equipmentId != null) {
-					equipmentConstraints.put("equipment-id", epExisting.equipmentId);
-
-					log.info("Trying assignment on the current equipment: " + epExisting.equipmentId);
-				}
-			}
-
-			List<EquipmentData> equipList = def.equipmentReader.readEquipment(equipmentConstraints);
-			if (equipList == null || equipList.isEmpty()) {
-				log.info("Equipment not found for " + def.endPointPosition);
-				break;
-			}
-
-			if (def.equipmentCheckList != null) {
-				for (EquipmentCheck filter : def.equipmentCheckList) {
-					List<EquipmentData> newEquipList = new ArrayList<>();
-					for (EquipmentData equipData : equipList)
-						if (filter.checkEquipment(def.endPointPosition, serviceData, equipData, equipmentConstraints))
-							newEquipList.add(equipData);
-					equipList = newEquipList;
-				}
-				if (equipList.isEmpty()) {
-					log.info("No equipment meets the requiremets for the service for: " + def.endPointPosition);
-					break;
-				}
-			}
-
-			if (equipList.size() > 1 && def.preferenceRuleList != null && !def.preferenceRuleList.isEmpty()) {
-
-				List<PrefEquipment> prefEquipList = new ArrayList<>();
-				for (EquipmentData equipData : equipList) {
-					PrefEquipment prefEquip = new PrefEquipment();
-					prefEquip.equipData = equipData;
-					prefEquip.prefNumbers = new long[def.preferenceRuleList.size()];
-					prefEquipList.add(prefEquip);
-
-					int i = 0;
-					for (PreferenceRule prefRule : def.preferenceRuleList)
-						prefEquip.prefNumbers[i++] =
-						        prefRule.assignOrderNumber(def.endPointPosition, serviceData, equipData);
-				}
-
-				Collections.sort(prefEquipList);
-
-				equipList = new ArrayList<>();
-				for (PrefEquipment prefEquip : prefEquipList)
-					equipList.add(prefEquip.equipData);
-			}
-
-			for (EquipmentData equipData : equipList) {
-				boolean allgood = true;
-				if (def.allocationRuleList != null)
-					for (AllocationRule allocationRule : def.allocationRuleList) {
-						AllocationRequest ar = allocationRule.buildAllocationRequest(resourceUnionId, resourceSetId,
-						        def.endPointPosition, serviceData, equipData, checkOnly, change);
-						if (ar != null) {
-							AllocationOutcome ao = resourceManager.allocateResources(ar);
-							if (ao.status != AllocationStatus.Success) {
-								allgood = false;
-								break;
-							}
-						}
-					}
-				if (allgood) {
-					EndPointData ep = readEndPoint(resourceUnionId, resourceSetId);
-					epList.add(ep);
-					break;
-				}
-			}
-		}
-
-		return epList;
-	}
-
-	private EndPointData readEndPoint(String resourceUnionId, String resourceSetId) {
-		EndPointData ep = new EndPointData();
-		ep.resourceUnionId = resourceUnionId;
-		ep.resourceSetId = resourceSetId;
-
-		int i1 = resourceUnionId.indexOf('/');
-		if (i1 > 0)
-			ep.endPointPosition = resourceUnionId.substring(i1 + 1);
-
-		ep.data = new HashMap<>();
-
-		List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
-		for (Resource r : rlist) {
-			if (r instanceof RangeResource) {
-				RangeResource rr = (RangeResource) r;
-				for (AllocationItem ai : r.allocationItems)
-					if (ai.resourceUnionId.equals(resourceUnionId)) {
-						RangeAllocationItem rai = (RangeAllocationItem) ai;
-						ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName, rai.used.first());
-					}
-			}
-			if (r instanceof LimitResource) {
-				LimitResource rr = (LimitResource) r;
-				for (AllocationItem ai : r.allocationItems)
-					if (ai.resourceUnionId.equals(resourceUnionId)) {
-						LimitAllocationItem rai = (LimitAllocationItem) ai;
-						ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".allocated", rai.used);
-						ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".used", rr.used);
-						ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".assetId",
-						        r.resourceKey.assetId);
-					}
-			}
-		}
-
-		return ep;
-	}
-
-	private static class PrefEquipment implements Comparable<PrefEquipment> {
-
-		public long[] prefNumbers;
-		public EquipmentData equipData;
-
-		@Override
-		public int compareTo(PrefEquipment o) {
-			for (int i = 0; i < prefNumbers.length; i++) {
-				if (prefNumbers[i] < o.prefNumbers[i])
-					return -1;
-				if (prefNumbers[i] > o.prefNumbers[i])
-					return 1;
-			}
-			return 0;
-		}
-	}
-
-	public void setEndPointAllocationDefinitionMap(
-	        Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap) {
-		this.endPointAllocationDefinitionMap = endPointAllocationDefinitionMap;
-	}
-
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
+
+    private Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap;
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public List<EndPointData> allocateEndPoints(
+            ServiceData serviceData,
+            Map<String, Object> equipmentConstraints,
+            boolean checkOnly,
+            boolean change,
+            int changeNumber) {
+        List<EndPointAllocationDefinition> defList = endPointAllocationDefinitionMap.get(serviceData.serviceModel);
+        if (defList == null)
+            throw new NotImplementedException("Service model: " + serviceData.serviceModel + " not supported");
+
+        List<EndPointData> epList = new ArrayList<>();
+        for (EndPointAllocationDefinition def : defList) {
+            if (serviceData.endPointPosition != null && !serviceData.endPointPosition.equals(def.endPointPosition))
+                continue;
+
+            log.info(
+                    "Starting allocation of end point: " + def.endPointPosition + ": " + serviceData.serviceInstanceId);
+
+            String resourceUnionId = serviceData.serviceInstanceId + '/' + def.endPointPosition;
+            String resourceSetId = resourceUnionId + '/' + changeNumber;
+
+            String equipmentId = (String) equipmentConstraints.get("equipment-id");
+            if (equipmentId == null) {
+                EndPointData epExisting = readEndPoint(resourceUnionId, resourceSetId);
+                if (epExisting != null && epExisting.equipmentId != null) {
+                    equipmentConstraints.put("equipment-id", epExisting.equipmentId);
+
+                    log.info("Trying assignment on the current equipment: " + epExisting.equipmentId);
+                }
+            }
+
+            List<EquipmentData> equipList = def.equipmentReader.readEquipment(equipmentConstraints);
+            if (equipList == null || equipList.isEmpty()) {
+                log.info("Equipment not found for " + def.endPointPosition);
+                break;
+            }
+
+            if (def.equipmentCheckList != null) {
+                for (EquipmentCheck filter : def.equipmentCheckList) {
+                    List<EquipmentData> newEquipList = new ArrayList<>();
+                    for (EquipmentData equipData : equipList)
+                        if (filter.checkEquipment(def.endPointPosition, serviceData, equipData, equipmentConstraints))
+                            newEquipList.add(equipData);
+                    equipList = newEquipList;
+                }
+                if (equipList.isEmpty()) {
+                    log.info("No equipment meets the requiremets for the service for: " + def.endPointPosition);
+                    break;
+                }
+            }
+
+            if (equipList.size() > 1 && def.preferenceRuleList != null && !def.preferenceRuleList.isEmpty()) {
+
+                List<PrefEquipment> prefEquipList = new ArrayList<>();
+                for (EquipmentData equipData : equipList) {
+                    PrefEquipment prefEquip = new PrefEquipment();
+                    prefEquip.equipData = equipData;
+                    prefEquip.prefNumbers = new long[def.preferenceRuleList.size()];
+                    prefEquipList.add(prefEquip);
+
+                    int i = 0;
+                    for (PreferenceRule prefRule : def.preferenceRuleList)
+                        prefEquip.prefNumbers[i++] =
+                                prefRule.assignOrderNumber(def.endPointPosition, serviceData, equipData);
+                }
+
+                Collections.sort(prefEquipList);
+
+                equipList = new ArrayList<>();
+                for (PrefEquipment prefEquip : prefEquipList)
+                    equipList.add(prefEquip.equipData);
+            }
+
+            for (EquipmentData equipData : equipList) {
+                boolean allgood = true;
+                if (def.allocationRuleList != null)
+                    for (AllocationRule allocationRule : def.allocationRuleList) {
+                        AllocationRequest ar = allocationRule.buildAllocationRequest(resourceUnionId, resourceSetId,
+                                def.endPointPosition, serviceData, equipData, checkOnly, change);
+                        if (ar != null) {
+                            AllocationOutcome ao = resourceManager.allocateResources(ar);
+                            if (ao.status != AllocationStatus.Success) {
+                                allgood = false;
+                                break;
+                            }
+                        }
+                    }
+                if (allgood) {
+                    EndPointData ep = readEndPoint(resourceUnionId, resourceSetId);
+                    epList.add(ep);
+                    break;
+                }
+            }
+        }
+
+        return epList;
+    }
+
+    private EndPointData readEndPoint(String resourceUnionId, String resourceSetId) {
+        EndPointData ep = new EndPointData();
+        ep.resourceUnionId = resourceUnionId;
+        ep.resourceSetId = resourceSetId;
+
+        int i1 = resourceUnionId.indexOf('/');
+        if (i1 > 0)
+            ep.endPointPosition = resourceUnionId.substring(i1 + 1);
+
+        ep.data = new HashMap<>();
+
+        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
+        for (Resource r : rlist) {
+            if (r instanceof RangeResource) {
+                RangeResource rr = (RangeResource) r;
+                for (AllocationItem ai : r.allocationItems)
+                    if (ai.resourceUnionId.equals(resourceUnionId)) {
+                        RangeAllocationItem rai = (RangeAllocationItem) ai;
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName, rai.used.first());
+                    }
+            }
+            if (r instanceof LimitResource) {
+                LimitResource rr = (LimitResource) r;
+                for (AllocationItem ai : r.allocationItems)
+                    if (ai.resourceUnionId.equals(resourceUnionId)) {
+                        LimitAllocationItem rai = (LimitAllocationItem) ai;
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".allocated", rai.used);
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".used", rr.used);
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".assetId",
+                                r.resourceKey.assetId);
+                    }
+            }
+        }
+
+        return ep;
+    }
+
+    private static class PrefEquipment implements Comparable<PrefEquipment> {
+
+        public long[] prefNumbers;
+        public EquipmentData equipData;
+
+        @Override
+        public int compareTo(PrefEquipment o) {
+            for (int i = 0; i < prefNumbers.length; i++) {
+                if (prefNumbers[i] < o.prefNumbers[i])
+                    return -1;
+                if (prefNumbers[i] > o.prefNumbers[i])
+                    return 1;
+            }
+            return 0;
+        }
+    }
+
+    public void setEndPointAllocationDefinitionMap(
+            Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap) {
+        this.endPointAllocationDefinitionMap = endPointAllocationDefinitionMap;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
index e425e373f..eb030f3e6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,9 +25,9 @@ import java.util.Map;
 
 public class EndPointData {
 
-	public String resourceSetId;
-	public String resourceUnionId;
-	public String endPointPosition;
-	public String equipmentId;
-	public Map<String, Object> data;
+    public String resourceSetId;
+    public String resourceUnionId;
+    public String endPointPosition;
+    public String equipmentId;
+    public Map<String, Object> data;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
index fcca4f7c2..ab65b31e4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,9 +27,9 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentData;
 
 public interface EquipmentCheck {
 
-	boolean checkEquipment(
-	        String endPointPosition,
-	        ServiceData serviceData,
-	        EquipmentData equipData,
-	        Map<String, Object> equipmentConstraints);
+    boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
index acaf10d9e..d1287633f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,6 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentData;
 
 public interface PreferenceRule {
 
-	// Smaller order number is preferred
-	int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData);
+    // Smaller order number is preferred
+    int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
index 0d29e54f7..685f0988d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,12 +25,12 @@ import java.util.Map;
 
 public class ServiceData {
 
-	public String serviceModel;
-	public String serviceInstanceId;
-	public String resourceSetId;
-	public String resourceUnionId;
-	public String resourceShareGroup;
-	public String endPointPosition;
-	public String resourceName;
-	public Map<String, Object> data;
+    public String serviceModel;
+    public String serviceInstanceId;
+    public String resourceSetId;
+    public String resourceUnionId;
+    public String resourceShareGroup;
+    public String endPointPosition;
+    public String resourceName;
+    public Map<String, Object> data;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
index a380594ba..8e3247d11 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,5 +28,5 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentData;
 
 public interface EquipmentReader {
 
-	List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints);
+    List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
index 44873873b..b90a0856f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,5 +26,5 @@ import java.util.Map;
 
 public interface ServerDao {
 
-	List<Map<String, Object>> getServerData(String aicSiteId);
+    List<Map<String, Object>> getServerData(String aicSiteId);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
index e1bc2a5a8..b0c62e5c5 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,33 +32,33 @@ import org.springframework.jdbc.core.JdbcTemplate;
 
 public class ServerDaoImpl implements ServerDao {
 
-	private static final Logger log = LoggerFactory.getLogger(ServerDaoImpl.class);
+    private static final Logger log = LoggerFactory.getLogger(ServerDaoImpl.class);
 
-	private static final String GET_SERVER_COUNT_SQL = "SELECT count(*) FROM PSERVER WHERE aic_site_id = ?";
+    private static final String GET_SERVER_COUNT_SQL = "SELECT count(*) FROM PSERVER WHERE aic_site_id = ?";
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	@Override
-	public List<Map<String, Object>> getServerData(String aicSiteId) {
-		List<Map<String, Object>> ll = new ArrayList<Map<String, Object>>();
-		Map<String, Object> sd = new HashMap<String, Object>();
-		sd.put("aic-site-id", aicSiteId);
-		sd.put("server-id", aicSiteId + "/Server1");
-		sd.put("server-model", "Unknown");
-		sd.put("server-count", getServerCount(aicSiteId));
-		ll.add(sd);
-		return ll;
-	}
+    @Override
+    public List<Map<String, Object>> getServerData(String aicSiteId) {
+        List<Map<String, Object>> ll = new ArrayList<Map<String, Object>>();
+        Map<String, Object> sd = new HashMap<String, Object>();
+        sd.put("aic-site-id", aicSiteId);
+        sd.put("server-id", aicSiteId + "/Server1");
+        sd.put("server-model", "Unknown");
+        sd.put("server-count", getServerCount(aicSiteId));
+        ll.add(sd);
+        return ll;
+    }
 
-	private int getServerCount(String aicSiteId) {
-		int n = jdbcTemplate.queryForInt(GET_SERVER_COUNT_SQL, aicSiteId);
+    private int getServerCount(String aicSiteId) {
+        int n = jdbcTemplate.queryForInt(GET_SERVER_COUNT_SQL, aicSiteId);
 
-		log.info("Number of servers in " + aicSiteId + ": " + n);
+        log.info("Number of servers in " + aicSiteId + ": " + n);
 
-		return n;
-	}
+        return n;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
index 4a0f6b8c0..052bf9edd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ import java.util.Map;
 
 public interface VpePortDao {
 
-	List<Map<String, Object>> getVpePortData(String aicSiteId);
+    List<Map<String, Object>> getVpePortData(String aicSiteId);
 
-	List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName);
+    List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
index d25fe9c4c..d81e391cb 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,48 +34,48 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class VpePortDaoImpl implements VpePortDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(VpePortDaoImpl.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(VpePortDaoImpl.class);
 
-	private static final String GET_SQL = "SELECT * FROM VPE_POOL WHERE aic_site_id = ?";
-	private static final String GET2_SQL = "SELECT * FROM VPE_POOL WHERE vpe_name = ?";
-	private static final String GET3_SQL =
-	        "SELECT * FROM VPE_POOL WHERE substring(aic_site_id, 1, 8) = substring(?, 1, 8)";
+    private static final String GET_SQL = "SELECT * FROM VPE_POOL WHERE aic_site_id = ?";
+    private static final String GET2_SQL = "SELECT * FROM VPE_POOL WHERE vpe_name = ?";
+    private static final String GET3_SQL =
+            "SELECT * FROM VPE_POOL WHERE substring(aic_site_id, 1, 8) = substring(?, 1, 8)";
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	@Override
-	public List<Map<String, Object>> getVpePortData(String aicSiteId) {
-		return jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new VpePortRowMapper());
-	}
+    @Override
+    public List<Map<String, Object>> getVpePortData(String aicSiteId) {
+        return jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new VpePortRowMapper());
+    }
 
-	@Override
-	public List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName) {
-		String sql = vpeName != null ? GET2_SQL : GET3_SQL;
-		Object[] param = new Object[] { vpeName != null ? vpeName : aicSiteId };
+    @Override
+    public List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName) {
+        String sql = vpeName != null ? GET2_SQL : GET3_SQL;
+        Object[] param = new Object[] { vpeName != null ? vpeName : aicSiteId };
 
-		return jdbcTemplate.query(sql, param, new VpePortRowMapper());
-	}
+        return jdbcTemplate.query(sql, param, new VpePortRowMapper());
+    }
 
-	private static class VpePortRowMapper implements RowMapper<Map<String, Object>> {
+    private static class VpePortRowMapper implements RowMapper<Map<String, Object>> {
 
-		@Override
-		public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
-			Map<String, Object> mm = new HashMap<String, Object>();
-			mm.put("vpe-id", rs.getString("vpe_name"));
-			mm.put("aic-site-id", rs.getString("aic_site_id"));
-			mm.put("availability-zone", rs.getString("availability_zone"));
-			mm.put("image-file-name", rs.getString("image_filename"));
-			mm.put("vendor", rs.getString("vendor"));
-			mm.put("provisioning-status", rs.getString("provisioning_status"));
-			mm.put("physical-interface-name", rs.getString("physical_intf_name"));
-			mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
-			mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
-			return mm;
-		}
-	}
+        @Override
+        public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
+            Map<String, Object> mm = new HashMap<String, Object>();
+            mm.put("vpe-id", rs.getString("vpe_name"));
+            mm.put("aic-site-id", rs.getString("aic_site_id"));
+            mm.put("availability-zone", rs.getString("availability_zone"));
+            mm.put("image-file-name", rs.getString("image_filename"));
+            mm.put("vendor", rs.getString("vendor"));
+            mm.put("provisioning-status", rs.getString("provisioning_status"));
+            mm.put("physical-interface-name", rs.getString("physical_intf_name"));
+            mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
+            mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
+            return mm;
+        }
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
index 879a233d7..dc32280f7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,5 +26,5 @@ import java.util.Map;
 
 public interface VplspePortDao {
 
-	List<Map<String, Object>> getVplspePortData(String aicSiteId);
+    List<Map<String, Object>> getVplspePortData(String aicSiteId);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
index bad646414..1f3aa8ef3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,37 +34,37 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class VplspePortDaoImpl implements VplspePortDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(VplspePortDaoImpl.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(VplspePortDaoImpl.class);
 
-	private static final String GET_SQL = "SELECT * FROM VPLSPE_POOL WHERE aic_site_id = ?";
+    private static final String GET_SQL = "SELECT * FROM VPLSPE_POOL WHERE aic_site_id = ?";
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	@Override
-	public List<Map<String, Object>> getVplspePortData(String aicSiteId) {
-		List<Map<String, Object>> ll =
-		        jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new RowMapper<Map<String, Object>>() {
+    @Override
+    public List<Map<String, Object>> getVplspePortData(String aicSiteId) {
+        List<Map<String, Object>> ll =
+                jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new RowMapper<Map<String, Object>>() {
 
-			        @Override
-			        public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
-				        Map<String, Object> mm = new HashMap<String, Object>();
-				        mm.put("vplspe-id", rs.getString("vplspe_name"));
-				        mm.put("aic-site-id", rs.getString("aic_site_id"));
-				        mm.put("availability-zone", rs.getString("availability_zone"));
-				        mm.put("image-file-name", rs.getString("image_filename"));
-				        mm.put("vendor", rs.getString("vendor"));
-				        mm.put("provisioning-status", rs.getString("provisioning_status"));
-				        mm.put("physical-interface-name", rs.getString("physical_intf_name"));
-				        mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
-				        mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
-				        return mm;
-			        }
-		        });
-		return ll;
-	}
+                    @Override
+                    public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        Map<String, Object> mm = new HashMap<String, Object>();
+                        mm.put("vplspe-id", rs.getString("vplspe_name"));
+                        mm.put("aic-site-id", rs.getString("aic_site_id"));
+                        mm.put("availability-zone", rs.getString("availability_zone"));
+                        mm.put("image-file-name", rs.getString("image_filename"));
+                        mm.put("vendor", rs.getString("vendor"));
+                        mm.put("provisioning-status", rs.getString("provisioning_status"));
+                        mm.put("physical-interface-name", rs.getString("physical_intf_name"));
+                        mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
+                        mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
+                        return mm;
+                    }
+                });
+        return ll;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
index d485224b0..ae2a4e7ce 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,7 +25,7 @@ import java.util.Map;
 
 public class EquipmentData {
 
-	public String equipmentId;
-	public EquipmentLevel equipmentLevel;
-	public Map<String, Object> data;
+    public String equipmentId;
+    public EquipmentLevel equipmentLevel;
+    public Map<String, Object> data;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
index 44ae593a0..fbf13fb5d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,5 +22,5 @@
 package org.openecomp.sdnc.ra.equip.data;
 
 public enum EquipmentLevel {
-	Port, Device, Server, Site
+    Port, Device, Server, Site
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
index 09af2081d..cb3f78ec3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,51 +35,51 @@ import org.slf4j.LoggerFactory;
 
 public class AffinityLinkPref implements PreferenceRule {
 
-	private static final Logger log = LoggerFactory.getLogger(AffinityLinkPref.class);
+    private static final Logger log = LoggerFactory.getLogger(AffinityLinkPref.class);
 
-	private ResourceManager resourceManager;
-	private List<String> affinityLinkIdList;
+    private ResourceManager resourceManager;
+    private List<String> affinityLinkIdList;
 
-	public AffinityLinkPref() {
-		// Set default values for affinity link ids (can be overridden by the spring config)
-		affinityLinkIdList = new ArrayList<>();
-		affinityLinkIdList.add("1");
-		affinityLinkIdList.add("2");
-	}
+    public AffinityLinkPref() {
+        // Set default values for affinity link ids (can be overridden by the spring config)
+        affinityLinkIdList = new ArrayList<>();
+        affinityLinkIdList.add("1");
+        affinityLinkIdList.add("2");
+    }
 
-	@Override
-	public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
+    @Override
+    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
 
-		// This class does not really assign order number, but instead sets the affinity link with the lowest
-		// assigned bandwidth in the equipment data
+        // This class does not really assign order number, but instead sets the affinity link with the lowest
+        // assigned bandwidth in the equipment data
 
-		String preferedAffinityLinkId = "1";
-		long lowestAssignedBw = Long.MAX_VALUE;
-		for (String affinityLinkId : affinityLinkIdList) {
-			String assetId = equipData.equipmentId + "-" + affinityLinkId;
-			Resource r = resourceManager.getResource("Bandwidth", assetId);
-			if (r != null) {
-				LimitResource ll = (LimitResource) r;
-				if (ll.used < lowestAssignedBw) {
-					lowestAssignedBw = ll.used;
-					preferedAffinityLinkId = affinityLinkId;
-				}
-				log.info("Assigned bandwidth on affinity link: " + assetId + ": " + ll.used);
-			}
-		}
+        String preferedAffinityLinkId = "1";
+        long lowestAssignedBw = Long.MAX_VALUE;
+        for (String affinityLinkId : affinityLinkIdList) {
+            String assetId = equipData.equipmentId + "-" + affinityLinkId;
+            Resource r = resourceManager.getResource("Bandwidth", assetId);
+            if (r != null) {
+                LimitResource ll = (LimitResource) r;
+                if (ll.used < lowestAssignedBw) {
+                    lowestAssignedBw = ll.used;
+                    preferedAffinityLinkId = affinityLinkId;
+                }
+                log.info("Assigned bandwidth on affinity link: " + assetId + ": " + ll.used);
+            }
+        }
 
-		equipData.data.put("affinity-link", preferedAffinityLinkId);
+        equipData.data.put("affinity-link", preferedAffinityLinkId);
 
-		log.info("Prefered affinity link for " + equipData.equipmentId + ": " + preferedAffinityLinkId);
+        log.info("Prefered affinity link for " + equipData.equipmentId + ": " + preferedAffinityLinkId);
 
-		return 0;
-	}
+        return 0;
+    }
 
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 
-	public void setAffinityLinkIdList(List<String> affinityLinkIdList) {
-		this.affinityLinkIdList = affinityLinkIdList;
-	}
+    public void setAffinityLinkIdList(List<String> affinityLinkIdList) {
+        this.affinityLinkIdList = affinityLinkIdList;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
index abef0a24e..93c041ebf 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,29 +32,29 @@ import org.slf4j.LoggerFactory;
 
 public class EvcExistingVrfPref implements PreferenceRule {
 
-	private static final Logger log = LoggerFactory.getLogger(EvcExistingVrfPref.class);
+    private static final Logger log = LoggerFactory.getLogger(EvcExistingVrfPref.class);
 
-	private ResourceManager resourceManager;
+    private ResourceManager resourceManager;
 
-	@Override
-	public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
-		String vrfName = (String) serviceData.data.get("vrf-name");
-		if (vrfName == null)
-			return 0;
+    @Override
+    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return 0;
 
-		Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-		if (r != null && r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems)
-				if (ai.resourceShareGroupList.contains(vrfName)) {
-					log.info("VRF for VPN: " + vrfName + " found on VPE: " + equipData.equipmentId);
-					return 1;
-				}
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceShareGroupList.contains(vrfName)) {
+                    log.info("VRF for VPN: " + vrfName + " found on VPE: " + equipData.equipmentId);
+                    return 1;
+                }
 
-		log.info("VRF for VPN: " + vrfName + " NOT found on VPE: " + equipData.equipmentId);
-		return 2;
-	}
+        log.info("VRF for VPN: " + vrfName + " NOT found on VPE: " + equipData.equipmentId);
+        return 2;
+    }
 
-	public void setResourceManager(ResourceManager resourceManager) {
-		this.resourceManager = resourceManager;
-	}
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
index 4040b0b44..1bf2ead02 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,18 +32,18 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
 
 public class AicSiteReader implements EquipmentReader {
 
-	@Override
-	public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-		String aicSiteId = (String) equipmentConstraints.get("aic-site-id");
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        String aicSiteId = (String) equipmentConstraints.get("aic-site-id");
 
-		EquipmentData equipData = new EquipmentData();
-		equipData.equipmentLevel = EquipmentLevel.Site;
-		equipData.equipmentId = aicSiteId;
-		equipData.data = new HashMap<String, Object>();
+        EquipmentData equipData = new EquipmentData();
+        equipData.equipmentLevel = EquipmentLevel.Site;
+        equipData.equipmentId = aicSiteId;
+        equipData.data = new HashMap<String, Object>();
 
-		List<EquipmentData> equipList = new ArrayList<>();
-		equipList.add(equipData);
+        List<EquipmentData> equipList = new ArrayList<>();
+        equipList.add(equipData);
 
-		return equipList;
-	}
+        return equipList;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
index 0adf6d122..ad65c379a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,24 +31,24 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
 
 public class UplinkCircuitReader implements EquipmentReader {
 
-	@SuppressWarnings("unchecked")
-	@Override
-	public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-		List<EquipmentData> equipList = new ArrayList<>();
-
-		List<Map<String, Object>> uplinkCircuitList =
-		        (List<Map<String, Object>>) equipmentConstraints.get("uplink-circuit-list");
-		if (uplinkCircuitList == null || uplinkCircuitList.isEmpty())
-			return equipList;
-
-		for (Map<String, Object> uplinkCircuit : uplinkCircuitList) {
-			EquipmentData equipData = new EquipmentData();
-			equipData.equipmentLevel = EquipmentLevel.Device;
-			equipData.equipmentId = (String) uplinkCircuit.get("uplink-circuit-id");
-			equipData.data = uplinkCircuit;
-			equipList.add(equipData);
-		}
-
-		return equipList;
-	}
+    @SuppressWarnings("unchecked")
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        List<EquipmentData> equipList = new ArrayList<>();
+
+        List<Map<String, Object>> uplinkCircuitList =
+                (List<Map<String, Object>>) equipmentConstraints.get("uplink-circuit-list");
+        if (uplinkCircuitList == null || uplinkCircuitList.isEmpty())
+            return equipList;
+
+        for (Map<String, Object> uplinkCircuit : uplinkCircuitList) {
+            EquipmentData equipData = new EquipmentData();
+            equipData.equipmentLevel = EquipmentLevel.Device;
+            equipData.equipmentId = (String) uplinkCircuit.get("uplink-circuit-id");
+            equipData.data = uplinkCircuit;
+            equipList.add(equipData);
+        }
+
+        return equipList;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
index 7039370a0..ac53afe52 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,18 +32,18 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
 
 public class VnfReader implements EquipmentReader {
 
-	@Override
-	public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-		String vnfName = (String) equipmentConstraints.get("vnf-name");
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        String vnfName = (String) equipmentConstraints.get("vnf-name");
 
-		EquipmentData equipData = new EquipmentData();
-		equipData.equipmentLevel = EquipmentLevel.Device;
-		equipData.equipmentId = vnfName;
-		equipData.data = new HashMap<String, Object>();
+        EquipmentData equipData = new EquipmentData();
+        equipData.equipmentLevel = EquipmentLevel.Device;
+        equipData.equipmentId = vnfName;
+        equipData.data = new HashMap<String, Object>();
 
-		List<EquipmentData> equipList = new ArrayList<>();
-		equipList.add(equipData);
+        List<EquipmentData> equipList = new ArrayList<>();
+        equipList.add(equipData);
 
-		return equipList;
-	}
+        return equipList;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
index 360f7806f..ba497c015 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,39 +32,39 @@ import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
 
 public class VpePortReader implements EquipmentReader {
 
-	private VpePortDao vpePortDao;
+    private VpePortDao vpePortDao;
 
-	@Override
-	public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-		String clli = (String) equipmentConstraints.get("clli");
-		String vpeName = (String) equipmentConstraints.get("vpe-name");
-		if (vpeName == null) {
-			String equipmentId = (String) equipmentConstraints.get("equipment-id");
-			if (equipmentId != null) {
-				int i1 = equipmentId.indexOf('/');
-				if (i1 > 0)
-					equipmentId = equipmentId.substring(0, i1);
-				vpeName = equipmentId;
-			}
-		}
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        String clli = (String) equipmentConstraints.get("clli");
+        String vpeName = (String) equipmentConstraints.get("vpe-name");
+        if (vpeName == null) {
+            String equipmentId = (String) equipmentConstraints.get("equipment-id");
+            if (equipmentId != null) {
+                int i1 = equipmentId.indexOf('/');
+                if (i1 > 0)
+                    equipmentId = equipmentId.substring(0, i1);
+                vpeName = equipmentId;
+            }
+        }
 
-		List<Map<String, Object>> vpeDataList = vpePortDao.getVpePortData(clli, vpeName);
+        List<Map<String, Object>> vpeDataList = vpePortDao.getVpePortData(clli, vpeName);
 
-		List<EquipmentData> equipList = new ArrayList<>();
-		for (Map<String, Object> vpeData : vpeDataList) {
-			EquipmentData equipData = new EquipmentData();
-			equipData.equipmentLevel = EquipmentLevel.Port;
-			equipData.equipmentId =
-			        (String) vpeData.get("vpe-id") + '/' + (String) vpeData.get("physical-interface-name");
-			equipData.data = vpeData;
+        List<EquipmentData> equipList = new ArrayList<>();
+        for (Map<String, Object> vpeData : vpeDataList) {
+            EquipmentData equipData = new EquipmentData();
+            equipData.equipmentLevel = EquipmentLevel.Port;
+            equipData.equipmentId =
+                    (String) vpeData.get("vpe-id") + '/' + (String) vpeData.get("physical-interface-name");
+            equipData.data = vpeData;
 
-			equipList.add(equipData);
-		}
+            equipList.add(equipData);
+        }
 
-		return equipList;
-	}
+        return equipList;
+    }
 
-	public void setVpePortDao(VpePortDao vpePortDao) {
-		this.vpePortDao = vpePortDao;
-	}
+    public void setVpePortDao(VpePortDao vpePortDao) {
+        this.vpePortDao = vpePortDao;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
index 44e4c53a6..c2d614161 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,14 +29,14 @@ import org.openecomp.sdnc.rm.data.LimitAllocationOutcome;
 
 public interface AllocationRequestBuilder {
 
-	AllocationRequest buildAllocationRequest(
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change);
+    AllocationRequest buildAllocationRequest(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change);
 
-	ThresholdStatus getThresholdStatus(
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        LimitAllocationOutcome limitAllocationOutcome);
+    ThresholdStatus getThresholdStatus(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            LimitAllocationOutcome limitAllocationOutcome);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
index dbc0d8be9..37f9cb81a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -45,128 +45,128 @@ import org.slf4j.LoggerFactory;
 
 public class AllocationRequestBuilderImpl implements AllocationRequestBuilder {
 
-	private static final Logger log = LoggerFactory.getLogger(AllocationRequestBuilderImpl.class);
-
-	private ResourceRuleDao resourceRuleDao;
-	private RangeRuleDao rangeRuleDao;
-
-	@Override
-	public AllocationRequest buildAllocationRequest(
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
-		        serviceData.endPointPosition, equipmentData.equipmentLevel);
-		List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceData.serviceModel,
-		        serviceData.endPointPosition, equipmentData.equipmentLevel);
-		if (resourceRuleList.isEmpty() && rangeRuleList.isEmpty())
-			return null;
-		if (resourceRuleList.size() == 1 && rangeRuleList.isEmpty())
-			return buildAllocationRequest(resourceRuleList.get(0), serviceData, equipmentData, checkOnly, change);
-
-		if (resourceRuleList.isEmpty() && rangeRuleList.size() == 1)
-			return buildAllocationRequest(rangeRuleList.get(0), serviceData, equipmentData, checkOnly, change);
-
-		MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-		ar.stopOnFirstFailure = false;
-		ar.allocationRequestList = new ArrayList<AllocationRequest>();
-		for (ResourceRule rr : resourceRuleList) {
-			AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
-			ar.allocationRequestList.add(ar1);
-		}
-		for (RangeRule rr : rangeRuleList) {
-			AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
-			ar.allocationRequestList.add(ar1);
-		}
-		return ar;
-	}
-
-	private AllocationRequest buildAllocationRequest(
-	        ResourceRule resourceRule,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		StrUtil.info(log, resourceRule);
-
-		LimitAllocationRequest ar = new LimitAllocationRequest();
-		ar.resourceSetId = serviceData.resourceSetId;
-		ar.resourceUnionId = serviceData.resourceUnionId;
-		ar.resourceName = resourceRule.resourceName;
-		ar.assetId = equipmentData.equipmentId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.strict = false;
-		ar.checkLimit = ExpressionEvaluator.evalLong(
-		        change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);
-		ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
-		ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-		return ar;
-	}
-
-	private AllocationRequest buildAllocationRequest(
-	        RangeRule rangeRule,
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        boolean checkOnly,
-	        boolean change) {
-		StrUtil.info(log, rangeRule);
-
-		RangeAllocationRequest ar = new RangeAllocationRequest();
-		ar.resourceSetId = serviceData.resourceSetId;
-		ar.resourceUnionId = serviceData.resourceUnionId;
-		ar.resourceName = rangeRule.rangeName;
-		ar.assetId = equipmentData.equipmentId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = true;
-		ar.check = true;
-		ar.allocate = !checkOnly;
-		ar.checkMin = rangeRule.minValue;
-		ar.checkMax = rangeRule.maxValue;
-		return ar;
-	}
-
-	@Override
-	public ThresholdStatus getThresholdStatus(
-	        ServiceData serviceData,
-	        EquipmentData equipmentData,
-	        LimitAllocationOutcome limitAllocationOutcome) {
-		ResourceRule rr = resourceRuleDao.getResourceRule(serviceData.serviceModel, serviceData.endPointPosition,
-		        equipmentData.equipmentLevel, limitAllocationOutcome.request.resourceName);
-		if (rr == null || rr.thresholdList == null || rr.thresholdList.isEmpty())
-			return null;
-
-		ThresholdStatus thresholdStatus = null;
-		long maxThresholdValue = 0;
-		for (ResourceThreshold th : rr.thresholdList) {
-			long thresholdValue = ExpressionEvaluator.evalLong(th.expression, equipmentData.data);
-
-			if (thresholdValue > maxThresholdValue) {
-				maxThresholdValue = thresholdValue;
-
-				if (limitAllocationOutcome.used >= thresholdValue) {
-					thresholdStatus = new ThresholdStatus();
-					thresholdStatus.resourceRule = rr;
-					thresholdStatus.resourceThreshold = th;
-					thresholdStatus.limitValue = limitAllocationOutcome.limit;
-					thresholdStatus.thresholdValue = thresholdValue;
-					thresholdStatus.used = limitAllocationOutcome.used;
-					thresholdStatus.lastAdded = limitAllocationOutcome.allocatedCount;
-				}
-			}
-		}
-
-		return thresholdStatus;
-	}
-
-	public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-		this.resourceRuleDao = resourceRuleDao;
-	}
-
-	public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-		this.rangeRuleDao = rangeRuleDao;
-	}
+    private static final Logger log = LoggerFactory.getLogger(AllocationRequestBuilderImpl.class);
+
+    private ResourceRuleDao resourceRuleDao;
+    private RangeRuleDao rangeRuleDao;
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
+                serviceData.endPointPosition, equipmentData.equipmentLevel);
+        List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceData.serviceModel,
+                serviceData.endPointPosition, equipmentData.equipmentLevel);
+        if (resourceRuleList.isEmpty() && rangeRuleList.isEmpty())
+            return null;
+        if (resourceRuleList.size() == 1 && rangeRuleList.isEmpty())
+            return buildAllocationRequest(resourceRuleList.get(0), serviceData, equipmentData, checkOnly, change);
+
+        if (resourceRuleList.isEmpty() && rangeRuleList.size() == 1)
+            return buildAllocationRequest(rangeRuleList.get(0), serviceData, equipmentData, checkOnly, change);
+
+        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
+        ar.stopOnFirstFailure = false;
+        ar.allocationRequestList = new ArrayList<AllocationRequest>();
+        for (ResourceRule rr : resourceRuleList) {
+            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
+            ar.allocationRequestList.add(ar1);
+        }
+        for (RangeRule rr : rangeRuleList) {
+            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
+            ar.allocationRequestList.add(ar1);
+        }
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            ResourceRule resourceRule,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, resourceRule);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = serviceData.resourceSetId;
+        ar.resourceUnionId = serviceData.resourceUnionId;
+        ar.resourceName = resourceRule.resourceName;
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = ExpressionEvaluator.evalLong(
+                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);
+        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
+        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            RangeRule rangeRule,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, rangeRule);
+
+        RangeAllocationRequest ar = new RangeAllocationRequest();
+        ar.resourceSetId = serviceData.resourceSetId;
+        ar.resourceUnionId = serviceData.resourceUnionId;
+        ar.resourceName = rangeRule.rangeName;
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.check = true;
+        ar.allocate = !checkOnly;
+        ar.checkMin = rangeRule.minValue;
+        ar.checkMax = rangeRule.maxValue;
+        return ar;
+    }
+
+    @Override
+    public ThresholdStatus getThresholdStatus(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            LimitAllocationOutcome limitAllocationOutcome) {
+        ResourceRule rr = resourceRuleDao.getResourceRule(serviceData.serviceModel, serviceData.endPointPosition,
+                equipmentData.equipmentLevel, limitAllocationOutcome.request.resourceName);
+        if (rr == null || rr.thresholdList == null || rr.thresholdList.isEmpty())
+            return null;
+
+        ThresholdStatus thresholdStatus = null;
+        long maxThresholdValue = 0;
+        for (ResourceThreshold th : rr.thresholdList) {
+            long thresholdValue = ExpressionEvaluator.evalLong(th.expression, equipmentData.data);
+
+            if (thresholdValue > maxThresholdValue) {
+                maxThresholdValue = thresholdValue;
+
+                if (limitAllocationOutcome.used >= thresholdValue) {
+                    thresholdStatus = new ThresholdStatus();
+                    thresholdStatus.resourceRule = rr;
+                    thresholdStatus.resourceThreshold = th;
+                    thresholdStatus.limitValue = limitAllocationOutcome.limit;
+                    thresholdStatus.thresholdValue = thresholdValue;
+                    thresholdStatus.used = limitAllocationOutcome.used;
+                    thresholdStatus.lastAdded = limitAllocationOutcome.allocatedCount;
+                }
+            }
+        }
+
+        return thresholdStatus;
+    }
+
+    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
+        this.resourceRuleDao = resourceRuleDao;
+    }
+
+    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
+        this.rangeRuleDao = rangeRuleDao;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
index a56b78809..af6eca7e9 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,6 +23,6 @@ package org.openecomp.sdnc.ra.rule.dao;
 
 public interface MaxPortSpeedDao {
 
-	// Returns max speed in kbps
-	long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName);
+    // Returns max speed in kbps
+    long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
index ea0bd7715..b0cc7d2cc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,53 +33,53 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class MaxPortSpeedDaoImpl implements MaxPortSpeedDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(MaxPortSpeedDaoImpl.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(MaxPortSpeedDaoImpl.class);
 
-	private final static String GET_SQL =
-	        "SELECT * FROM MAX_PORT_SPEED WHERE image_file_name = ? AND end_point_position = ? AND interface_name = ?";
+    private final static String GET_SQL =
+            "SELECT * FROM MAX_PORT_SPEED WHERE image_file_name = ? AND end_point_position = ? AND interface_name = ?";
 
-	private JdbcTemplate jdbcTemplate;
-	private long defaultMaxPortSpeed = 5000000;
-	private SpeedUtil speedUtil;
+    private JdbcTemplate jdbcTemplate;
+    private long defaultMaxPortSpeed = 5000000;
+    private SpeedUtil speedUtil;
 
-	@Override
-	public long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName) {
-		List<MaxPortSpeed> maxPortSpeedList =
-		        jdbcTemplate.query(GET_SQL, new Object[] { imageFile, endPointPosition, interfaceName },
-		                new RowMapper<MaxPortSpeed>() {
+    @Override
+    public long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName) {
+        List<MaxPortSpeed> maxPortSpeedList =
+                jdbcTemplate.query(GET_SQL, new Object[] { imageFile, endPointPosition, interfaceName },
+                        new RowMapper<MaxPortSpeed>() {
 
-			                @Override
-			                public MaxPortSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
-				                MaxPortSpeed mps = new MaxPortSpeed();
-				                mps.maxSpeed = rs.getLong("max_speed");
-				                mps.unit = rs.getString("unit");
-				                return mps;
-			                }
-		                });
+                            @Override
+                            public MaxPortSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
+                                MaxPortSpeed mps = new MaxPortSpeed();
+                                mps.maxSpeed = rs.getLong("max_speed");
+                                mps.unit = rs.getString("unit");
+                                return mps;
+                            }
+                        });
 
-		if (maxPortSpeedList.isEmpty())
-			return defaultMaxPortSpeed;
+        if (maxPortSpeedList.isEmpty())
+            return defaultMaxPortSpeed;
 
-		MaxPortSpeed mps = maxPortSpeedList.get(0);
-		return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
-	}
+        MaxPortSpeed mps = maxPortSpeedList.get(0);
+        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
+    }
 
-	private static class MaxPortSpeed {
+    private static class MaxPortSpeed {
 
-		public long maxSpeed;
-		public String unit;
-	}
+        public long maxSpeed;
+        public String unit;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 
-	public void setDefaultMaxPortSpeed(long defaultMaxPortSpeed) {
-		this.defaultMaxPortSpeed = defaultMaxPortSpeed;
-	}
+    public void setDefaultMaxPortSpeed(long defaultMaxPortSpeed) {
+        this.defaultMaxPortSpeed = defaultMaxPortSpeed;
+    }
 
-	public void setSpeedUtil(SpeedUtil speedUtil) {
-		this.speedUtil = speedUtil;
-	}
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
index 4bd17f1dd..dd6ae9c8c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,6 +23,6 @@ package org.openecomp.sdnc.ra.rule.dao;
 
 public interface MaxServerSpeedDao {
 
-	// Returns max speed in kbps
-	long getMaxServerSpeed(String serverModel, int evcCount);
+    // Returns max speed in kbps
+    long getMaxServerSpeed(String serverModel, int evcCount);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
index c34281797..c0be2e6b5 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,54 +33,54 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class MaxServerSpeedDaoImpl implements MaxServerSpeedDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(MaxServerSpeedDaoImpl.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(MaxServerSpeedDaoImpl.class);
 
-	private final static String GET_SQL =
-	        "SELECT * FROM MAX_SERVER_SPEED\n" +
-	        "WHERE (server_model = ? OR server_model = 'ALL') AND evc_count >= ?\n" +
-	        "ORDER BY evc_count";
+    private final static String GET_SQL =
+            "SELECT * FROM MAX_SERVER_SPEED\n" +
+            "WHERE (server_model = ? OR server_model = 'ALL') AND evc_count >= ?\n" +
+            "ORDER BY evc_count";
 
-	private JdbcTemplate jdbcTemplate;
-	private long defaultMaxServerSpeed = 1600000;
-	private SpeedUtil speedUtil;
+    private JdbcTemplate jdbcTemplate;
+    private long defaultMaxServerSpeed = 1600000;
+    private SpeedUtil speedUtil;
 
-	@Override
-	public long getMaxServerSpeed(String serverModel, int evcCount) {
-		List<MaxServerSpeed> maxServerSpeedList =
-		        jdbcTemplate.query(GET_SQL, new Object[] { serverModel, evcCount }, new RowMapper<MaxServerSpeed>() {
+    @Override
+    public long getMaxServerSpeed(String serverModel, int evcCount) {
+        List<MaxServerSpeed> maxServerSpeedList =
+                jdbcTemplate.query(GET_SQL, new Object[] { serverModel, evcCount }, new RowMapper<MaxServerSpeed>() {
 
-			        @Override
-			        public MaxServerSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
-				        MaxServerSpeed mps = new MaxServerSpeed();
-				        mps.maxSpeed = rs.getLong("max_speed");
-				        mps.unit = rs.getString("unit");
-				        return mps;
-			        }
-		        });
+                    @Override
+                    public MaxServerSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        MaxServerSpeed mps = new MaxServerSpeed();
+                        mps.maxSpeed = rs.getLong("max_speed");
+                        mps.unit = rs.getString("unit");
+                        return mps;
+                    }
+                });
 
-		if (maxServerSpeedList.isEmpty())
-			return defaultMaxServerSpeed;
+        if (maxServerSpeedList.isEmpty())
+            return defaultMaxServerSpeed;
 
-		MaxServerSpeed mps = maxServerSpeedList.get(0);
-		return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
-	}
+        MaxServerSpeed mps = maxServerSpeedList.get(0);
+        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
+    }
 
-	private static class MaxServerSpeed {
+    private static class MaxServerSpeed {
 
-		public long maxSpeed;
-		public String unit;
-	}
+        public long maxSpeed;
+        public String unit;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 
-	public void setDefaultMaxServerSpeed(long defaultMaxServerSpeed) {
-		this.defaultMaxServerSpeed = defaultMaxServerSpeed;
-	}
+    public void setDefaultMaxServerSpeed(long defaultMaxServerSpeed) {
+        this.defaultMaxServerSpeed = defaultMaxServerSpeed;
+    }
 
-	public void setSpeedUtil(SpeedUtil speedUtil) {
-		this.speedUtil = speedUtil;
-	}
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
index 509a034ae..2042ba9cd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.ra.rule.dao;
 
 public interface ParameterDao {
 
-	String getParameter(String name);
+    String getParameter(String name);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
index 2cafb2806..c2ca99ce8 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,28 +30,28 @@ import org.springframework.jdbc.core.JdbcTemplate;
 
 public class ParameterDaoImpl implements ParameterDao {
 
-	private static final Logger log = LoggerFactory.getLogger(ParameterDaoImpl.class);
+    private static final Logger log = LoggerFactory.getLogger(ParameterDaoImpl.class);
 
-	private final static String GET_SQL = "SELECT * FROM PARAMETERS WHERE name = ?";
+    private final static String GET_SQL = "SELECT * FROM PARAMETERS WHERE name = ?";
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	@Override
-	public String getParameter(String name) {
-		List<Map<String, Object>> ll = jdbcTemplate.queryForList(GET_SQL, name);
+    @Override
+    public String getParameter(String name) {
+        List<Map<String, Object>> ll = jdbcTemplate.queryForList(GET_SQL, name);
 
-		if (ll == null || ll.isEmpty()) {
-			log.info("Parameter: " + name + " not found in DB");
-			return null;
-		}
+        if (ll == null || ll.isEmpty()) {
+            log.info("Parameter: " + name + " not found in DB");
+            return null;
+        }
 
-		String v = (String) ll.get(0).get("value");
-		log.info("Parameter from DB: " + name + "='" + v + "'");
+        String v = (String) ll.get(0).get("value");
+        log.info("Parameter from DB: " + name + "='" + v + "'");
 
-		return v;
-	}
+        return v;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
index 798a23037..670039f41 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,5 +28,5 @@ import org.openecomp.sdnc.ra.rule.data.RangeRule;
 
 public interface RangeRuleDao {
 
-	List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
+    List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
index dec05ece4..0880929bd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,37 +34,37 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class RangeRuleDaoImpl implements RangeRuleDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
 
-	private static final String GET_SQL =
-	        "SELECT * FROM RANGE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
+    private static final String GET_SQL =
+            "SELECT * FROM RANGE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	@Override
-	public List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel) {
-		List<RangeRule> rangeRuleList =
-		        jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, endPointPosition, equipLevel.toString() },
-		                new RowMapper<RangeRule>() {
+    @Override
+    public List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel) {
+        List<RangeRule> rangeRuleList =
+                jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, endPointPosition, equipLevel.toString() },
+                        new RowMapper<RangeRule>() {
 
-			                @Override
-			                public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
-				                RangeRule rl = new RangeRule();
-				                rl.id = rs.getLong("range_rule_id");
-				                rl.rangeName = rs.getString("range_name");
-				                rl.serviceModel = rs.getString("service_model");
-				                rl.endPointPosition = rs.getString("end_point_position");
-				                rl.equipmentLevel = rs.getString("equipment_level");
-				                rl.minValue = rs.getInt("min_value");
-				                rl.maxValue = rs.getInt("max_value");
-				                return rl;
-			                }
-		                });
-		return rangeRuleList;
-	}
+                            @Override
+                            public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
+                                RangeRule rl = new RangeRule();
+                                rl.id = rs.getLong("range_rule_id");
+                                rl.rangeName = rs.getString("range_name");
+                                rl.serviceModel = rs.getString("service_model");
+                                rl.endPointPosition = rs.getString("end_point_position");
+                                rl.equipmentLevel = rs.getString("equipment_level");
+                                rl.minValue = rs.getInt("min_value");
+                                rl.maxValue = rs.getInt("max_value");
+                                return rl;
+                            }
+                        });
+        return rangeRuleList;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
index 31ce9e6ab..55b24b61f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,11 +28,11 @@ import org.openecomp.sdnc.ra.rule.data.ResourceRule;
 
 public interface ResourceRuleDao {
 
-	List<ResourceRule> getResourceRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
+    List<ResourceRule> getResourceRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
 
-	ResourceRule getResourceRule(
-	        String serviceModel,
-	        String endPointPosition,
-	        EquipmentLevel equipLevel,
-	        String resourceName);
+    ResourceRule getResourceRule(
+            String serviceModel,
+            String endPointPosition,
+            EquipmentLevel equipLevel,
+            String resourceName);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
index 819a01cd8..72793a40f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,83 +35,83 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class ResourceRuleDaoImpl implements ResourceRuleDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(ResourceRuleDaoImpl.class);
-
-	private static final String GET1_SQL =
-	        "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
-	private static final String GET2_SQL =
-	        "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ? AND resource_name = ?";
-	private static final String THRESHOLD_SQL = "SELECT * FROM RESOURCE_THRESHOLD WHERE resource_rule_id = ?";
-
-	private JdbcTemplate jdbcTemplate;
-	ResourceRuleRowMapper resourceRuleRowMapper = new ResourceRuleRowMapper();
-	ResourceThresholdRowMapper resourceThresholdRowMapper = new ResourceThresholdRowMapper();
-
-	@Override
-	public List<ResourceRule> getResourceRules(
-	        String serviceModel,
-	        String endPointPosition,
-	        EquipmentLevel equipLevel) {
-		List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET1_SQL,
-		        new Object[] { serviceModel, endPointPosition, equipLevel.toString() }, resourceRuleRowMapper);
-
-		for (ResourceRule rr : resourceRuleList)
-			rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
-
-		return resourceRuleList;
-	}
-
-	@Override
-	public ResourceRule getResourceRule(
-	        String serviceModel,
-	        String endPointPosition,
-	        EquipmentLevel equipLevel,
-	        String resourceName) {
-		List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET2_SQL,
-		        new Object[] { serviceModel, endPointPosition, equipLevel.toString(), resourceName },
-		        resourceRuleRowMapper);
-
-		if (resourceRuleList == null || resourceRuleList.isEmpty())
-			return null;
-
-		ResourceRule rr = resourceRuleList.get(0);
-		rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
-
-		return rr;
-	}
-
-	private static class ResourceRuleRowMapper implements RowMapper<ResourceRule> {
-
-		@Override
-		public ResourceRule mapRow(ResultSet rs, int rowNum) throws SQLException {
-			ResourceRule rl = new ResourceRule();
-			rl.id = rs.getLong("resource_rule_id");
-			rl.resourceName = rs.getString("resource_name");
-			rl.serviceModel = rs.getString("service_model");
-			rl.endPointPosition = rs.getString("end_point_position");
-			rl.serviceExpression = rs.getString("service_expression");
-			rl.equipmentLevel = rs.getString("equipment_level");
-			rl.equipmentExpression = rs.getString("equipment_expression");
-			rl.allocationExpression = rs.getString("allocation_expression");
-			rl.softLimitExpression = rs.getString("soft_limit_expression");
-			rl.hardLimitExpression = rs.getString("hard_limit_expression");
-			return rl;
-		}
-	}
-
-	private static class ResourceThresholdRowMapper implements RowMapper<ResourceThreshold> {
-
-		@Override
-		public ResourceThreshold mapRow(ResultSet rs, int rowNum) throws SQLException {
-			ResourceThreshold th = new ResourceThreshold();
-			th.expression = rs.getString("threshold_expression");
-			th.message = rs.getString("threshold_message");
-			return th;
-		}
-	}
-
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceRuleDaoImpl.class);
+
+    private static final String GET1_SQL =
+            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
+    private static final String GET2_SQL =
+            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ? AND resource_name = ?";
+    private static final String THRESHOLD_SQL = "SELECT * FROM RESOURCE_THRESHOLD WHERE resource_rule_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    ResourceRuleRowMapper resourceRuleRowMapper = new ResourceRuleRowMapper();
+    ResourceThresholdRowMapper resourceThresholdRowMapper = new ResourceThresholdRowMapper();
+
+    @Override
+    public List<ResourceRule> getResourceRules(
+            String serviceModel,
+            String endPointPosition,
+            EquipmentLevel equipLevel) {
+        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET1_SQL,
+                new Object[] { serviceModel, endPointPosition, equipLevel.toString() }, resourceRuleRowMapper);
+
+        for (ResourceRule rr : resourceRuleList)
+            rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
+
+        return resourceRuleList;
+    }
+
+    @Override
+    public ResourceRule getResourceRule(
+            String serviceModel,
+            String endPointPosition,
+            EquipmentLevel equipLevel,
+            String resourceName) {
+        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET2_SQL,
+                new Object[] { serviceModel, endPointPosition, equipLevel.toString(), resourceName },
+                resourceRuleRowMapper);
+
+        if (resourceRuleList == null || resourceRuleList.isEmpty())
+            return null;
+
+        ResourceRule rr = resourceRuleList.get(0);
+        rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
+
+        return rr;
+    }
+
+    private static class ResourceRuleRowMapper implements RowMapper<ResourceRule> {
+
+        @Override
+        public ResourceRule mapRow(ResultSet rs, int rowNum) throws SQLException {
+            ResourceRule rl = new ResourceRule();
+            rl.id = rs.getLong("resource_rule_id");
+            rl.resourceName = rs.getString("resource_name");
+            rl.serviceModel = rs.getString("service_model");
+            rl.endPointPosition = rs.getString("end_point_position");
+            rl.serviceExpression = rs.getString("service_expression");
+            rl.equipmentLevel = rs.getString("equipment_level");
+            rl.equipmentExpression = rs.getString("equipment_expression");
+            rl.allocationExpression = rs.getString("allocation_expression");
+            rl.softLimitExpression = rs.getString("soft_limit_expression");
+            rl.hardLimitExpression = rs.getString("hard_limit_expression");
+            return rl;
+        }
+    }
+
+    private static class ResourceThresholdRowMapper implements RowMapper<ResourceThreshold> {
+
+        @Override
+        public ResourceThreshold mapRow(ResultSet rs, int rowNum) throws SQLException {
+            ResourceThreshold th = new ResourceThreshold();
+            th.expression = rs.getString("threshold_expression");
+            th.message = rs.getString("threshold_message");
+            return th;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
index eb41792d9..6734fb54e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.ra.rule.dao;
 
 public interface VpeLockDao {
 
-	String getVpeLock(String vpeName);
+    String getVpeLock(String vpeName);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
index eb6cef3bd..d712b8d0f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,20 +29,20 @@ import org.springframework.jdbc.core.JdbcTemplate;
 
 public class VpeLockDaoImpl implements VpeLockDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(VpeLockDaoImpl.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(VpeLockDaoImpl.class);
 
-	private final static String GET_SQL = "SELECT vpn_lock FROM VPE_LOCK WHERE vpe_name = ?";
+    private final static String GET_SQL = "SELECT vpn_lock FROM VPE_LOCK WHERE vpe_name = ?";
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	@Override
-	public String getVpeLock(String vpeName) {
-		List<String> ll = jdbcTemplate.queryForList(GET_SQL, String.class, vpeName);
-		return ll != null && !ll.isEmpty() ? ll.get(0) : null;
-	}
+    @Override
+    public String getVpeLock(String vpeName) {
+        List<String> ll = jdbcTemplate.queryForList(GET_SQL, String.class, vpeName);
+        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
index ed76f6b16..e657e8b47 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,11 +23,11 @@ package org.openecomp.sdnc.ra.rule.data;
 
 public class RangeRule {
 
-	public long id;
-	public String rangeName;
-	public String serviceModel;
-	public String endPointPosition;
-	public String equipmentLevel;
-	public int minValue;
-	public int maxValue;
+    public long id;
+    public String rangeName;
+    public String serviceModel;
+    public String endPointPosition;
+    public String equipmentLevel;
+    public int minValue;
+    public int maxValue;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
index c4d55f921..ca8ab5407 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,15 +25,15 @@ import java.util.List;
 
 public class ResourceRule {
 
-	public long id;
-	public String resourceName;
-	public String serviceModel;
-	public String endPointPosition;
-	public String serviceExpression;
-	public String equipmentLevel;
-	public String equipmentExpression;
-	public String allocationExpression;
-	public String softLimitExpression;
-	public String hardLimitExpression;
-	public List<ResourceThreshold> thresholdList;
+    public long id;
+    public String resourceName;
+    public String serviceModel;
+    public String endPointPosition;
+    public String serviceExpression;
+    public String equipmentLevel;
+    public String equipmentExpression;
+    public String allocationExpression;
+    public String softLimitExpression;
+    public String hardLimitExpression;
+    public List<ResourceThreshold> thresholdList;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
index 7be4067e0..b733a356b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,6 +23,6 @@ package org.openecomp.sdnc.ra.rule.data;
 
 public class ResourceThreshold {
 
-	public String expression;
-	public String message;
+    public String expression;
+    public String message;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
index 5f772ef18..d9ea21769 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,10 +23,10 @@ package org.openecomp.sdnc.ra.rule.data;
 
 public class ThresholdStatus {
 
-	public ResourceRule resourceRule;
-	public ResourceThreshold resourceThreshold;
-	public long limitValue;
-	public long thresholdValue;
-	public long used;
-	public long lastAdded;
+    public ResourceRule resourceRule;
+    public ResourceThreshold resourceThreshold;
+    public long limitValue;
+    public long thresholdValue;
+    public long used;
+    public long lastAdded;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
index 811118cb4..c057d91f7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,13 +26,13 @@ import org.openecomp.sdnc.ra.service.data.ServiceStatus;
 
 public interface ServiceResourceDao {
 
-	ServiceResource getServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
+    ServiceResource getServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
 
-	void addServiceResource(ServiceResource serviceResource);
+    void addServiceResource(ServiceResource serviceResource);
 
-	void updateServiceResource(ServiceResource serviceResource);
+    void updateServiceResource(ServiceResource serviceResource);
 
-	void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
+    void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
 
-	void updateServiceStatus(String serviceInstanceId, ServiceStatus serviceStatus, ServiceStatus newServiceStatus);
+    void updateServiceStatus(String serviceInstanceId, ServiceStatus serviceStatus, ServiceStatus newServiceStatus);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
index 6432e80d7..2b5cc0acb 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,77 +34,77 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class ServiceResourceDaoImpl implements ServiceResourceDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(ServiceResourceDaoImpl.class);
-
-	private static final String GET_SQL =
-	        "SELECT * FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
-
-	private static final String ADD_SQL = "INSERT INTO SERVICE_RESOURCE (\n"
-	        + "  service_instance_id, service_status, service_change_number, resource_set_id, resource_union_id)\n"
-	        + "VALUES (?, ?, ?, ?, ?)";
-
-	private static final String UPDATE_SQL =
-	        "UPDATE SERVICE_RESOURCE SET service_change_number = ?, resource_set_id = ?\n"
-	                + "WHERE service_instance_id = ? AND service_status = ?";
-
-	private static final String DELETE_SQL =
-	        "DELETE FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
-
-	private static final String UPDATE_STATUS_SQL =
-	        "UPDATE SERVICE_RESOURCE SET service_status = ? WHERE service_instance_id = ? AND service_status = ?";
-
-	private JdbcTemplate jdbcTemplate;
-
-	@Override
-	public ServiceResource getServiceResource(final String serviceInstanceId, final ServiceStatus serviceStatus) {
-		List<ServiceResource> serviceResourceList =
-		        jdbcTemplate.query(GET_SQL, new Object[] { serviceInstanceId, serviceStatus.toString() },
-		                new RowMapper<ServiceResource>() {
-
-			                @Override
-			                public ServiceResource mapRow(ResultSet rs, int rowNum) throws SQLException {
-				                ServiceResource sr = new ServiceResource();
-				                sr.id = rs.getLong("service_resource_id");
-				                sr.serviceInstanceId = serviceInstanceId;
-				                sr.serviceStatus = serviceStatus;
-				                sr.serviceChangeNumber = rs.getInt("service_change_number");
-				                sr.resourceSetId = rs.getString("resource_set_id");
-				                sr.resourceUnionId = rs.getString("resource_union_id");
-				                return sr;
-			                }
-		                });
-		if (serviceResourceList.isEmpty())
-			return null;
-		return serviceResourceList.get(0);
-	}
-
-	@Override
-	public void addServiceResource(ServiceResource serviceResource) {
-		jdbcTemplate.update(ADD_SQL, serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString(),
-		        serviceResource.serviceChangeNumber, serviceResource.resourceSetId, serviceResource.resourceUnionId);
-	}
-
-	@Override
-	public void updateServiceResource(ServiceResource serviceResource) {
-		jdbcTemplate.update(UPDATE_SQL, serviceResource.serviceChangeNumber, serviceResource.resourceSetId,
-		        serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString());
-	}
-
-	@Override
-	public void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus) {
-		jdbcTemplate.update(DELETE_SQL, serviceInstanceId, serviceStatus.toString());
-	}
-
-	@Override
-	public void updateServiceStatus(
-	        String serviceInstanceId,
-	        ServiceStatus serviceStatus,
-	        ServiceStatus newServiceStatus) {
-		jdbcTemplate.update(UPDATE_STATUS_SQL, newServiceStatus.toString(), serviceInstanceId, serviceStatus.toString());
-	}
-
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ServiceResourceDaoImpl.class);
+
+    private static final String GET_SQL =
+            "SELECT * FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
+
+    private static final String ADD_SQL = "INSERT INTO SERVICE_RESOURCE (\n"
+            + "  service_instance_id, service_status, service_change_number, resource_set_id, resource_union_id)\n"
+            + "VALUES (?, ?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL =
+            "UPDATE SERVICE_RESOURCE SET service_change_number = ?, resource_set_id = ?\n"
+                    + "WHERE service_instance_id = ? AND service_status = ?";
+
+    private static final String DELETE_SQL =
+            "DELETE FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
+
+    private static final String UPDATE_STATUS_SQL =
+            "UPDATE SERVICE_RESOURCE SET service_status = ? WHERE service_instance_id = ? AND service_status = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public ServiceResource getServiceResource(final String serviceInstanceId, final ServiceStatus serviceStatus) {
+        List<ServiceResource> serviceResourceList =
+                jdbcTemplate.query(GET_SQL, new Object[] { serviceInstanceId, serviceStatus.toString() },
+                        new RowMapper<ServiceResource>() {
+
+                            @Override
+                            public ServiceResource mapRow(ResultSet rs, int rowNum) throws SQLException {
+                                ServiceResource sr = new ServiceResource();
+                                sr.id = rs.getLong("service_resource_id");
+                                sr.serviceInstanceId = serviceInstanceId;
+                                sr.serviceStatus = serviceStatus;
+                                sr.serviceChangeNumber = rs.getInt("service_change_number");
+                                sr.resourceSetId = rs.getString("resource_set_id");
+                                sr.resourceUnionId = rs.getString("resource_union_id");
+                                return sr;
+                            }
+                        });
+        if (serviceResourceList.isEmpty())
+            return null;
+        return serviceResourceList.get(0);
+    }
+
+    @Override
+    public void addServiceResource(ServiceResource serviceResource) {
+        jdbcTemplate.update(ADD_SQL, serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString(),
+                serviceResource.serviceChangeNumber, serviceResource.resourceSetId, serviceResource.resourceUnionId);
+    }
+
+    @Override
+    public void updateServiceResource(ServiceResource serviceResource) {
+        jdbcTemplate.update(UPDATE_SQL, serviceResource.serviceChangeNumber, serviceResource.resourceSetId,
+                serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString());
+    }
+
+    @Override
+    public void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus) {
+        jdbcTemplate.update(DELETE_SQL, serviceInstanceId, serviceStatus.toString());
+    }
+
+    @Override
+    public void updateServiceStatus(
+            String serviceInstanceId,
+            ServiceStatus serviceStatus,
+            ServiceStatus newServiceStatus) {
+        jdbcTemplate.update(UPDATE_STATUS_SQL, newServiceStatus.toString(), serviceInstanceId, serviceStatus.toString());
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
index 65d4488ee..e17145e5b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,10 +23,10 @@ package org.openecomp.sdnc.ra.service.data;
 
 public class ServiceResource {
 
-	public long id;
-	public String serviceInstanceId;
-	public ServiceStatus serviceStatus;
-	public int serviceChangeNumber;
-	public String resourceSetId;
-	public String resourceUnionId;
+    public long id;
+    public String serviceInstanceId;
+    public ServiceStatus serviceStatus;
+    public int serviceChangeNumber;
+    public String resourceSetId;
+    public String resourceUnionId;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
index 32f473d3d..862c3e443 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.ra.service.data;
 
 public enum ServiceStatus {
 
-	Active, Pending
+    Active, Pending
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
index 3a9340916..00cfb1fc4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -61,270 +61,270 @@ import org.slf4j.LoggerFactory;
 
 class AllocationFunction extends SynchronizedFunction {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(AllocationFunction.class);
-
-	private ResourceDao resourceDao;
-
-	private String applicationId;
-	private AllocationRequest request;
-	private AllocationOutcome outcome;
-
-	private List<Resource> updateList = new ArrayList<Resource>();
-
-	public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, String applicationId,
-	        AllocationRequest request, int lockTimeout) {
-		super(lockHelper, getLockNames(request), lockTimeout);
-		this.applicationId = applicationId;
-		this.resourceDao = resourceDao;
-		this.request = request;
-	}
-
-	private static Collection<String> getLockNames(AllocationRequest request) {
-		Set<String> lockResourceNames = new HashSet<String>();
-		addLockNames(lockResourceNames, request);
-		return lockResourceNames;
-	}
-
-	private static void addLockNames(Set<String> lockResourceNames, AllocationRequest request) {
-		if (request instanceof MultiAssetAllocationRequest) {
-			MultiAssetAllocationRequest req = (MultiAssetAllocationRequest) request;
-			if (req.assetIdList != null)
-				lockResourceNames.addAll(req.assetIdList);
-		} else if (request instanceof MultiResourceAllocationRequest) {
-			MultiResourceAllocationRequest req = (MultiResourceAllocationRequest) request;
-			if (req.allocationRequestList != null)
-				for (AllocationRequest request1 : req.allocationRequestList)
-					addLockNames(lockResourceNames, request1);
-		} else if (request.assetId != null)
-			lockResourceNames.add(request.assetId);
-	}
-
-	@Override
-	public void _exec() throws ResourceLockedException {
-		outcome = allocate(request);
-		if (outcome.status == AllocationStatus.Success)
-			for (Resource r : updateList)
-				resourceDao.saveResource(r);
-	}
-
-	private AllocationOutcome allocate(AllocationRequest allocationRequest) throws ResourceLockedException {
-		if (allocationRequest instanceof MultiAssetAllocationRequest)
-			return allocateMultiAsset((MultiAssetAllocationRequest) allocationRequest);
-		if (allocationRequest instanceof MultiResourceAllocationRequest)
-			return allocateMultiResource((MultiResourceAllocationRequest) allocationRequest);
-		if (allocationRequest instanceof LimitAllocationRequest)
-			return allocateLimit((LimitAllocationRequest) allocationRequest);
-		if (allocationRequest instanceof LabelAllocationRequest)
-			return allocateLabel((LabelAllocationRequest) allocationRequest);
-		if (allocationRequest instanceof RangeAllocationRequest)
-			return allocateRange((RangeAllocationRequest) allocationRequest);
-		return null;
-	}
-
-	private MultiAssetAllocationOutcome allocateMultiAsset(MultiAssetAllocationRequest req) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	private MultiResourceAllocationOutcome allocateMultiResource(MultiResourceAllocationRequest req) {
-		MultiResourceAllocationOutcome out = new MultiResourceAllocationOutcome();
-		out.request = req;
-		out.allocationOutcomeList = new ArrayList<AllocationOutcome>();
-		out.status = AllocationStatus.Success;
-
-		if (req.allocationRequestList != null)
-			for (AllocationRequest req1 : req.allocationRequestList) {
-				AllocationOutcome out1 = allocate(req1);
-				out.allocationOutcomeList.add(out1);
-				if (out1.status != AllocationStatus.Success)
-					out.status = AllocationStatus.Failure;
-			}
-
-		return out;
-	}
-
-	private LimitAllocationOutcome allocateLimit(LimitAllocationRequest req) {
-		LimitAllocationOutcome out = new LimitAllocationOutcome();
-		out.request = req;
-
-		Resource r = resourceDao.getResource(req.assetId, req.resourceName);
-		if (r == null) {
-			r = new LimitResource();
-			r.resourceKey = new ResourceKey();
-			r.resourceKey.assetId = req.assetId;
-			r.resourceKey.resourceName = req.resourceName;
-			r.resourceType = ResourceType.Limit;
-		} else {
-			if (r.resourceType != ResourceType.Limit) {
-				out.status = AllocationStatus.ResourceNotFound;
-				return out;
-			}
-			LimitUtil.recalculate((LimitResource) r);
-		}
-
-		LimitResource l = (LimitResource) r;
-		if (LimitUtil.checkLimit(l, req)) {
-			out.status = AllocationStatus.Success;
-			if (req.allocateCount > 0) {
-				out.allocatedCount = LimitUtil.allocateLimit(l, req, applicationId);
-				updateList.add(l);
-			}
-		} else
-			out.status = AllocationStatus.Failure;
-
-		out.used = l.used;
-		out.limit = req.checkLimit;
-
-		return out;
-	}
-
-	private LabelAllocationOutcome allocateLabel(LabelAllocationRequest req) {
-		LabelAllocationOutcome out = new LabelAllocationOutcome();
-
-		out.request = req;
-
-		Resource r = resourceDao.getResource(req.assetId, req.resourceName);
-		if (r == null) {
-			r = new LabelResource();
-			r.resourceKey = new ResourceKey();
-			r.resourceKey.assetId = req.assetId;
-			r.resourceKey.resourceName = req.resourceName;
-			r.resourceType = ResourceType.Label;
-		} else {
-			if (r.resourceType != ResourceType.Label) {
-				out.status = AllocationStatus.ResourceNotFound;
-				return out;
-			}
-			LabelUtil.recalculate((LabelResource) r);
-		}
-
-		LabelResource l = (LabelResource) r;
-		if (LabelUtil.checkLabel(l, req)) {
-			out.status = AllocationStatus.Success;
-			out.currentLabel = l.label;
-			if (req.allocate) {
-				out.allocatedLabel = LabelUtil.allocateLabel(l, req, applicationId);
-				updateList.add(l);
-			}
-		} else
-			out.status = AllocationStatus.Failure;
-
-		return out;
-	}
-
-	private RangeAllocationOutcome allocateRange(RangeAllocationRequest req) {
-		RangeAllocationOutcome out = new RangeAllocationOutcome();
-
-		out.request = req;
-
-		Resource r = resourceDao.getResource(req.assetId, req.resourceName);
-		if (r == null) {
-			r = new RangeResource();
-			r.resourceKey = new ResourceKey();
-			r.resourceKey.assetId = req.assetId;
-			r.resourceKey.resourceName = req.resourceName;
-			r.resourceType = ResourceType.Range;
-		} else {
-			if (r.resourceType != ResourceType.Range) {
-				out.status = AllocationStatus.ResourceNotFound;
-				return out;
-			}
-			RangeUtil.recalculate((RangeResource) r);
-		}
-
-		RangeResource rr = (RangeResource) r;
-		SortedSet<Integer> foundNumbers = null;
-		if (!req.check) {
-			out.status = AllocationStatus.Success;
-			foundNumbers = req.requestedNumbers;
-		} else {
-			if (req.requestedNumbers != null && req.requestedNumbers.size() > 0) {
-				foundNumbers = req.requestedNumbers;
-				out.status = AllocationStatus.Success;
-				for (int n : foundNumbers)
-					if (!RangeUtil.checkRange(rr, req, n)) {
-						out.status = AllocationStatus.Failure;
-						break;
-					}
-			} else {
-				foundNumbers = new TreeSet<Integer>();
-				int foundCount = 0;
-
-				// First try to reuse the numbers already taken by the same resource union
-				SortedSet<Integer> uu = RangeUtil.getUsed(rr, req.resourceUnionId);
-				if (uu != null && !uu.isEmpty()) {
-					if (uu.size() >= req.requestedCount) {
-						// Just take the first req.requestedCount numbers from uu
-						Iterator<Integer> i = uu.iterator();
-						while (foundCount < req.requestedCount) {
-							foundNumbers.add(i.next());
-							foundCount++;
-						}
-					} else {
-						// Additional numbers are requested. Try to find them starting from
-						// the minimum we have in uu (the first element) towards the min
-						// parameter, and then starting from the maximum in uu (the last
-						// element) towards the max parameter.
-						// NOTE: In case of request for sequential numbers, the parameters
-						// alignBlockSize and alignModulus are ignored. It would be harder
-						// to take them into account, and currently it is not needed.
-
-						int uumin = uu.first() - 1;
-						int uumax = uu.last() + 1;
-						foundNumbers.addAll(uu);
-						foundCount = uu.size();
-						for (int n = uumin; foundCount < req.requestedCount && n >= req.checkMin; n--) {
-							if (RangeUtil.checkRange(rr, req, n)) {
-								foundNumbers.add(n);
-								foundCount++;
-							} else if (req.sequential)
-								break;
-						}
-						for (int n = uumax; foundCount < req.requestedCount && n <= req.checkMax; n++) {
-							if (RangeUtil.checkRange(rr, req, n)) {
-								foundNumbers.add(n);
-								foundCount++;
-							} else if (req.sequential)
-								break;
-						}
-
-						// If we could not find enough numbers trying to reuse currently
-						// allocated, reset foundNumbers and foundCount, continue with
-						// the normal allocation of new numbers.
-						if (foundCount < req.requestedCount) {
-							foundNumbers = new TreeSet<Integer>();
-							foundCount = 0;
-						}
-					}
-				}
-
-				for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++)
-					if (RangeUtil.checkRange(rr, req, n)) {
-						foundNumbers.add(n);
-						foundCount++;
-					} else if (req.sequential)
-						foundCount = 0;
-
-				out.status = foundCount == req.requestedCount ? AllocationStatus.Success : AllocationStatus.Failure;
-			}
-		}
-
-		if (out.status == AllocationStatus.Success) {
-			out.allocated = foundNumbers;
-			if (req.allocate) {
-				RangeUtil.allocateRange(rr, out.allocated, req, applicationId);
-				updateList.add(rr);
-			}
-		} else
-			out.allocated = new TreeSet<Integer>();
-
-		out.used = rr.used;
-
-		return out;
-	}
-
-	public AllocationOutcome getAllocationOutcome() {
-		return outcome;
-	}
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(AllocationFunction.class);
+
+    private ResourceDao resourceDao;
+
+    private String applicationId;
+    private AllocationRequest request;
+    private AllocationOutcome outcome;
+
+    private List<Resource> updateList = new ArrayList<Resource>();
+
+    public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, String applicationId,
+            AllocationRequest request, int lockTimeout) {
+        super(lockHelper, getLockNames(request), lockTimeout);
+        this.applicationId = applicationId;
+        this.resourceDao = resourceDao;
+        this.request = request;
+    }
+
+    private static Collection<String> getLockNames(AllocationRequest request) {
+        Set<String> lockResourceNames = new HashSet<String>();
+        addLockNames(lockResourceNames, request);
+        return lockResourceNames;
+    }
+
+    private static void addLockNames(Set<String> lockResourceNames, AllocationRequest request) {
+        if (request instanceof MultiAssetAllocationRequest) {
+            MultiAssetAllocationRequest req = (MultiAssetAllocationRequest) request;
+            if (req.assetIdList != null)
+                lockResourceNames.addAll(req.assetIdList);
+        } else if (request instanceof MultiResourceAllocationRequest) {
+            MultiResourceAllocationRequest req = (MultiResourceAllocationRequest) request;
+            if (req.allocationRequestList != null)
+                for (AllocationRequest request1 : req.allocationRequestList)
+                    addLockNames(lockResourceNames, request1);
+        } else if (request.assetId != null)
+            lockResourceNames.add(request.assetId);
+    }
+
+    @Override
+    public void _exec() throws ResourceLockedException {
+        outcome = allocate(request);
+        if (outcome.status == AllocationStatus.Success)
+            for (Resource r : updateList)
+                resourceDao.saveResource(r);
+    }
+
+    private AllocationOutcome allocate(AllocationRequest allocationRequest) throws ResourceLockedException {
+        if (allocationRequest instanceof MultiAssetAllocationRequest)
+            return allocateMultiAsset((MultiAssetAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof MultiResourceAllocationRequest)
+            return allocateMultiResource((MultiResourceAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof LimitAllocationRequest)
+            return allocateLimit((LimitAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof LabelAllocationRequest)
+            return allocateLabel((LabelAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof RangeAllocationRequest)
+            return allocateRange((RangeAllocationRequest) allocationRequest);
+        return null;
+    }
+
+    private MultiAssetAllocationOutcome allocateMultiAsset(MultiAssetAllocationRequest req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    private MultiResourceAllocationOutcome allocateMultiResource(MultiResourceAllocationRequest req) {
+        MultiResourceAllocationOutcome out = new MultiResourceAllocationOutcome();
+        out.request = req;
+        out.allocationOutcomeList = new ArrayList<AllocationOutcome>();
+        out.status = AllocationStatus.Success;
+
+        if (req.allocationRequestList != null)
+            for (AllocationRequest req1 : req.allocationRequestList) {
+                AllocationOutcome out1 = allocate(req1);
+                out.allocationOutcomeList.add(out1);
+                if (out1.status != AllocationStatus.Success)
+                    out.status = AllocationStatus.Failure;
+            }
+
+        return out;
+    }
+
+    private LimitAllocationOutcome allocateLimit(LimitAllocationRequest req) {
+        LimitAllocationOutcome out = new LimitAllocationOutcome();
+        out.request = req;
+
+        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
+        if (r == null) {
+            r = new LimitResource();
+            r.resourceKey = new ResourceKey();
+            r.resourceKey.assetId = req.assetId;
+            r.resourceKey.resourceName = req.resourceName;
+            r.resourceType = ResourceType.Limit;
+        } else {
+            if (r.resourceType != ResourceType.Limit) {
+                out.status = AllocationStatus.ResourceNotFound;
+                return out;
+            }
+            LimitUtil.recalculate((LimitResource) r);
+        }
+
+        LimitResource l = (LimitResource) r;
+        if (LimitUtil.checkLimit(l, req)) {
+            out.status = AllocationStatus.Success;
+            if (req.allocateCount > 0) {
+                out.allocatedCount = LimitUtil.allocateLimit(l, req, applicationId);
+                updateList.add(l);
+            }
+        } else
+            out.status = AllocationStatus.Failure;
+
+        out.used = l.used;
+        out.limit = req.checkLimit;
+
+        return out;
+    }
+
+    private LabelAllocationOutcome allocateLabel(LabelAllocationRequest req) {
+        LabelAllocationOutcome out = new LabelAllocationOutcome();
+
+        out.request = req;
+
+        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
+        if (r == null) {
+            r = new LabelResource();
+            r.resourceKey = new ResourceKey();
+            r.resourceKey.assetId = req.assetId;
+            r.resourceKey.resourceName = req.resourceName;
+            r.resourceType = ResourceType.Label;
+        } else {
+            if (r.resourceType != ResourceType.Label) {
+                out.status = AllocationStatus.ResourceNotFound;
+                return out;
+            }
+            LabelUtil.recalculate((LabelResource) r);
+        }
+
+        LabelResource l = (LabelResource) r;
+        if (LabelUtil.checkLabel(l, req)) {
+            out.status = AllocationStatus.Success;
+            out.currentLabel = l.label;
+            if (req.allocate) {
+                out.allocatedLabel = LabelUtil.allocateLabel(l, req, applicationId);
+                updateList.add(l);
+            }
+        } else
+            out.status = AllocationStatus.Failure;
+
+        return out;
+    }
+
+    private RangeAllocationOutcome allocateRange(RangeAllocationRequest req) {
+        RangeAllocationOutcome out = new RangeAllocationOutcome();
+
+        out.request = req;
+
+        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
+        if (r == null) {
+            r = new RangeResource();
+            r.resourceKey = new ResourceKey();
+            r.resourceKey.assetId = req.assetId;
+            r.resourceKey.resourceName = req.resourceName;
+            r.resourceType = ResourceType.Range;
+        } else {
+            if (r.resourceType != ResourceType.Range) {
+                out.status = AllocationStatus.ResourceNotFound;
+                return out;
+            }
+            RangeUtil.recalculate((RangeResource) r);
+        }
+
+        RangeResource rr = (RangeResource) r;
+        SortedSet<Integer> foundNumbers = null;
+        if (!req.check) {
+            out.status = AllocationStatus.Success;
+            foundNumbers = req.requestedNumbers;
+        } else {
+            if (req.requestedNumbers != null && req.requestedNumbers.size() > 0) {
+                foundNumbers = req.requestedNumbers;
+                out.status = AllocationStatus.Success;
+                for (int n : foundNumbers)
+                    if (!RangeUtil.checkRange(rr, req, n)) {
+                        out.status = AllocationStatus.Failure;
+                        break;
+                    }
+            } else {
+                foundNumbers = new TreeSet<Integer>();
+                int foundCount = 0;
+
+                // First try to reuse the numbers already taken by the same resource union
+                SortedSet<Integer> uu = RangeUtil.getUsed(rr, req.resourceUnionId);
+                if (uu != null && !uu.isEmpty()) {
+                    if (uu.size() >= req.requestedCount) {
+                        // Just take the first req.requestedCount numbers from uu
+                        Iterator<Integer> i = uu.iterator();
+                        while (foundCount < req.requestedCount) {
+                            foundNumbers.add(i.next());
+                            foundCount++;
+                        }
+                    } else {
+                        // Additional numbers are requested. Try to find them starting from
+                        // the minimum we have in uu (the first element) towards the min
+                        // parameter, and then starting from the maximum in uu (the last
+                        // element) towards the max parameter.
+                        // NOTE: In case of request for sequential numbers, the parameters
+                        // alignBlockSize and alignModulus are ignored. It would be harder
+                        // to take them into account, and currently it is not needed.
+
+                        int uumin = uu.first() - 1;
+                        int uumax = uu.last() + 1;
+                        foundNumbers.addAll(uu);
+                        foundCount = uu.size();
+                        for (int n = uumin; foundCount < req.requestedCount && n >= req.checkMin; n--) {
+                            if (RangeUtil.checkRange(rr, req, n)) {
+                                foundNumbers.add(n);
+                                foundCount++;
+                            } else if (req.sequential)
+                                break;
+                        }
+                        for (int n = uumax; foundCount < req.requestedCount && n <= req.checkMax; n++) {
+                            if (RangeUtil.checkRange(rr, req, n)) {
+                                foundNumbers.add(n);
+                                foundCount++;
+                            } else if (req.sequential)
+                                break;
+                        }
+
+                        // If we could not find enough numbers trying to reuse currently
+                        // allocated, reset foundNumbers and foundCount, continue with
+                        // the normal allocation of new numbers.
+                        if (foundCount < req.requestedCount) {
+                            foundNumbers = new TreeSet<Integer>();
+                            foundCount = 0;
+                        }
+                    }
+                }
+
+                for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++)
+                    if (RangeUtil.checkRange(rr, req, n)) {
+                        foundNumbers.add(n);
+                        foundCount++;
+                    } else if (req.sequential)
+                        foundCount = 0;
+
+                out.status = foundCount == req.requestedCount ? AllocationStatus.Success : AllocationStatus.Failure;
+            }
+        }
+
+        if (out.status == AllocationStatus.Success) {
+            out.allocated = foundNumbers;
+            if (req.allocate) {
+                RangeUtil.allocateRange(rr, out.allocated, req, applicationId);
+                updateList.add(rr);
+            }
+        } else
+            out.allocated = new TreeSet<Integer>();
+
+        out.used = rr.used;
+
+        return out;
+    }
+
+    public AllocationOutcome getAllocationOutcome() {
+        return outcome;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
index f546954ff..c8dab080b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,52 +37,52 @@ import org.slf4j.LoggerFactory;
 
 class ReleaseFunction extends SynchronizedFunction {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(ReleaseFunction.class);
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ReleaseFunction.class);
 
-	private ResourceDao resourceDao;
+    private ResourceDao resourceDao;
 
-	private String resourceSetId, resourceUnionId;
+    private String resourceSetId, resourceUnionId;
 
-	public ReleaseFunction(LockHelper lockHelper, ResourceDao resourceDao, String resourceSetId,
-	        String resourceUnionId, Collection<String> lockNames, int lockTimeout) {
-		super(lockHelper, lockNames, lockTimeout);
-		this.resourceDao = resourceDao;
-		this.resourceSetId = resourceSetId;
-		this.resourceUnionId = resourceUnionId;
-	}
+    public ReleaseFunction(LockHelper lockHelper, ResourceDao resourceDao, String resourceSetId,
+            String resourceUnionId, Collection<String> lockNames, int lockTimeout) {
+        super(lockHelper, lockNames, lockTimeout);
+        this.resourceDao = resourceDao;
+        this.resourceSetId = resourceSetId;
+        this.resourceUnionId = resourceUnionId;
+    }
 
-	@Override
-	public void _exec() throws ResourceLockedException {
-		List<Resource> resourceList =
-		        resourceSetId != null
-		                ? resourceDao.getResourceSet(resourceSetId) : resourceDao.getResourceUnion(resourceUnionId);
-		for (Resource r : resourceList) {
-			boolean updated = false;
-			if (r.allocationItems != null) {
-				Iterator<AllocationItem> i = r.allocationItems.iterator();
-				while (i.hasNext()) {
-					AllocationItem ai = i.next();
-					if (resourceSetId != null) {
-						if (resourceSetId.equals(ai.resourceSetId)) {
-							i.remove();
-							updated = true;
-						}
+    @Override
+    public void _exec() throws ResourceLockedException {
+        List<Resource> resourceList =
+                resourceSetId != null
+                        ? resourceDao.getResourceSet(resourceSetId) : resourceDao.getResourceUnion(resourceUnionId);
+        for (Resource r : resourceList) {
+            boolean updated = false;
+            if (r.allocationItems != null) {
+                Iterator<AllocationItem> i = r.allocationItems.iterator();
+                while (i.hasNext()) {
+                    AllocationItem ai = i.next();
+                    if (resourceSetId != null) {
+                        if (resourceSetId.equals(ai.resourceSetId)) {
+                            i.remove();
+                            updated = true;
+                        }
 
-					} else if (resourceUnionId != null) {
+                    } else if (resourceUnionId != null) {
 
-						if (resourceUnionId.equals(ai.resourceUnionId)) {
-							i.remove();
-							updated = true;
-						}
+                        if (resourceUnionId.equals(ai.resourceUnionId)) {
+                            i.remove();
+                            updated = true;
+                        }
 
-					}
-				}
-			}
-			if (updated) {
-				ResourceUtil.recalculate(r);
-				resourceDao.saveResource(r);
-			}
-		}
-	}
+                    }
+                }
+            }
+            if (updated) {
+                ResourceUtil.recalculate(r);
+                resourceDao.saveResource(r);
+            }
+        }
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
index aea0b0a3c..d5bb9e471 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,13 +27,13 @@ import org.openecomp.sdnc.rm.data.Resource;
 
 public interface ResourceLoader {
 
-	void loadResource(String applicationId, Resource resource, boolean force);
+    void loadResource(String applicationId, Resource resource, boolean force);
 
-	void loadResources(String applicationId, Collection<Resource> resourceList, boolean force);
+    void loadResources(String applicationId, Collection<Resource> resourceList, boolean force);
 
-	void loadResourcesForAsset(String applicationId, String assetId, Collection<Resource> resourceList, boolean force);
+    void loadResourcesForAsset(String applicationId, String assetId, Collection<Resource> resourceList, boolean force);
 
-	void deleteResource(String applicationId, String assetId, String resourceName);
+    void deleteResource(String applicationId, String assetId, String resourceName);
 
-	void deleteResourcesForAsset(String applicationId, String assetId);
+    void deleteResourcesForAsset(String applicationId, String assetId);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
index 7a3ce0343..737deb1cc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,13 +29,13 @@ import org.openecomp.sdnc.rm.data.Resource;
 
 public interface ResourceManager {
 
-	Resource getResource(String resourceName, String assetId);
+    Resource getResource(String resourceName, String assetId);
 
-	List<Resource> getResourceUnion(String resourceUnionId);
+    List<Resource> getResourceUnion(String resourceUnionId);
 
-	AllocationOutcome allocateResources(AllocationRequest allocationRequest);
+    AllocationOutcome allocateResources(AllocationRequest allocationRequest);
 
-	void releaseResourceSet(String resourceSetId);
+    void releaseResourceSet(String resourceSetId);
 
-	void releaseResourceUnion(String resourceUnionId);
+    void releaseResourceUnion(String resourceUnionId);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
index b9d5a0995..e70e06c23 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,92 +37,92 @@ import org.slf4j.LoggerFactory;
 
 public class ResourceManagerImpl implements ResourceManager {
 
-	private static final Logger log = LoggerFactory.getLogger(ResourceManagerImpl.class);
-
-	private LockHelper lockHelper;
-	private ResourceDao resourceDao;
-
-	private String applicationId;
-	private int lockTimeout = 10 * 60; // Default 10 min
-
-	public ResourceManagerImpl() {
-		log.info("ResourceManager created.");
-	}
-
-	@Override
-	public Resource getResource(String resourceName, String assetId) {
-		Resource r = resourceDao.getResource(assetId, resourceName);
-		ResourceUtil.recalculate(r);
-		return r;
-	}
-
-	@Override
-	public List<Resource> getResourceUnion(String resourceUnionId) {
-		List<Resource> rlist = resourceDao.getResourceUnion(resourceUnionId);
-		for (Resource r : rlist)
-			ResourceUtil.recalculate(r);
-		return rlist;
-	}
-
-	@Override
-	public AllocationOutcome allocateResources(AllocationRequest allocationRequest) {
-		if (allocationRequest == null)
-			throw new IllegalArgumentException("allocateResources called with null argument");
-
-		AllocationFunction allocationFunction =
-		        new AllocationFunction(lockHelper, resourceDao, applicationId, allocationRequest, lockTimeout);
-		allocationFunction.exec();
-		AllocationOutcome allocationOutcome = allocationFunction.getAllocationOutcome();
-
-		StrUtil.info(log, allocationOutcome);
-
-		return allocationOutcome;
-	}
-
-	@Override
-	public void releaseResourceSet(String resourceSetId) {
-		List<Resource> resourceList = resourceDao.getResourceSet(resourceSetId);
-		if (resourceList == null || resourceList.isEmpty())
-			return;
-
-		Set<String> lockNames = getLockNames(resourceList);
-		ReleaseFunction releaseFunction =
-		        new ReleaseFunction(lockHelper, resourceDao, resourceSetId, null, lockNames, lockTimeout);
-		releaseFunction.exec();
-	}
-
-	@Override
-	public void releaseResourceUnion(String resourceUnionId) {
-		List<Resource> resourceList = resourceDao.getResourceUnion(resourceUnionId);
-		if (resourceList == null || resourceList.isEmpty())
-			return;
-
-		Set<String> lockNames = getLockNames(resourceList);
-		ReleaseFunction releaseFunction =
-		        new ReleaseFunction(lockHelper, resourceDao, null, resourceUnionId, lockNames, lockTimeout);
-		releaseFunction.exec();
-	}
-
-	private Set<String> getLockNames(List<Resource> resourceList) {
-		Set<String> lockNames = new HashSet<String>();
-		for (Resource r : resourceList)
-			lockNames.add(r.resourceKey.assetId);
-		return lockNames;
-	}
-
-	public void setResourceDao(ResourceDao resourceDao) {
-		this.resourceDao = resourceDao;
-	}
-
-	public void setLockTimeout(int lockTimeout) {
-		this.lockTimeout = lockTimeout;
-	}
-
-	public void setApplicationId(String applicationId) {
-		this.applicationId = applicationId;
-	}
-
-	public void setLockHelper(LockHelper lockHelper) {
-		this.lockHelper = lockHelper;
-	}
+    private static final Logger log = LoggerFactory.getLogger(ResourceManagerImpl.class);
+
+    private LockHelper lockHelper;
+    private ResourceDao resourceDao;
+
+    private String applicationId;
+    private int lockTimeout = 10 * 60; // Default 10 min
+
+    public ResourceManagerImpl() {
+        log.info("ResourceManager created.");
+    }
+
+    @Override
+    public Resource getResource(String resourceName, String assetId) {
+        Resource r = resourceDao.getResource(assetId, resourceName);
+        ResourceUtil.recalculate(r);
+        return r;
+    }
+
+    @Override
+    public List<Resource> getResourceUnion(String resourceUnionId) {
+        List<Resource> rlist = resourceDao.getResourceUnion(resourceUnionId);
+        for (Resource r : rlist)
+            ResourceUtil.recalculate(r);
+        return rlist;
+    }
+
+    @Override
+    public AllocationOutcome allocateResources(AllocationRequest allocationRequest) {
+        if (allocationRequest == null)
+            throw new IllegalArgumentException("allocateResources called with null argument");
+
+        AllocationFunction allocationFunction =
+                new AllocationFunction(lockHelper, resourceDao, applicationId, allocationRequest, lockTimeout);
+        allocationFunction.exec();
+        AllocationOutcome allocationOutcome = allocationFunction.getAllocationOutcome();
+
+        StrUtil.info(log, allocationOutcome);
+
+        return allocationOutcome;
+    }
+
+    @Override
+    public void releaseResourceSet(String resourceSetId) {
+        List<Resource> resourceList = resourceDao.getResourceSet(resourceSetId);
+        if (resourceList == null || resourceList.isEmpty())
+            return;
+
+        Set<String> lockNames = getLockNames(resourceList);
+        ReleaseFunction releaseFunction =
+                new ReleaseFunction(lockHelper, resourceDao, resourceSetId, null, lockNames, lockTimeout);
+        releaseFunction.exec();
+    }
+
+    @Override
+    public void releaseResourceUnion(String resourceUnionId) {
+        List<Resource> resourceList = resourceDao.getResourceUnion(resourceUnionId);
+        if (resourceList == null || resourceList.isEmpty())
+            return;
+
+        Set<String> lockNames = getLockNames(resourceList);
+        ReleaseFunction releaseFunction =
+                new ReleaseFunction(lockHelper, resourceDao, null, resourceUnionId, lockNames, lockTimeout);
+        releaseFunction.exec();
+    }
+
+    private Set<String> getLockNames(List<Resource> resourceList) {
+        Set<String> lockNames = new HashSet<String>();
+        for (Resource r : resourceList)
+            lockNames.add(r.resourceKey.assetId);
+        return lockNames;
+    }
+
+    public void setResourceDao(ResourceDao resourceDao) {
+        this.resourceDao = resourceDao;
+    }
+
+    public void setLockTimeout(int lockTimeout) {
+        this.lockTimeout = lockTimeout;
+    }
+
+    public void setApplicationId(String applicationId) {
+        this.applicationId = applicationId;
+    }
+
+    public void setLockHelper(LockHelper lockHelper) {
+        this.lockHelper = lockHelper;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
index f499801c6..a116ef507 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,13 +27,13 @@ import org.openecomp.sdnc.rm.data.Resource;
 
 public interface ResourceDao {
 
-	Resource getResource(String assetId, String resourceName);
+    Resource getResource(String assetId, String resourceName);
 
-	void saveResource(Resource resource);
+    void saveResource(Resource resource);
 
-	void deleteResource(String assetId, String resourceName);
+    void deleteResource(String assetId, String resourceName);
 
-	List<Resource> getResourceSet(String resourceSetId);
+    List<Resource> getResourceSet(String resourceSetId);
 
-	List<Resource> getResourceUnion(String resourceUnionId);
+    List<Resource> getResourceUnion(String resourceUnionId);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
index eb5f39885..7087c18fb 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,13 +25,13 @@ import java.util.Date;
 
 public class AllocationItem {
 
-	public long id;
-	public long resourceId;
-	public String applicationId;
-	public String resourceSetId, resourceUnionId;
-	public String resourceShareGroupList;
-	public long ltUsed;
-	public String llLabel;
-	public String rrUsed;
-	public Date allocationTime;
+    public long id;
+    public long resourceId;
+    public String applicationId;
+    public String resourceSetId, resourceUnionId;
+    public String resourceShareGroupList;
+    public long ltUsed;
+    public String llLabel;
+    public String rrUsed;
+    public Date allocationTime;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
index 30f9d26a4..fe6199ea0 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,11 +25,11 @@ import java.util.List;
 
 public interface AllocationItemJdbcDao {
 
-	void add(AllocationItem ai);
+    void add(AllocationItem ai);
 
-	List<AllocationItem> getAllocationItems(long resourceId);
+    List<AllocationItem> getAllocationItems(long resourceId);
 
-	void update(AllocationItem ai);
+    void update(AllocationItem ai);
 
-	void delete(long id);
+    void delete(long id);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
index 1d88261c2..2710f358f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -39,88 +39,88 @@ import org.springframework.jdbc.support.KeyHolder;
 
 public class AllocationItemJdbcDaoImpl implements AllocationItemJdbcDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
-	private static final String INSERT_SQL = "INSERT INTO ALLOCATION_ITEM (\n"
-	        + "  resource_id, application_id, resource_set_id, resource_union_id, resource_share_group_list,\n"
-	        + "  lt_used, ll_label, rr_used, allocation_time)\nVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
-
-	private static final String UPDATE_SQL = "UPDATE ALLOCATION_ITEM SET\n"
-	        + "  resource_share_group_list = ?, lt_used = ?, ll_label = ?, rr_used = ?, allocation_time = ?\n"
-	        + "WHERE allocation_item_id = ?";
-
-	private static final String DELETE_SQL = "DELETE FROM ALLOCATION_ITEM WHERE allocation_item_id = ?";
-
-	private static final String GET_SQL = "SELECT * FROM ALLOCATION_ITEM WHERE resource_id = ?";
-
-	private JdbcTemplate jdbcTemplate;
-	private AllocationItemRowMapper allocationItemRowMapper = new AllocationItemRowMapper();
-
-	@Override
-	public void add(final AllocationItem ai) {
-		PreparedStatementCreator psc = new PreparedStatementCreator() {
-
-			@Override
-			public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
-				PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "allocation_item_id" });
-				ps.setLong(1, ai.resourceId);
-				ps.setString(2, ai.applicationId);
-				ps.setString(3, ai.resourceSetId);
-				ps.setString(4, ai.resourceUnionId);
-				ps.setString(5, ai.resourceShareGroupList);
-				ps.setLong(6, ai.ltUsed);
-				ps.setString(7, ai.llLabel);
-				ps.setString(8, ai.rrUsed);
-				ps.setTimestamp(9, new Timestamp(ai.allocationTime.getTime()));
-				return ps;
-			}
-		};
-		KeyHolder keyHolder = new GeneratedKeyHolder();
-		jdbcTemplate.update(psc, keyHolder);
-		ai.id = keyHolder.getKey().longValue();
-	}
-
-	@Override
-	public void update(AllocationItem ai) {
-		Long ltUsed = ai.ltUsed <= 0 ? null : ai.ltUsed;
-		jdbcTemplate.update(UPDATE_SQL, ai.resourceShareGroupList, ltUsed, ai.llLabel, ai.rrUsed, ai.allocationTime,
-		        ai.id);
-	}
-
-	@Override
-	public void delete(long id) {
-		jdbcTemplate.update(DELETE_SQL, id);
-	}
-
-	@Override
-	public List<AllocationItem> getAllocationItems(long resourceId) {
-		if (resourceId <= 0)
-			return Collections.emptyList();
-
-		return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, allocationItemRowMapper);
-	}
-
-	private static class AllocationItemRowMapper implements RowMapper<AllocationItem> {
-
-		@Override
-		public AllocationItem mapRow(ResultSet rs, int n) throws SQLException {
-			AllocationItem ai = new AllocationItem();
-			ai.id = rs.getLong("allocation_item_id");
-			ai.resourceId = rs.getLong("resource_id");
-			ai.applicationId = rs.getString("application_id");
-			ai.resourceSetId = rs.getString("resource_set_id");
-			ai.resourceUnionId = rs.getString("resource_union_id");
-			ai.resourceShareGroupList = rs.getString("resource_share_group_list");
-			ai.ltUsed = rs.getLong("lt_used");
-			ai.llLabel = rs.getString("ll_label");
-			ai.rrUsed = rs.getString("rr_used");
-			ai.allocationTime = rs.getTimestamp("allocation_time");
-			return ai;
-		}
-	}
-
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
+
+    private static final String INSERT_SQL = "INSERT INTO ALLOCATION_ITEM (\n"
+            + "  resource_id, application_id, resource_set_id, resource_union_id, resource_share_group_list,\n"
+            + "  lt_used, ll_label, rr_used, allocation_time)\nVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL = "UPDATE ALLOCATION_ITEM SET\n"
+            + "  resource_share_group_list = ?, lt_used = ?, ll_label = ?, rr_used = ?, allocation_time = ?\n"
+            + "WHERE allocation_item_id = ?";
+
+    private static final String DELETE_SQL = "DELETE FROM ALLOCATION_ITEM WHERE allocation_item_id = ?";
+
+    private static final String GET_SQL = "SELECT * FROM ALLOCATION_ITEM WHERE resource_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private AllocationItemRowMapper allocationItemRowMapper = new AllocationItemRowMapper();
+
+    @Override
+    public void add(final AllocationItem ai) {
+        PreparedStatementCreator psc = new PreparedStatementCreator() {
+
+            @Override
+            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
+                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "allocation_item_id" });
+                ps.setLong(1, ai.resourceId);
+                ps.setString(2, ai.applicationId);
+                ps.setString(3, ai.resourceSetId);
+                ps.setString(4, ai.resourceUnionId);
+                ps.setString(5, ai.resourceShareGroupList);
+                ps.setLong(6, ai.ltUsed);
+                ps.setString(7, ai.llLabel);
+                ps.setString(8, ai.rrUsed);
+                ps.setTimestamp(9, new Timestamp(ai.allocationTime.getTime()));
+                return ps;
+            }
+        };
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(psc, keyHolder);
+        ai.id = keyHolder.getKey().longValue();
+    }
+
+    @Override
+    public void update(AllocationItem ai) {
+        Long ltUsed = ai.ltUsed <= 0 ? null : ai.ltUsed;
+        jdbcTemplate.update(UPDATE_SQL, ai.resourceShareGroupList, ltUsed, ai.llLabel, ai.rrUsed, ai.allocationTime,
+                ai.id);
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update(DELETE_SQL, id);
+    }
+
+    @Override
+    public List<AllocationItem> getAllocationItems(long resourceId) {
+        if (resourceId <= 0)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, allocationItemRowMapper);
+    }
+
+    private static class AllocationItemRowMapper implements RowMapper<AllocationItem> {
+
+        @Override
+        public AllocationItem mapRow(ResultSet rs, int n) throws SQLException {
+            AllocationItem ai = new AllocationItem();
+            ai.id = rs.getLong("allocation_item_id");
+            ai.resourceId = rs.getLong("resource_id");
+            ai.applicationId = rs.getString("application_id");
+            ai.resourceSetId = rs.getString("resource_set_id");
+            ai.resourceUnionId = rs.getString("resource_union_id");
+            ai.resourceShareGroupList = rs.getString("resource_share_group_list");
+            ai.ltUsed = rs.getLong("lt_used");
+            ai.llLabel = rs.getString("ll_label");
+            ai.rrUsed = rs.getString("rr_used");
+            ai.allocationTime = rs.getTimestamp("allocation_time");
+            return ai;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
index ca66964ce..4bbe2ebd6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,10 +23,10 @@ package org.openecomp.sdnc.rm.dao.jdbc;
 
 public class Resource {
 
-	public long id;
-	public String assetId, name, type;
-	public long ltUsed;
-	public String llLabel;
-	public int llReferenceCount;
-	public String rrUsed;
+    public long id;
+    public String assetId, name, type;
+    public long ltUsed;
+    public String llLabel;
+    public int llReferenceCount;
+    public String rrUsed;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
index 32c8f4d7f..cbae3d20e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -38,333 +38,333 @@ import org.openecomp.sdnc.util.str.StrUtil;
 
 public class ResourceDaoImpl implements ResourceDao {
 
-	private ResourceJdbcDao resourceJdbcDao;
-	private ResourceLoadJdbcDao resourceLoadJdbcDao;
-	private AllocationItemJdbcDao allocationItemJdbcDao;
-
-	@Override
-	public org.openecomp.sdnc.rm.data.Resource getResource(String assetId, String resourceName) {
-		Resource rEntity = resourceJdbcDao.getResource(assetId, resourceName);
-		org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
-
-		if (r != null) {
-			List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
-			r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
-			for (AllocationItem aiEntity : aiEntityList) {
-				org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
-				r.allocationItems.add(ai);
-			}
-
-			List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
-			r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
-			for (ResourceLoad rlEntity : rlEntityList) {
-				org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
-				r.resourceLoadList.add(rl);
-			}
-		}
-
-		return r;
-	}
-
-	@Override
-	public void saveResource(org.openecomp.sdnc.rm.data.Resource resource) {
-		if (resource == null)
-			return;
-
-		org.openecomp.sdnc.rm.dao.jdbc.Resource resourceEntity =
-		        resourceJdbcDao.getResource(resource.resourceKey.assetId, resource.resourceKey.resourceName);
-		if (resourceEntity == null) {
-			resourceEntity = createResourceEntity(resource);
-			resourceJdbcDao.add(resourceEntity);
-			if (resource.allocationItems != null)
-				for (org.openecomp.sdnc.rm.data.AllocationItem ai : resource.allocationItems) {
-					AllocationItem aiEntity = createAllocationItemEntity(resourceEntity.id, ai);
-					allocationItemJdbcDao.add(aiEntity);
-				}
-			if (resource.resourceLoadList != null)
-				for (org.openecomp.sdnc.rm.data.ResourceLoad rl : resource.resourceLoadList) {
-					ResourceLoad rlEntity = createResourceLoadEntity(resourceEntity.id, rl);
-					resourceLoadJdbcDao.add(rlEntity);
-				}
-		} else {
-			updateResourceEntity(resourceEntity, resource);
-			resourceJdbcDao.update(resourceEntity);
-
-			List<AllocationItem> oldAiEntityList = allocationItemJdbcDao.getAllocationItems(resourceEntity.id);
-			if (resource.allocationItems != null)
-				for (org.openecomp.sdnc.rm.data.AllocationItem newai : resource.allocationItems) {
-					AllocationItem foundAiEntity = null;
-					for (AllocationItem oldAiEntity : oldAiEntityList)
-						if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
-							foundAiEntity = oldAiEntity;
-							break;
-						}
-					if (foundAiEntity != null) {
-						updateAllocationItemEntity(foundAiEntity, newai);
-						allocationItemJdbcDao.update(foundAiEntity);
-					} else {
-						AllocationItem newAiEntity = createAllocationItemEntity(resourceEntity.id, newai);
-						allocationItemJdbcDao.add(newAiEntity);
-					}
-				}
-			for (AllocationItem oldAiEntity : oldAiEntityList) {
-				boolean found = false;
-				if (resource.allocationItems != null)
-					for (org.openecomp.sdnc.rm.data.AllocationItem newai : resource.allocationItems)
-						if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
-							found = true;
-							break;
-						}
-				if (!found)
-					allocationItemJdbcDao.delete(oldAiEntity.id);
-			}
-
-			List<ResourceLoad> oldRlEntityList = resourceLoadJdbcDao.getResourceLoads(resourceEntity.id);
-			if (resource.resourceLoadList != null)
-				for (org.openecomp.sdnc.rm.data.ResourceLoad newrl : resource.resourceLoadList) {
-					ResourceLoad foundRlEntity = null;
-					for (ResourceLoad oldRlEntity : oldRlEntityList)
-						if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
-							foundRlEntity = oldRlEntity;
-							break;
-						}
-					if (foundRlEntity != null) {
-						updateResourceLoadEntity(foundRlEntity, newrl);
-						resourceLoadJdbcDao.update(foundRlEntity);
-					} else {
-						ResourceLoad newRlEntity = createResourceLoadEntity(resourceEntity.id, newrl);
-						resourceLoadJdbcDao.add(newRlEntity);
-					}
-				}
-			for (ResourceLoad oldRlEntity : oldRlEntityList) {
-				boolean found = false;
-				if (resource.resourceLoadList != null)
-					for (org.openecomp.sdnc.rm.data.ResourceLoad newrl : resource.resourceLoadList)
-						if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
-							found = true;
-							break;
-						}
-				if (!found)
-					resourceLoadJdbcDao.delete(oldRlEntity.id);
-			}
-		}
-	}
-
-	@Override
-	public void deleteResource(String assetId, String resourceName) {
-		org.openecomp.sdnc.rm.dao.jdbc.Resource resourceEntity = resourceJdbcDao.getResource(assetId, resourceName);
-		if (resourceEntity != null)
-			resourceJdbcDao.delete(resourceEntity.id);
-	}
-
-	@Override
-	public List<org.openecomp.sdnc.rm.data.Resource> getResourceSet(String resourceSetId) {
-		List<Resource> rEntityList = resourceJdbcDao.getResourceSet(resourceSetId);
-		List<org.openecomp.sdnc.rm.data.Resource> rlist = new ArrayList<org.openecomp.sdnc.rm.data.Resource>();
-		for (Resource rEntity : rEntityList) {
-			org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
-			rlist.add(r);
-
-			List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
-			r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
-			for (AllocationItem aiEntity : aiEntityList) {
-				org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
-				r.allocationItems.add(ai);
-			}
-
-			List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
-			r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
-			for (ResourceLoad rlEntity : rlEntityList) {
-				org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
-				r.resourceLoadList.add(rl);
-			}
-		}
-		return rlist;
-	}
-
-	@Override
-	public List<org.openecomp.sdnc.rm.data.Resource> getResourceUnion(String resourceUnionId) {
-		List<Resource> rEntityList = resourceJdbcDao.getResourceUnion(resourceUnionId);
-		List<org.openecomp.sdnc.rm.data.Resource> rlist = new ArrayList<org.openecomp.sdnc.rm.data.Resource>();
-		for (Resource rEntity : rEntityList) {
-			org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
-			rlist.add(r);
-
-			List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
-			r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
-			for (AllocationItem aiEntity : aiEntityList) {
-				org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
-				r.allocationItems.add(ai);
-			}
-
-			List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
-			r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
-			for (ResourceLoad rlEntity : rlEntityList) {
-				org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
-				r.resourceLoadList.add(rl);
-			}
-		}
-		return rlist;
-	}
-
-	private Resource createResourceEntity(org.openecomp.sdnc.rm.data.Resource resource) {
-		Resource resourceEntity = new Resource();
-		resourceEntity.assetId = resource.resourceKey.assetId;
-		resourceEntity.name = resource.resourceKey.resourceName;
-		resourceEntity.type = resource.resourceType.toString();
-		if (resource.resourceType == ResourceType.Limit)
-			resourceEntity.ltUsed = ((LimitResource) resource).used;
-		else if (resource.resourceType == ResourceType.Label) {
-			resourceEntity.llLabel = ((LabelResource) resource).label;
-			resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
-		} else if (resource.resourceType == ResourceType.Range)
-			resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
-
-		return resourceEntity;
-	}
-
-	private ResourceLoad createResourceLoadEntity(long resourceId, org.openecomp.sdnc.rm.data.ResourceLoad rl) {
-		ResourceLoad rlEntity = new ResourceLoad();
-		rlEntity.resourceId = resourceId;
-		rlEntity.applicationId = rl.applicationId;
-		rlEntity.loadTime = rl.resourceLoadTime;
-		rlEntity.expirationTime = rl.resourceExpirationTime;
-		return rlEntity;
-	}
-
-	private void updateResourceLoadEntity(ResourceLoad rlEntity, org.openecomp.sdnc.rm.data.ResourceLoad rl) {
-		rlEntity.loadTime = rl.resourceLoadTime;
-		rlEntity.expirationTime = rl.resourceExpirationTime;
-	}
-
-	private AllocationItem createAllocationItemEntity(long resourceId, org.openecomp.sdnc.rm.data.AllocationItem ai) {
-		AllocationItem aiEntity = new AllocationItem();
-		aiEntity.resourceId = resourceId;
-		aiEntity.resourceSetId = ai.resourceSetId;
-		aiEntity.resourceUnionId = ai.resourceUnionId;
-		aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
-		aiEntity.applicationId = ai.applicationId;
-		aiEntity.allocationTime = ai.allocationTime;
-		if (ai.resourceType == ResourceType.Limit)
-			aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
-		else if (ai.resourceType == ResourceType.Label)
-			aiEntity.llLabel = ((LabelAllocationItem) ai).label;
-		else if (ai.resourceType == ResourceType.Range)
-			aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
-		return aiEntity;
-	}
-
-	private void updateAllocationItemEntity(AllocationItem aiEntity, org.openecomp.sdnc.rm.data.AllocationItem ai) {
-		aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
-		aiEntity.allocationTime = ai.allocationTime;
-		if (ai.resourceType == ResourceType.Limit)
-			aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
-		else if (ai.resourceType == ResourceType.Label)
-			aiEntity.llLabel = ((LabelAllocationItem) ai).label;
-		else if (ai.resourceType == ResourceType.Range)
-			aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
-	}
-
-	private void updateResourceEntity(Resource resourceEntity, org.openecomp.sdnc.rm.data.Resource resource) {
-		if (resource.resourceType == ResourceType.Limit)
-			resourceEntity.ltUsed = ((LimitResource) resource).used;
-		else if (resource.resourceType == ResourceType.Label) {
-			resourceEntity.llLabel = ((LabelResource) resource).label;
-			resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
-		} else if (resource.resourceType == ResourceType.Range)
-			resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
-	}
-
-	private org.openecomp.sdnc.rm.data.Resource createResource(Resource resourceEntity) {
-		if (resourceEntity == null)
-			return null;
-
-		org.openecomp.sdnc.rm.data.Resource r = null;
-		ResourceType type = ResourceType.valueOf(resourceEntity.type);
-		if (type == ResourceType.Limit) {
-			LimitResource l = new LimitResource();
-			l.used = resourceEntity.ltUsed;
-			r = l;
-		} else if (type == ResourceType.Label) {
-			LabelResource l = new LabelResource();
-			l.label = resourceEntity.llLabel;
-			l.referenceCount = resourceEntity.llReferenceCount;
-			r = l;
-		} else if (type == ResourceType.Range) {
-			RangeResource rr = new RangeResource();
-			rr.used =
-			        StrUtil.listInt(resourceEntity.rrUsed, "Invalid data found in DB in for Resource Id: " +
-			                resourceEntity.id + ": RESOURCE.RR_USED: " + resourceEntity.rrUsed);
-			r = rr;
-		}
-
-		r.resourceType = type;
-		r.resourceKey = new ResourceKey();
-		r.resourceKey.assetId = resourceEntity.assetId;
-		r.resourceKey.resourceName = resourceEntity.name;
-
-		return r;
-	}
-
-	private org.openecomp.sdnc.rm.data.AllocationItem createAllocationItem(
-	        org.openecomp.sdnc.rm.data.Resource r,
-	        AllocationItem aiEntity) {
-		if (r == null || aiEntity == null)
-			return null;
-
-		org.openecomp.sdnc.rm.data.AllocationItem ai = null;
-		if (r.resourceType == ResourceType.Limit) {
-			LimitAllocationItem lai = new LimitAllocationItem();
-			lai.used = aiEntity.ltUsed;
-			ai = lai;
-		} else if (r.resourceType == ResourceType.Label) {
-			LabelAllocationItem lai = new LabelAllocationItem();
-			lai.label = aiEntity.llLabel;
-			ai = lai;
-		} else if (r.resourceType == ResourceType.Range) {
-			RangeAllocationItem rai = new RangeAllocationItem();
-			rai.used =
-			        StrUtil.listInt(aiEntity.rrUsed, "Invalid data found in DB in for Allocation Item Id: " +
-			                aiEntity.id + ": ALLOCATION_ITEM.RR_USED: " + aiEntity.rrUsed);
-			ai = rai;
-		}
-
-		ai.resourceType = r.resourceType;
-		ai.resourceKey = r.resourceKey;
-		ai.resourceSetId = aiEntity.resourceSetId;
-		ai.resourceUnionId = aiEntity.resourceUnionId;
-		if (aiEntity.resourceShareGroupList != null)
-			ai.resourceShareGroupList = new HashSet<String>(StrUtil.listStr(aiEntity.resourceShareGroupList));
-		ai.applicationId = aiEntity.applicationId;
-		ai.allocationTime = aiEntity.allocationTime;
-
-		return ai;
-	}
-
-	private org.openecomp.sdnc.rm.data.ResourceLoad createResourceLoad(
-	        org.openecomp.sdnc.rm.data.Resource r,
-	        ResourceLoad rlEntity) {
-		if (rlEntity == null)
-			return null;
-
-		org.openecomp.sdnc.rm.data.ResourceLoad rl = new org.openecomp.sdnc.rm.data.ResourceLoad();
-		rl.resourceKey = r.resourceKey;
-		rl.applicationId = rlEntity.applicationId;
-		rl.resourceLoadTime = rlEntity.loadTime;
-		rl.resourceExpirationTime = rlEntity.expirationTime;
-
-		return rl;
-	}
-
-	public void setResourceJdbcDao(ResourceJdbcDao resourceJdbcDao) {
-		this.resourceJdbcDao = resourceJdbcDao;
-	}
-
-	public void setResourceLoadJdbcDao(ResourceLoadJdbcDao resourceLoadJdbcDao) {
-		this.resourceLoadJdbcDao = resourceLoadJdbcDao;
-	}
-
-	public void setAllocationItemJdbcDao(AllocationItemJdbcDao allocationItemJdbcDao) {
-		this.allocationItemJdbcDao = allocationItemJdbcDao;
-	}
+    private ResourceJdbcDao resourceJdbcDao;
+    private ResourceLoadJdbcDao resourceLoadJdbcDao;
+    private AllocationItemJdbcDao allocationItemJdbcDao;
+
+    @Override
+    public org.openecomp.sdnc.rm.data.Resource getResource(String assetId, String resourceName) {
+        Resource rEntity = resourceJdbcDao.getResource(assetId, resourceName);
+        org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
+
+        if (r != null) {
+            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
+            r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
+            for (AllocationItem aiEntity : aiEntityList) {
+                org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
+                r.allocationItems.add(ai);
+            }
+
+            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
+            r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
+            for (ResourceLoad rlEntity : rlEntityList) {
+                org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
+                r.resourceLoadList.add(rl);
+            }
+        }
+
+        return r;
+    }
+
+    @Override
+    public void saveResource(org.openecomp.sdnc.rm.data.Resource resource) {
+        if (resource == null)
+            return;
+
+        org.openecomp.sdnc.rm.dao.jdbc.Resource resourceEntity =
+                resourceJdbcDao.getResource(resource.resourceKey.assetId, resource.resourceKey.resourceName);
+        if (resourceEntity == null) {
+            resourceEntity = createResourceEntity(resource);
+            resourceJdbcDao.add(resourceEntity);
+            if (resource.allocationItems != null)
+                for (org.openecomp.sdnc.rm.data.AllocationItem ai : resource.allocationItems) {
+                    AllocationItem aiEntity = createAllocationItemEntity(resourceEntity.id, ai);
+                    allocationItemJdbcDao.add(aiEntity);
+                }
+            if (resource.resourceLoadList != null)
+                for (org.openecomp.sdnc.rm.data.ResourceLoad rl : resource.resourceLoadList) {
+                    ResourceLoad rlEntity = createResourceLoadEntity(resourceEntity.id, rl);
+                    resourceLoadJdbcDao.add(rlEntity);
+                }
+        } else {
+            updateResourceEntity(resourceEntity, resource);
+            resourceJdbcDao.update(resourceEntity);
+
+            List<AllocationItem> oldAiEntityList = allocationItemJdbcDao.getAllocationItems(resourceEntity.id);
+            if (resource.allocationItems != null)
+                for (org.openecomp.sdnc.rm.data.AllocationItem newai : resource.allocationItems) {
+                    AllocationItem foundAiEntity = null;
+                    for (AllocationItem oldAiEntity : oldAiEntityList)
+                        if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
+                            foundAiEntity = oldAiEntity;
+                            break;
+                        }
+                    if (foundAiEntity != null) {
+                        updateAllocationItemEntity(foundAiEntity, newai);
+                        allocationItemJdbcDao.update(foundAiEntity);
+                    } else {
+                        AllocationItem newAiEntity = createAllocationItemEntity(resourceEntity.id, newai);
+                        allocationItemJdbcDao.add(newAiEntity);
+                    }
+                }
+            for (AllocationItem oldAiEntity : oldAiEntityList) {
+                boolean found = false;
+                if (resource.allocationItems != null)
+                    for (org.openecomp.sdnc.rm.data.AllocationItem newai : resource.allocationItems)
+                        if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
+                            found = true;
+                            break;
+                        }
+                if (!found)
+                    allocationItemJdbcDao.delete(oldAiEntity.id);
+            }
+
+            List<ResourceLoad> oldRlEntityList = resourceLoadJdbcDao.getResourceLoads(resourceEntity.id);
+            if (resource.resourceLoadList != null)
+                for (org.openecomp.sdnc.rm.data.ResourceLoad newrl : resource.resourceLoadList) {
+                    ResourceLoad foundRlEntity = null;
+                    for (ResourceLoad oldRlEntity : oldRlEntityList)
+                        if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
+                            foundRlEntity = oldRlEntity;
+                            break;
+                        }
+                    if (foundRlEntity != null) {
+                        updateResourceLoadEntity(foundRlEntity, newrl);
+                        resourceLoadJdbcDao.update(foundRlEntity);
+                    } else {
+                        ResourceLoad newRlEntity = createResourceLoadEntity(resourceEntity.id, newrl);
+                        resourceLoadJdbcDao.add(newRlEntity);
+                    }
+                }
+            for (ResourceLoad oldRlEntity : oldRlEntityList) {
+                boolean found = false;
+                if (resource.resourceLoadList != null)
+                    for (org.openecomp.sdnc.rm.data.ResourceLoad newrl : resource.resourceLoadList)
+                        if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
+                            found = true;
+                            break;
+                        }
+                if (!found)
+                    resourceLoadJdbcDao.delete(oldRlEntity.id);
+            }
+        }
+    }
+
+    @Override
+    public void deleteResource(String assetId, String resourceName) {
+        org.openecomp.sdnc.rm.dao.jdbc.Resource resourceEntity = resourceJdbcDao.getResource(assetId, resourceName);
+        if (resourceEntity != null)
+            resourceJdbcDao.delete(resourceEntity.id);
+    }
+
+    @Override
+    public List<org.openecomp.sdnc.rm.data.Resource> getResourceSet(String resourceSetId) {
+        List<Resource> rEntityList = resourceJdbcDao.getResourceSet(resourceSetId);
+        List<org.openecomp.sdnc.rm.data.Resource> rlist = new ArrayList<org.openecomp.sdnc.rm.data.Resource>();
+        for (Resource rEntity : rEntityList) {
+            org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
+            rlist.add(r);
+
+            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
+            r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
+            for (AllocationItem aiEntity : aiEntityList) {
+                org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
+                r.allocationItems.add(ai);
+            }
+
+            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
+            r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
+            for (ResourceLoad rlEntity : rlEntityList) {
+                org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
+                r.resourceLoadList.add(rl);
+            }
+        }
+        return rlist;
+    }
+
+    @Override
+    public List<org.openecomp.sdnc.rm.data.Resource> getResourceUnion(String resourceUnionId) {
+        List<Resource> rEntityList = resourceJdbcDao.getResourceUnion(resourceUnionId);
+        List<org.openecomp.sdnc.rm.data.Resource> rlist = new ArrayList<org.openecomp.sdnc.rm.data.Resource>();
+        for (Resource rEntity : rEntityList) {
+            org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
+            rlist.add(r);
+
+            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
+            r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
+            for (AllocationItem aiEntity : aiEntityList) {
+                org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
+                r.allocationItems.add(ai);
+            }
+
+            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
+            r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
+            for (ResourceLoad rlEntity : rlEntityList) {
+                org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
+                r.resourceLoadList.add(rl);
+            }
+        }
+        return rlist;
+    }
+
+    private Resource createResourceEntity(org.openecomp.sdnc.rm.data.Resource resource) {
+        Resource resourceEntity = new Resource();
+        resourceEntity.assetId = resource.resourceKey.assetId;
+        resourceEntity.name = resource.resourceKey.resourceName;
+        resourceEntity.type = resource.resourceType.toString();
+        if (resource.resourceType == ResourceType.Limit)
+            resourceEntity.ltUsed = ((LimitResource) resource).used;
+        else if (resource.resourceType == ResourceType.Label) {
+            resourceEntity.llLabel = ((LabelResource) resource).label;
+            resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
+        } else if (resource.resourceType == ResourceType.Range)
+            resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
+
+        return resourceEntity;
+    }
+
+    private ResourceLoad createResourceLoadEntity(long resourceId, org.openecomp.sdnc.rm.data.ResourceLoad rl) {
+        ResourceLoad rlEntity = new ResourceLoad();
+        rlEntity.resourceId = resourceId;
+        rlEntity.applicationId = rl.applicationId;
+        rlEntity.loadTime = rl.resourceLoadTime;
+        rlEntity.expirationTime = rl.resourceExpirationTime;
+        return rlEntity;
+    }
+
+    private void updateResourceLoadEntity(ResourceLoad rlEntity, org.openecomp.sdnc.rm.data.ResourceLoad rl) {
+        rlEntity.loadTime = rl.resourceLoadTime;
+        rlEntity.expirationTime = rl.resourceExpirationTime;
+    }
+
+    private AllocationItem createAllocationItemEntity(long resourceId, org.openecomp.sdnc.rm.data.AllocationItem ai) {
+        AllocationItem aiEntity = new AllocationItem();
+        aiEntity.resourceId = resourceId;
+        aiEntity.resourceSetId = ai.resourceSetId;
+        aiEntity.resourceUnionId = ai.resourceUnionId;
+        aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
+        aiEntity.applicationId = ai.applicationId;
+        aiEntity.allocationTime = ai.allocationTime;
+        if (ai.resourceType == ResourceType.Limit)
+            aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
+        else if (ai.resourceType == ResourceType.Label)
+            aiEntity.llLabel = ((LabelAllocationItem) ai).label;
+        else if (ai.resourceType == ResourceType.Range)
+            aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
+        return aiEntity;
+    }
+
+    private void updateAllocationItemEntity(AllocationItem aiEntity, org.openecomp.sdnc.rm.data.AllocationItem ai) {
+        aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
+        aiEntity.allocationTime = ai.allocationTime;
+        if (ai.resourceType == ResourceType.Limit)
+            aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
+        else if (ai.resourceType == ResourceType.Label)
+            aiEntity.llLabel = ((LabelAllocationItem) ai).label;
+        else if (ai.resourceType == ResourceType.Range)
+            aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
+    }
+
+    private void updateResourceEntity(Resource resourceEntity, org.openecomp.sdnc.rm.data.Resource resource) {
+        if (resource.resourceType == ResourceType.Limit)
+            resourceEntity.ltUsed = ((LimitResource) resource).used;
+        else if (resource.resourceType == ResourceType.Label) {
+            resourceEntity.llLabel = ((LabelResource) resource).label;
+            resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
+        } else if (resource.resourceType == ResourceType.Range)
+            resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
+    }
+
+    private org.openecomp.sdnc.rm.data.Resource createResource(Resource resourceEntity) {
+        if (resourceEntity == null)
+            return null;
+
+        org.openecomp.sdnc.rm.data.Resource r = null;
+        ResourceType type = ResourceType.valueOf(resourceEntity.type);
+        if (type == ResourceType.Limit) {
+            LimitResource l = new LimitResource();
+            l.used = resourceEntity.ltUsed;
+            r = l;
+        } else if (type == ResourceType.Label) {
+            LabelResource l = new LabelResource();
+            l.label = resourceEntity.llLabel;
+            l.referenceCount = resourceEntity.llReferenceCount;
+            r = l;
+        } else if (type == ResourceType.Range) {
+            RangeResource rr = new RangeResource();
+            rr.used =
+                    StrUtil.listInt(resourceEntity.rrUsed, "Invalid data found in DB in for Resource Id: " +
+                            resourceEntity.id + ": RESOURCE.RR_USED: " + resourceEntity.rrUsed);
+            r = rr;
+        }
+
+        r.resourceType = type;
+        r.resourceKey = new ResourceKey();
+        r.resourceKey.assetId = resourceEntity.assetId;
+        r.resourceKey.resourceName = resourceEntity.name;
+
+        return r;
+    }
+
+    private org.openecomp.sdnc.rm.data.AllocationItem createAllocationItem(
+            org.openecomp.sdnc.rm.data.Resource r,
+            AllocationItem aiEntity) {
+        if (r == null || aiEntity == null)
+            return null;
+
+        org.openecomp.sdnc.rm.data.AllocationItem ai = null;
+        if (r.resourceType == ResourceType.Limit) {
+            LimitAllocationItem lai = new LimitAllocationItem();
+            lai.used = aiEntity.ltUsed;
+            ai = lai;
+        } else if (r.resourceType == ResourceType.Label) {
+            LabelAllocationItem lai = new LabelAllocationItem();
+            lai.label = aiEntity.llLabel;
+            ai = lai;
+        } else if (r.resourceType == ResourceType.Range) {
+            RangeAllocationItem rai = new RangeAllocationItem();
+            rai.used =
+                    StrUtil.listInt(aiEntity.rrUsed, "Invalid data found in DB in for Allocation Item Id: " +
+                            aiEntity.id + ": ALLOCATION_ITEM.RR_USED: " + aiEntity.rrUsed);
+            ai = rai;
+        }
+
+        ai.resourceType = r.resourceType;
+        ai.resourceKey = r.resourceKey;
+        ai.resourceSetId = aiEntity.resourceSetId;
+        ai.resourceUnionId = aiEntity.resourceUnionId;
+        if (aiEntity.resourceShareGroupList != null)
+            ai.resourceShareGroupList = new HashSet<String>(StrUtil.listStr(aiEntity.resourceShareGroupList));
+        ai.applicationId = aiEntity.applicationId;
+        ai.allocationTime = aiEntity.allocationTime;
+
+        return ai;
+    }
+
+    private org.openecomp.sdnc.rm.data.ResourceLoad createResourceLoad(
+            org.openecomp.sdnc.rm.data.Resource r,
+            ResourceLoad rlEntity) {
+        if (rlEntity == null)
+            return null;
+
+        org.openecomp.sdnc.rm.data.ResourceLoad rl = new org.openecomp.sdnc.rm.data.ResourceLoad();
+        rl.resourceKey = r.resourceKey;
+        rl.applicationId = rlEntity.applicationId;
+        rl.resourceLoadTime = rlEntity.loadTime;
+        rl.resourceExpirationTime = rlEntity.expirationTime;
+
+        return rl;
+    }
+
+    public void setResourceJdbcDao(ResourceJdbcDao resourceJdbcDao) {
+        this.resourceJdbcDao = resourceJdbcDao;
+    }
+
+    public void setResourceLoadJdbcDao(ResourceLoadJdbcDao resourceLoadJdbcDao) {
+        this.resourceLoadJdbcDao = resourceLoadJdbcDao;
+    }
+
+    public void setAllocationItemJdbcDao(AllocationItemJdbcDao allocationItemJdbcDao) {
+        this.allocationItemJdbcDao = allocationItemJdbcDao;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
index 645c377e7..5ed07b256 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,15 +25,15 @@ import java.util.List;
 
 public interface ResourceJdbcDao {
 
-	Resource getResource(String assetId, String resourceName);
+    Resource getResource(String assetId, String resourceName);
 
-	List<Resource> getResourceSet(String resourceSetId);
+    List<Resource> getResourceSet(String resourceSetId);
 
-	List<Resource> getResourceUnion(String resourceUnionId);
+    List<Resource> getResourceUnion(String resourceUnionId);
 
-	void add(Resource r);
+    void add(Resource r);
 
-	void delete(long id);
+    void delete(long id);
 
-	void update(Resource r);
+    void update(Resource r);
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
index 5e529f70e..08592819c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -38,107 +38,107 @@ import org.springframework.jdbc.support.KeyHolder;
 
 public class ResourceJdbcDaoImpl implements ResourceJdbcDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
-	private static final String RESOURCE_SQL = "SELECT * FROM RESOURCE WHERE asset_id = ? AND resource_name = ?";
-
-	private static final String RESOURCE_SET_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
-	        + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_set_id = ?)";
-
-	private static final String RESOURCE_UNION_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
-	        + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_union_id = ?)";
-
-	private static final String INSERT_SQL = "INSERT INTO RESOURCE (\n"
-	        + "  asset_id, resource_name, resource_type, lt_used, ll_label, ll_reference_count, rr_used)\n"
-	        + "VALUES (?, ?, ?, ?, ?, ?, ?)";
-
-	private static final String UPDATE_SQL = "UPDATE RESOURCE SET\n"
-	        + "  lt_used = ?, ll_label = ?, ll_reference_count = ?, rr_used = ?\nWHERE resource_id = ?";
-
-	private static final String DELETE_SQL = "DELETE FROM RESOURCE WHERE resource_id = ?";
-
-	private JdbcTemplate jdbcTemplate;
-	private ResourceRowMapper resourceRowMapper = new ResourceRowMapper();
-
-	@Override
-	public Resource getResource(String assetId, String resourceName) {
-		if (assetId == null || assetId.trim().length() == 0 || resourceName == null ||
-		        resourceName.trim().length() == 0)
-			return null;
-
-		List<Resource> ll = jdbcTemplate.query(RESOURCE_SQL, new Object[] { assetId, resourceName }, resourceRowMapper);
-		return ll.isEmpty() ? null : ll.get(0);
-	}
-
-	@Override
-	public List<Resource> getResourceSet(String resourceSetId) {
-		if (resourceSetId == null)
-			return Collections.emptyList();
-
-		return jdbcTemplate.query(RESOURCE_SET_SQL, new Object[] { resourceSetId }, resourceRowMapper);
-	}
-
-	@Override
-	public List<Resource> getResourceUnion(String resourceUnionId) {
-		if (resourceUnionId == null)
-			return Collections.emptyList();
-
-		return jdbcTemplate.query(RESOURCE_UNION_SQL, new Object[] { resourceUnionId }, resourceRowMapper);
-	}
-
-	@Override
-	public void add(final Resource r) {
-		PreparedStatementCreator psc = new PreparedStatementCreator() {
-
-			@Override
-			public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
-				PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_id" });
-				ps.setString(1, r.assetId);
-				ps.setString(2, r.name);
-				ps.setString(3, r.type);
-				ps.setLong(4, r.ltUsed);
-				ps.setString(5, r.llLabel);
-				ps.setInt(6, r.llReferenceCount);
-				ps.setString(7, r.rrUsed);
-				return ps;
-			}
-		};
-		KeyHolder keyHolder = new GeneratedKeyHolder();
-		jdbcTemplate.update(psc, keyHolder);
-		r.id = keyHolder.getKey().longValue();
-	}
-
-	@Override
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
+
+    private static final String RESOURCE_SQL = "SELECT * FROM RESOURCE WHERE asset_id = ? AND resource_name = ?";
+
+    private static final String RESOURCE_SET_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
+            + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_set_id = ?)";
+
+    private static final String RESOURCE_UNION_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
+            + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_union_id = ?)";
+
+    private static final String INSERT_SQL = "INSERT INTO RESOURCE (\n"
+            + "  asset_id, resource_name, resource_type, lt_used, ll_label, ll_reference_count, rr_used)\n"
+            + "VALUES (?, ?, ?, ?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL = "UPDATE RESOURCE SET\n"
+            + "  lt_used = ?, ll_label = ?, ll_reference_count = ?, rr_used = ?\nWHERE resource_id = ?";
+
+    private static final String DELETE_SQL = "DELETE FROM RESOURCE WHERE resource_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private ResourceRowMapper resourceRowMapper = new ResourceRowMapper();
+
+    @Override
+    public Resource getResource(String assetId, String resourceName) {
+        if (assetId == null || assetId.trim().length() == 0 || resourceName == null ||
+                resourceName.trim().length() == 0)
+            return null;
+
+        List<Resource> ll = jdbcTemplate.query(RESOURCE_SQL, new Object[] { assetId, resourceName }, resourceRowMapper);
+        return ll.isEmpty() ? null : ll.get(0);
+    }
+
+    @Override
+    public List<Resource> getResourceSet(String resourceSetId) {
+        if (resourceSetId == null)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(RESOURCE_SET_SQL, new Object[] { resourceSetId }, resourceRowMapper);
+    }
+
+    @Override
+    public List<Resource> getResourceUnion(String resourceUnionId) {
+        if (resourceUnionId == null)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(RESOURCE_UNION_SQL, new Object[] { resourceUnionId }, resourceRowMapper);
+    }
+
+    @Override
+    public void add(final Resource r) {
+        PreparedStatementCreator psc = new PreparedStatementCreator() {
+
+            @Override
+            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
+                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_id" });
+                ps.setString(1, r.assetId);
+                ps.setString(2, r.name);
+                ps.setString(3, r.type);
+                ps.setLong(4, r.ltUsed);
+                ps.setString(5, r.llLabel);
+                ps.setInt(6, r.llReferenceCount);
+                ps.setString(7, r.rrUsed);
+                return ps;
+            }
+        };
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(psc, keyHolder);
+        r.id = keyHolder.getKey().longValue();
+    }
+
+    @Override
     public void update(Resource r) {
-		Long ltUsed = r.ltUsed <= 0 ? null : r.ltUsed;
-		Integer llRefCount = r.llReferenceCount <= 0 ? null : r.llReferenceCount;
-		jdbcTemplate.update(UPDATE_SQL, ltUsed, r.llLabel, llRefCount, r.rrUsed, r.id);
-	}
-
-	@Override
-	public void delete(long id) {
-		jdbcTemplate.update(DELETE_SQL, id);
-	}
-
-	private static class ResourceRowMapper implements RowMapper<Resource> {
-
-		@Override
-		public Resource mapRow(ResultSet rs, int arg1) throws SQLException {
-			Resource r = new Resource();
-			r.id = rs.getLong("resource_id");
-			r.assetId = rs.getString("asset_id");
-			r.name = rs.getString("resource_name");
-			r.type = rs.getString("resource_type");
-			r.ltUsed = rs.getLong("lt_used");
-			r.llLabel = rs.getString("ll_label");
-			r.llReferenceCount = rs.getInt("ll_reference_count");
-			r.rrUsed = rs.getString("rr_used");
-			return r;
-		}
-	}
-
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+        Long ltUsed = r.ltUsed <= 0 ? null : r.ltUsed;
+        Integer llRefCount = r.llReferenceCount <= 0 ? null : r.llReferenceCount;
+        jdbcTemplate.update(UPDATE_SQL, ltUsed, r.llLabel, llRefCount, r.rrUsed, r.id);
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update(DELETE_SQL, id);
+    }
+
+    private static class ResourceRowMapper implements RowMapper<Resource> {
+
+        @Override
+        public Resource mapRow(ResultSet rs, int arg1) throws SQLException {
+            Resource r = new Resource();
+            r.id = rs.getLong("resource_id");
+            r.assetId = rs.getString("asset_id");
+            r.name = rs.getString("resource_name");
+            r.type = rs.getString("resource_type");
+            r.ltUsed = rs.getLong("lt_used");
+            r.llLabel = rs.getString("ll_label");
+            r.llReferenceCount = rs.getInt("ll_reference_count");
+            r.rrUsed = rs.getString("rr_used");
+            return r;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
index 5c810b1d0..5b5669248 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,9 +25,9 @@ import java.util.Date;
 
 public class ResourceLoad {
 
-	public long id;
-	public long resourceId;
-	public String applicationId;
-	public Date loadTime;
-	public Date expirationTime;
+    public long id;
+    public long resourceId;
+    public String applicationId;
+    public Date loadTime;
+    public Date expirationTime;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
index 9a337a83d..ad38372f2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,12 +25,12 @@ import java.util.List;
 
 public interface ResourceLoadJdbcDao {
 
-	void add(ResourceLoad rl);
+    void add(ResourceLoad rl);
 
-	List<ResourceLoad> getResourceLoads(long resourceId);
+    List<ResourceLoad> getResourceLoads(long resourceId);
 
-	void update(ResourceLoad rl);
+    void update(ResourceLoad rl);
 
-	void delete(long id);
+    void delete(long id);
 
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
index 854b66965..aa44afae3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -39,74 +39,74 @@ import org.springframework.jdbc.support.KeyHolder;
 
 public class ResourceLoadJdbcDaoImpl implements ResourceLoadJdbcDao {
 
-	@SuppressWarnings("unused")
-	private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
-	private static final String INSERT_SQL = "INSERT INTO RESOURCE_LOAD (\n"
-	        + "  resource_id, application_id, resource_load_time, resource_expiration_time)\nVALUES (?, ?, ?, ?)";
-
-	private static final String UPDATE_SQL = "UPDATE RESOURCE_LOAD SET\n"
-	        + "  resource_load_time = ?, resource_expiration_time = ?\nWHERE resource_id = ?";
-
-	private static final String DELETE_SQL = "DELETE FROM RESOURCE_LOAD WHERE resource_load_id = ?";
-
-	private static final String GET_SQL = "SELECT * FROM RESOURCE_LOAD WHERE resource_id = ?";
-
-	private JdbcTemplate jdbcTemplate;
-	private ResourceLoadRowMapper resourceLoadRowMapper = new ResourceLoadRowMapper();
-
-	@Override
-	public void add(final ResourceLoad rl) {
-		PreparedStatementCreator psc = new PreparedStatementCreator() {
-
-			@Override
-			public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
-				PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_load_id" });
-				ps.setLong(1, rl.resourceId);
-				ps.setString(2, rl.applicationId);
-				ps.setTimestamp(3, new Timestamp(rl.loadTime.getTime()));
-				ps.setTimestamp(4, new Timestamp(rl.expirationTime.getTime()));
-				return ps;
-			}
-		};
-		KeyHolder keyHolder = new GeneratedKeyHolder();
-		jdbcTemplate.update(psc, keyHolder);
-		rl.id = keyHolder.getKey().longValue();
-	}
-
-	@Override
-	public void update(ResourceLoad rl) {
-		jdbcTemplate.update(UPDATE_SQL, rl.loadTime, rl.expirationTime, rl.id);
-	}
-
-	@Override
-	public void delete(long id) {
-		jdbcTemplate.update(DELETE_SQL, id);
-	}
-
-	@Override
-	public List<ResourceLoad> getResourceLoads(long resourceId) {
-		if (resourceId <= 0)
-			return Collections.emptyList();
-
-		return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, resourceLoadRowMapper);
-	}
-
-	private static class ResourceLoadRowMapper implements RowMapper<ResourceLoad> {
-
-		@Override
-		public ResourceLoad mapRow(ResultSet rs, int n) throws SQLException {
-			ResourceLoad rl = new ResourceLoad();
-			rl.id = rs.getLong("allocation_item_id");
-			rl.resourceId = rs.getLong("resource_id");
-			rl.applicationId = rs.getString("application_id");
-			rl.loadTime = rs.getTimestamp("resource_load_time");
-			rl.expirationTime = rs.getTimestamp("resource_expiration_time");
-			return rl;
-		}
-	}
-
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
+
+    private static final String INSERT_SQL = "INSERT INTO RESOURCE_LOAD (\n"
+            + "  resource_id, application_id, resource_load_time, resource_expiration_time)\nVALUES (?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL = "UPDATE RESOURCE_LOAD SET\n"
+            + "  resource_load_time = ?, resource_expiration_time = ?\nWHERE resource_id = ?";
+
+    private static final String DELETE_SQL = "DELETE FROM RESOURCE_LOAD WHERE resource_load_id = ?";
+
+    private static final String GET_SQL = "SELECT * FROM RESOURCE_LOAD WHERE resource_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private ResourceLoadRowMapper resourceLoadRowMapper = new ResourceLoadRowMapper();
+
+    @Override
+    public void add(final ResourceLoad rl) {
+        PreparedStatementCreator psc = new PreparedStatementCreator() {
+
+            @Override
+            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
+                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_load_id" });
+                ps.setLong(1, rl.resourceId);
+                ps.setString(2, rl.applicationId);
+                ps.setTimestamp(3, new Timestamp(rl.loadTime.getTime()));
+                ps.setTimestamp(4, new Timestamp(rl.expirationTime.getTime()));
+                return ps;
+            }
+        };
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(psc, keyHolder);
+        rl.id = keyHolder.getKey().longValue();
+    }
+
+    @Override
+    public void update(ResourceLoad rl) {
+        jdbcTemplate.update(UPDATE_SQL, rl.loadTime, rl.expirationTime, rl.id);
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update(DELETE_SQL, id);
+    }
+
+    @Override
+    public List<ResourceLoad> getResourceLoads(long resourceId) {
+        if (resourceId <= 0)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, resourceLoadRowMapper);
+    }
+
+    private static class ResourceLoadRowMapper implements RowMapper<ResourceLoad> {
+
+        @Override
+        public ResourceLoad mapRow(ResultSet rs, int n) throws SQLException {
+            ResourceLoad rl = new ResourceLoad();
+            rl.id = rs.getLong("allocation_item_id");
+            rl.resourceId = rs.getLong("resource_id");
+            rl.applicationId = rs.getString("application_id");
+            rl.loadTime = rs.getTimestamp("resource_load_time");
+            rl.expirationTime = rs.getTimestamp("resource_expiration_time");
+            return rl;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
index c791d4272..4eab7d9d8 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,5 +22,5 @@
 package org.openecomp.sdnc.rm.data;
 
 public enum AllocationAction {
-	Fail, Succeed_DoNothing, Succeed_Allocate
+    Fail, Succeed_DoNothing, Succeed_Allocate
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
index f4cabf96e..4a7ee6a7d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,11 +26,11 @@ import java.util.Set;
 
 public abstract class AllocationItem {
 
-	public ResourceKey resourceKey;
-	public ResourceType resourceType;
-	public String resourceSetId;
-	public String resourceUnionId;
-	public Set<String> resourceShareGroupList;
-	public String applicationId;
-	public Date allocationTime;
+    public ResourceKey resourceKey;
+    public ResourceType resourceType;
+    public String resourceSetId;
+    public String resourceUnionId;
+    public Set<String> resourceShareGroupList;
+    public String applicationId;
+    public Date allocationTime;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
index 20ecf051e..7283e11c6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,6 +23,6 @@ package org.openecomp.sdnc.rm.data;
 
 public class AllocationOutcome {
 
-	public AllocationStatus status = null;
-	public AllocationRequest request = null;
+    public AllocationStatus status = null;
+    public AllocationRequest request = null;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
index d54475ff6..d4291167e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,11 +25,11 @@ import java.util.Set;
 
 public class AllocationRequest {
 
-	public String resourceUnionId = null;
-	public String resourceSetId = null;
-	public Set<String> resourceShareGroupList = null;
-	public String resourceName = null;
-	public String assetId = null;
-	public AllocationAction missingResourceAction = AllocationAction.Succeed_Allocate;
-	public AllocationAction expiredResourceAction = AllocationAction.Succeed_Allocate;
+    public String resourceUnionId = null;
+    public String resourceSetId = null;
+    public Set<String> resourceShareGroupList = null;
+    public String resourceName = null;
+    public String assetId = null;
+    public AllocationAction missingResourceAction = AllocationAction.Succeed_Allocate;
+    public AllocationAction expiredResourceAction = AllocationAction.Succeed_Allocate;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
index a18077a13..aa8d1df12 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.rm.data;
 
 public enum AllocationStatus {
 
-	Success, Failure, NotTried, ResourceNotFound, ResourceExpired
+    Success, Failure, NotTried, ResourceNotFound, ResourceExpired
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
index 8b9dfaa32..d0075bdbd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,15 +22,15 @@
 package org.openecomp.sdnc.rm.data;
 
 public enum InitAction {
-	CheckInit("Initialize if needed"), ForceInit("Always Initialize"), NoInit("No initialization");
+    CheckInit("Initialize if needed"), ForceInit("Always Initialize"), NoInit("No initialization");
 
-	private String str;
+    private String str;
 
-	private InitAction(String str) {
-		this.str = str;
-	}
+    private InitAction(String str) {
+        this.str = str;
+    }
 
-	public String getInitActionStr() {
-		return str;
-	}
+    public String getInitActionStr() {
+        return str;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
index e456542cf..97ee3ba89 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.rm.data;
 
 public class LabelAllocationItem extends AllocationItem {
 
-	public String label;
+    public String label;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
index d0cb2c527..c1763ff21 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,6 +23,6 @@ package org.openecomp.sdnc.rm.data;
 
 public class LabelAllocationOutcome extends AllocationOutcome {
 
-	public String allocatedLabel = null;
-	public String currentLabel = null;
+    public String allocatedLabel = null;
+    public String currentLabel = null;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
index 2b6ce0338..8e509f66d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ package org.openecomp.sdnc.rm.data;
 
 public class LabelAllocationRequest extends AllocationRequest {
 
-	public String label = null;
-	public boolean check = false;
-	public boolean allocate = false;
+    public String label = null;
+    public boolean check = false;
+    public boolean allocate = false;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
index 54bfb852e..d82701928 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,8 +23,8 @@ package org.openecomp.sdnc.rm.data;
 
 public class LabelResource extends Resource {
 
-	public static final String BLOCKED = "__BLOCKED__";
+    public static final String BLOCKED = "__BLOCKED__";
 
-	public String label;
-	public int referenceCount;
+    public String label;
+    public int referenceCount;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
index 270220a8a..181172f2f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.rm.data;
 
 public class LimitAllocationItem extends AllocationItem {
 
-	public long used;
+    public long used;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
index f1c13c083..ffc119414 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ package org.openecomp.sdnc.rm.data;
 
 public class LimitAllocationOutcome extends AllocationOutcome {
 
-	public long allocatedCount = 0;
-	public long used = 0;
-	public long limit = 0;
+    public long allocatedCount = 0;
+    public long used = 0;
+    public long limit = 0;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
index 787715bb0..31c0d1155 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,9 +23,9 @@ package org.openecomp.sdnc.rm.data;
 
 public class LimitAllocationRequest extends AllocationRequest {
 
-	public long checkCount = 0;
-	public long allocateCount = 0;
-	public long checkLimit = -1;
-	public boolean replace = false;
-	public boolean strict = false;
+    public long checkCount = 0;
+    public long allocateCount = 0;
+    public long checkLimit = -1;
+    public boolean replace = false;
+    public boolean strict = false;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
index cad0ba232..ad706ee81 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,5 +23,5 @@ package org.openecomp.sdnc.rm.data;
 
 public class LimitResource extends Resource {
 
-	public long used = 0;
+    public long used = 0;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
index bf9bbbfaa..dcbac3675 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,6 @@ import java.util.List;
 
 public class MultiAssetAllocationOutcome extends AllocationOutcome {
 
-	public List<String> goodAssetIdList;
-	public List<AllocationOutcome> allocationOutcomeList;
+    public List<String> goodAssetIdList;
+    public List<AllocationOutcome> allocationOutcomeList;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
index da1a96d73..d4dd65ed4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,8 +25,8 @@ import java.util.List;
 
 public class MultiAssetAllocationRequest extends AllocationRequest {
 
-	public List<String> assetIdList = null;
-	public AllocationRequest allocationRequest = null;
-	public int requestedCount = 0;
-	public boolean sequential = false;
+    public List<String> assetIdList = null;
+    public AllocationRequest allocationRequest = null;
+    public int requestedCount = 0;
+    public boolean sequential = false;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
index 9deca6c2b..355d50814 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,5 +25,5 @@ import java.util.List;
 
 public class MultiResourceAllocationOutcome extends AllocationOutcome {
 
-	public List<AllocationOutcome> allocationOutcomeList;
+    public List<AllocationOutcome> allocationOutcomeList;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
index 9e48a31e5..4de9868b3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ *reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,6 @@ import java.util.List;
 
 public class MultiResourceAllocationRequest extends AllocationRequest {
 
-	public List<AllocationRequest> allocationRequestList = null;
-	public boolean stopOnFirstFailure = true;
+    public List<AllocationRequest> allocationRequestList = null;
+    public boolean stopOnFirstFailure = true;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
index 229c8e449..4260b4dc3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,5 +25,5 @@ import java.util.SortedSet;
 
 public class RangeAllocationItem extends AllocationItem {
 
-	public SortedSet<Integer> used;
+    public SortedSet<Integer> used;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
index 8b35d9f04..ad14f510a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,6 @@ import java.util.SortedSet;
 
 public class RangeAllocationOutcome extends AllocationOutcome {
 
-	public SortedSet<Integer> allocated = null;
-	public SortedSet<Integer> used = null;
+    public SortedSet<Integer> allocated = null;
+    public SortedSet<Integer> used = null;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
index 0732613d3..9315535f4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,12 +25,12 @@ import java.util.SortedSet;
 
 public class RangeAllocationRequest extends AllocationRequest {
 
-	public int checkMin = 0;
-	public int checkMax = 0;
-	public boolean check = false;
-	public boolean allocate = false;
-	public boolean replace = false;
-	public SortedSet<Integer> requestedNumbers = null;
-	public int requestedCount = 1;
-	public boolean sequential = false;
+    public int checkMin = 0;
+    public int checkMax = 0;
+    public boolean check = false;
+    public boolean allocate = false;
+    public boolean replace = false;
+    public SortedSet<Integer> requestedNumbers = null;
+    public int requestedCount = 1;
+    public boolean sequential = false;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
index 99a2b207a..4bec30440 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,5 +25,5 @@ import java.util.SortedSet;
 
 public class RangeResource extends Resource {
 
-	public SortedSet<Integer> used;
+    public SortedSet<Integer> used;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
index b04f71050..c462bde37 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,8 +25,8 @@ import java.util.Collection;
 
 public abstract class Resource {
 
-	public ResourceKey resourceKey;
-	public ResourceType resourceType;
-	public Collection<AllocationItem> allocationItems;
-	public Collection<ResourceLoad> resourceLoadList;
+    public ResourceKey resourceKey;
+    public ResourceType resourceType;
+    public Collection<AllocationItem> allocationItems;
+    public Collection<ResourceLoad> resourceLoadList;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
index b303b07fd..765c9251c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,28 +23,28 @@ package org.openecomp.sdnc.rm.data;
 
 public class ResourceKey {
 
-	public String assetId;
-	public String resourceName;
+    public String assetId;
+    public String resourceName;
 
-	@Override
-	public boolean equals(Object o) {
-		if (this == o)
-			return true;
-		if (o == null || !(o instanceof ResourceKey))
-			return false;
-		ResourceKey rk = (ResourceKey) o;
-		if (assetId == null || resourceName == null)
-			return false;
-		return assetId.equals(rk.assetId) && resourceName.equals(rk.resourceName);
-	}
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || !(o instanceof ResourceKey))
+            return false;
+        ResourceKey rk = (ResourceKey) o;
+        if (assetId == null || resourceName == null)
+            return false;
+        return assetId.equals(rk.assetId) && resourceName.equals(rk.resourceName);
+    }
 
-	@Override
-	public int hashCode() {
-		return (int) ((long) System.identityHashCode(assetId) + (long) System.identityHashCode(resourceName));
-	}
+    @Override
+    public int hashCode() {
+        return (int) ((long) System.identityHashCode(assetId) + (long) System.identityHashCode(resourceName));
+    }
 
-	@Override
-	public String toString() {
-		return "(" + assetId + ", " + resourceName + ")";
-	}
+    @Override
+    public String toString() {
+        return "(" + assetId + ", " + resourceName + ")";
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
index 06970cbcc..f1e96a8bf 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,8 +25,8 @@ import java.util.Date;
 
 public class ResourceLoad {
 
-	public ResourceKey resourceKey;
-	public String applicationId;
-	public Date resourceLoadTime;
-	public Date resourceExpirationTime;
+    public ResourceKey resourceKey;
+    public String applicationId;
+    public Date resourceLoadTime;
+    public Date resourceExpirationTime;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
index 1d8b9c4c8..d97cb7d71 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,5 +22,5 @@
 package org.openecomp.sdnc.rm.data;
 
 public enum ResourceType {
-	Limit, Label, Range
+    Limit, Label, Range
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
index bbaa3a378..d15a149f2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,63 +33,63 @@ import org.openecomp.sdnc.rm.data.ResourceType;
 
 public class LabelUtil {
 
-	public static boolean checkLabel(LabelResource l, LabelAllocationRequest req) {
-		if (req.check && req.label != null && l.allocationItems != null && !l.allocationItems.isEmpty()) {
-			for (AllocationItem ai : l.allocationItems) {
-				LabelAllocationItem lai = (LabelAllocationItem) ai;
-				if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label))
-					return false;
-			}
-		}
-		return true;
-	}
+    public static boolean checkLabel(LabelResource l, LabelAllocationRequest req) {
+        if (req.check && req.label != null && l.allocationItems != null && !l.allocationItems.isEmpty()) {
+            for (AllocationItem ai : l.allocationItems) {
+                LabelAllocationItem lai = (LabelAllocationItem) ai;
+                if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label))
+                    return false;
+            }
+        }
+        return true;
+    }
 
-	public static String allocateLabel(LabelResource l, LabelAllocationRequest req, String applicationId) {
-		if (!req.allocate)
-			return null;
+    public static String allocateLabel(LabelResource l, LabelAllocationRequest req, String applicationId) {
+        if (!req.allocate)
+            return null;
 
-		LabelAllocationItem lai = (LabelAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-		if (lai == null) {
-			lai = new LabelAllocationItem();
-			lai.resourceType = ResourceType.Label;
-			lai.resourceKey = new ResourceKey();
-			lai.resourceKey.assetId = req.assetId;
-			lai.resourceKey.resourceName = req.resourceName;
-			lai.applicationId = applicationId;
-			lai.resourceSetId = req.resourceSetId;
-			lai.resourceUnionId = req.resourceUnionId;
-			lai.resourceShareGroupList = req.resourceShareGroupList;
+        LabelAllocationItem lai = (LabelAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
+        if (lai == null) {
+            lai = new LabelAllocationItem();
+            lai.resourceType = ResourceType.Label;
+            lai.resourceKey = new ResourceKey();
+            lai.resourceKey.assetId = req.assetId;
+            lai.resourceKey.resourceName = req.resourceName;
+            lai.applicationId = applicationId;
+            lai.resourceSetId = req.resourceSetId;
+            lai.resourceUnionId = req.resourceUnionId;
+            lai.resourceShareGroupList = req.resourceShareGroupList;
 
-			if (l.allocationItems == null)
-				l.allocationItems = new ArrayList<AllocationItem>();
-			l.allocationItems.add(lai);
-		}
+            if (l.allocationItems == null)
+                l.allocationItems = new ArrayList<AllocationItem>();
+            l.allocationItems.add(lai);
+        }
 
-		lai.label = req.label;
-		lai.allocationTime = new Date();
+        lai.label = req.label;
+        lai.allocationTime = new Date();
 
-		recalculate(l);
+        recalculate(l);
 
-		return lai.label;
-	}
+        return lai.label;
+    }
 
-	public static void recalculate(LabelResource l) {
-		l.label = null;
-		l.referenceCount = 0;
-		if (l.allocationItems != null)
-			for (AllocationItem ai : l.allocationItems) {
-				LabelAllocationItem lai = (LabelAllocationItem) ai;
-				if (lai.label != null) {
-					l.referenceCount++;
-					if (l.label == null)
-						l.label = lai.label;
-					else if (!l.label.equals(lai.label))
-						l.label = "__BLOCKED__";
-				}
-			}
-	}
+    public static void recalculate(LabelResource l) {
+        l.label = null;
+        l.referenceCount = 0;
+        if (l.allocationItems != null)
+            for (AllocationItem ai : l.allocationItems) {
+                LabelAllocationItem lai = (LabelAllocationItem) ai;
+                if (lai.label != null) {
+                    l.referenceCount++;
+                    if (l.label == null)
+                        l.label = lai.label;
+                    else if (!l.label.equals(lai.label))
+                        l.label = "__BLOCKED__";
+                }
+            }
+    }
 
-	private static boolean eq(Object o1, Object o2) {
-		return o1 == null ? o2 == null : o1.equals(o2);
-	}
+    private static boolean eq(Object o1, Object o2) {
+        return o1 == null ? o2 == null : o1.equals(o2);
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
index 457995604..76c3ef76e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -39,296 +39,296 @@ import org.slf4j.LoggerFactory;
 
 public class LimitUtil {
 
-	private static final Logger log = LoggerFactory.getLogger(LimitUtil.class);
-
-	public static boolean checkLimit(LimitResource l, LimitAllocationRequest req) {
-		if (req.checkCount <= 0)
-			return true;
-
-		long checkCount = req.checkCount;
-		long currentUsage = 0;
-		if (req.resourceSetId != null) {
-			LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-			if (lai != null)
-				currentUsage = lai.used;
-		}
-		if (!req.replace)
-			checkCount += currentUsage;
-
-		long used = calculateLimitUsage(l, 0, null, null);
-		long wouldUse = calculateLimitUsage(l, checkCount, req.resourceUnionId, req.resourceShareGroupList);
-
-		// If usage is not increasing by this request, only check the limit if
-		// strictCheck is true.
-		if (wouldUse <= used && !req.strict)
-			return true;
-
-		return wouldUse <= req.checkLimit;
-	}
-
-	private static long calculateLimitUsage(
-	        LimitResource l,
-	        long checkCount,
-	        String resourceUnionId,
-	        Set<String> resourceShareGroupList) {
-		if ((l.allocationItems == null || l.allocationItems.isEmpty()) &&
-		        (resourceUnionId == null || resourceUnionId.length() == 0))
-			return 0;
-
-		long t1 = System.currentTimeMillis();
-		boolean logit = false;
-		String rn = "Resource: " + l.resourceKey.resourceName + " - " + l.resourceKey.assetId;
-
-		// In order to best utilize the resource, we need to take not the sum of all allocation items, but
-		// instead the maximum usage that could happen at any moment of time (given not all allocation items are active
-		// at the same time), also taking into account possible resource sharing.
-		// Thus we need to find all combinations of allocation items that can be active at the same time (allocation
-		// items with the same first union cannot be active at the same time), compute the usage for each (again,
-		// taking into account resource sharing), and take the maximum.
-		//
-		// Example:
-		// Let's have the following allocation items:
-		// ai1: sdid1, vrf1 - usage 5
-		// ai2: sdid2, vrf1 - usage 10
-		// ai3: sdid3, vrf2 - usage 15
-		// ai4: sdid1, vrf3 - usage 20
-		// ai5: sdid3, vrf1 - usage 25
-		// The following combinations of active allocation items are possible:
-		// 1) ai1, ai2, ai3
-		// 2) ai1, ai2, ai5
-		// 3) ai2, ai3, ai4
-		// 4) ai2, ai3, ai5
-		// Here is how we calculate the usage for combination 1:
-		// ai1 and ai2 contain the same resource union vrf1, so they share the resource - we take the max of usage,
-		// so we have:
-		// max(5, 10) + 15 = 25
-		// Similarly, we calculate the usage of the other combinations:
-		// 2) max(5, 10, 25) = 25
-		// 3) 10 + 15 + 20 = 45
-		// 4) max(10, 25) + 15 = 40
-		// So, the result in this case is:
-		// max(25, 25, 45, 40) = 45
-		//
-		// We might have a problem with this approach, if we have a lot of combinations. Assuming we have at most 2
-		// allocation items with the same resource union (sdid), the number of combinations would be
-		// 2 ^ n
-		// where n is the number of allocation items that have the same resource union (sdid). That would be
-		// the number of change orders currently in progress.
-		//
-		// Here is one optimization that we can do:
-		// If we have allocation items that have all resource unions the same, we don't need to generate combinations
-		// with each of them, we can just take the one of them with the maximum usage, as it is clear that the others
-		// will not lead to a bigger usage.
-		// For example, if we had the following allocation items:
-		// ai1: sdid1, vrf1 - usage 10
-		// ai2: sdid1, vrf1 - usage 20
-		// We only need to take the combinations with ai2, as they will always lead to bigger usage than the remaining
-		// combinations with ai1.
-
-		// First, group the allocation items by the first resource union, using the LimitUsage structure
-		int regularChangeCount = 0;
-		Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<String, List<LimitUsage>>();
-		if (l.allocationItems != null)
-			for (AllocationItem ai : l.allocationItems) {
-				LimitAllocationItem lai = (LimitAllocationItem) ai;
-				boolean regularChange =
-				        addLimitUsage(limitUsageMap, lai.resourceUnionId, lai.resourceShareGroupList, lai.used);
-				if (regularChange)
-					regularChangeCount++;
-			}
-		if (checkCount > 0 && resourceUnionId != null) {
-			boolean regularChange = addLimitUsage(limitUsageMap, resourceUnionId, resourceShareGroupList, checkCount);
-			if (regularChange)
-				regularChangeCount++;
-		}
-
-		// Generate all the combinations, containing one LimitUsage object for each firstResourceUnion
-		int significantChangeCount = 0;
-		List<List<LimitUsage>> allCombinations = new ArrayList<List<LimitUsage>>();
-		for (String firstResourceUnion : limitUsageMap.keySet()) {
-			List<LimitUsage> limitUsageList = limitUsageMap.get(firstResourceUnion);
-			if (limitUsageList.size() > 1)
-				significantChangeCount++;
-			if (allCombinations.isEmpty()) {
-				for (LimitUsage limitUsage : limitUsageList) {
-					List<LimitUsage> newCombination = new ArrayList<LimitUsage>();
-					newCombination.add(limitUsage);
-					allCombinations.add(newCombination);
-				}
-			} else {
-				if (limitUsageList.size() == 1) {
-					// No new combinations are generated - just add this one to all combinations we have until now
-					for (List<LimitUsage> combination : allCombinations)
-						combination.add(limitUsageList.get(0));
-				} else {
-					// We have to duplicate each of the current combinations for each element of limitUsageList
-					List<List<LimitUsage>> newAllCombinations = new ArrayList<List<LimitUsage>>();
-					for (List<LimitUsage> combination : allCombinations)
-						for (LimitUsage limitUsage : limitUsageList) {
-							List<LimitUsage> newCombination = new ArrayList<LimitUsage>(combination);
-							newCombination.add(limitUsage);
-							newAllCombinations.add(newCombination);
-						}
-					allCombinations = newAllCombinations;
-				}
-			}
-		}
-
-		// Now, go through all combinations and calculate its usage, get the maximum
-		long maxUsage = 0;
-		for (List<LimitUsage> combination : allCombinations) {
-			long usage = calculateUsage(combination);
-			if (usage > maxUsage)
-				maxUsage = usage;
-		}
-
-		long t2 = System.currentTimeMillis();
-		if (logit) {
-			log.debug(rn + ": Calculating usage completed:");
-			log.debug(rn + ":     Regular changes: " + regularChangeCount);
-			log.debug(rn + ":     Significant changes: " + significantChangeCount);
-			log.debug(rn + ":     Combinations: " + allCombinations.size());
-			log.debug(rn + ":     Usage: " + maxUsage);
-			log.debug(rn + ":     Time: " + (t2 - t1));
-		}
-
-		return maxUsage;
-	}
-
-	private static boolean addLimitUsage(
-	        Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap,
-	        String resourceUnionId,
-	        Set<String> resourceShareGroupList,
-	        long used) {
-		List<LimitUsage> limitUsageList = limitUsageMap.get(resourceUnionId);
-		if (limitUsageList == null) {
-			limitUsageList = new ArrayList<LimitUsage>();
-			limitUsageMap.put(resourceUnionId, limitUsageList);
-		}
-		// See if we already have the same shareResourceUnionSet in the list. In such case just update the usage
-		// to the bigger value.
-		LimitUsage limitUsage = null;
-		for (LimitUsage limitUsage1 : limitUsageList) {
-			if ((limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty()) &&
-			        (resourceShareGroupList == null || resourceShareGroupList.isEmpty())) {
-				limitUsage = limitUsage1;
-				break;
-			}
-			if (limitUsage1.resourceShareGroupList != null &&
-			        limitUsage1.resourceShareGroupList.equals(resourceShareGroupList)) {
-				limitUsage = limitUsage1;
-				break;
-			}
-		}
-		if (limitUsage != null) {
-			if (limitUsage.usage < used)
-				limitUsage.usage = used;
-			return true;
-		}
-
-		limitUsage = new LimitUsage();
-		limitUsage.resourceUnion = resourceUnionId;
-		limitUsage.resourceShareGroupList = resourceShareGroupList;
-		limitUsage.usage = used;
-		limitUsageList.add(limitUsage);
-		return false;
-	}
-
-	private static class LimitUsage {
-
-		@SuppressWarnings("unused")
-		public String resourceUnion;
-		public Set<String> resourceShareGroupList;
-		public long usage;
-	}
-
-	private static boolean hasCommonSharedResource(LimitUsage limitUsage1, LimitUsage limitUsage2) {
-		if (limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty())
-			return false;
-		if (limitUsage2.resourceShareGroupList == null || limitUsage2.resourceShareGroupList.isEmpty())
-			return false;
-
-		for (String resourceUnion : limitUsage1.resourceShareGroupList)
-			if (limitUsage2.resourceShareGroupList.contains(resourceUnion))
-				return true;
-
-		return false;
-	}
-
-	private static long calculateUsage(List<LimitUsage> combination) {
-		// All LimitUsage objects that have a common value in their sharedResourceUnionSet reuse the resource, so
-		// split the combination in sets that have common value. Then the usage of each set will be the maximum of
-		// the usages of the LimitUsage objects in the set. The usage of the combination will be the sum of the usages
-		// of all sets.
-		List<List<LimitUsage>> sharedSets = new ArrayList<List<LimitUsage>>();
-		for (LimitUsage limitUsage : combination) {
-			// See if we can put limitUsage in any of the existing sets - is it has a common resource union with
-			// any of the LimitUsage objects in a set.
-			boolean found = false;
-			for (List<LimitUsage> sharedSet : sharedSets) {
-				for (LimitUsage limitUsage1 : sharedSet) {
-					if (hasCommonSharedResource(limitUsage, limitUsage1)) {
-						found = true;
-						break;
-					}
-				}
-				if (found) {
-					sharedSet.add(limitUsage);
-					break;
-				}
-			}
-			if (!found) {
-				// Start a new set
-				List<LimitUsage> newSharedSet = new ArrayList<LimitUsage>();
-				newSharedSet.add(limitUsage);
-				sharedSets.add(newSharedSet);
-			}
-		}
-
-		long sum = 0;
-		for (List<LimitUsage> sharedSet : sharedSets) {
-			float max = 0;
-			for (LimitUsage limitUsage : sharedSet)
-				if (max < limitUsage.usage)
-					max = limitUsage.usage;
-			sum += max;
-		}
-
-		return sum;
-	}
-
-	public static long allocateLimit(LimitResource l, LimitAllocationRequest req, String applicationId) {
-		if (req.allocateCount <= 0)
-			return 0;
-		long uu = l.used;
-
-		LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-		if (lai == null) {
-			lai = new LimitAllocationItem();
-			lai.resourceType = ResourceType.Limit;
-			lai.resourceKey = new ResourceKey();
-			lai.resourceKey.assetId = req.assetId;
-			lai.resourceKey.resourceName = req.resourceName;
-			lai.applicationId = applicationId;
-			lai.resourceSetId = req.resourceSetId;
-			lai.resourceUnionId = req.resourceUnionId;
-			lai.resourceShareGroupList = req.resourceShareGroupList;
-			lai.used = req.allocateCount;
-
-			if (l.allocationItems == null)
-				l.allocationItems = new ArrayList<AllocationItem>();
-			l.allocationItems.add(lai);
-		} else
-			lai.used = req.replace ? req.allocateCount : lai.used + req.allocateCount;
-
-		lai.allocationTime = new Date();
-
-		recalculate(l);
-
-		return l.used - uu;
-	}
-
-	public static void recalculate(LimitResource l) {
-		l.used = calculateLimitUsage(l, 0, null, null);
-	}
+    private static final Logger log = LoggerFactory.getLogger(LimitUtil.class);
+
+    public static boolean checkLimit(LimitResource l, LimitAllocationRequest req) {
+        if (req.checkCount <= 0)
+            return true;
+
+        long checkCount = req.checkCount;
+        long currentUsage = 0;
+        if (req.resourceSetId != null) {
+            LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
+            if (lai != null)
+                currentUsage = lai.used;
+        }
+        if (!req.replace)
+            checkCount += currentUsage;
+
+        long used = calculateLimitUsage(l, 0, null, null);
+        long wouldUse = calculateLimitUsage(l, checkCount, req.resourceUnionId, req.resourceShareGroupList);
+
+        // If usage is not increasing by this request, only check the limit if
+        // strictCheck is true.
+        if (wouldUse <= used && !req.strict)
+            return true;
+
+        return wouldUse <= req.checkLimit;
+    }
+
+    private static long calculateLimitUsage(
+            LimitResource l,
+            long checkCount,
+            String resourceUnionId,
+            Set<String> resourceShareGroupList) {
+        if ((l.allocationItems == null || l.allocationItems.isEmpty()) &&
+                (resourceUnionId == null || resourceUnionId.length() == 0))
+            return 0;
+
+        long t1 = System.currentTimeMillis();
+        boolean logit = false;
+        String rn = "Resource: " + l.resourceKey.resourceName + " - " + l.resourceKey.assetId;
+
+        // In order to best utilize the resource, we need to take not the sum of all allocation items, but
+        // instead the maximum usage that could happen at any moment of time (given not all allocation items are active
+        // at the same time), also taking into account possible resource sharing.
+        // Thus we need to find all combinations of allocation items that can be active at the same time (allocation
+        // items with the same first union cannot be active at the same time), compute the usage for each (again,
+        // taking into account resource sharing), and take the maximum.
+        //
+        // Example:
+        // Let's have the following allocation items:
+        // ai1: sdid1, vrf1 - usage 5
+        // ai2: sdid2, vrf1 - usage 10
+        // ai3: sdid3, vrf2 - usage 15
+        // ai4: sdid1, vrf3 - usage 20
+        // ai5: sdid3, vrf1 - usage 25
+        // The following combinations of active allocation items are possible:
+        // 1) ai1, ai2, ai3
+        // 2) ai1, ai2, ai5
+        // 3) ai2, ai3, ai4
+        // 4) ai2, ai3, ai5
+        // Here is how we calculate the usage for combination 1:
+        // ai1 and ai2 contain the same resource union vrf1, so they share the resource - we take the max of usage,
+        // so we have:
+        // max(5, 10) + 15 = 25
+        // Similarly, we calculate the usage of the other combinations:
+        // 2) max(5, 10, 25) = 25
+        // 3) 10 + 15 + 20 = 45
+        // 4) max(10, 25) + 15 = 40
+        // So, the result in this case is:
+        // max(25, 25, 45, 40) = 45
+        //
+        // We might have a problem with this approach, if we have a lot of combinations. Assuming we have at most 2
+        // allocation items with the same resource union (sdid), the number of combinations would be
+        // 2 ^ n
+        // where n is the number of allocation items that have the same resource union (sdid). That would be
+        // the number of change orders currently in progress.
+        //
+        // Here is one optimization that we can do:
+        // If we have allocation items that have all resource unions the same, we don't need to generate combinations
+        // with each of them, we can just take the one of them with the maximum usage, as it is clear that the others
+        // will not lead to a bigger usage.
+        // For example, if we had the following allocation items:
+        // ai1: sdid1, vrf1 - usage 10
+        // ai2: sdid1, vrf1 - usage 20
+        // We only need to take the combinations with ai2, as they will always lead to bigger usage than the remaining
+        // combinations with ai1.
+
+        // First, group the allocation items by the first resource union, using the LimitUsage structure
+        int regularChangeCount = 0;
+        Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<String, List<LimitUsage>>();
+        if (l.allocationItems != null)
+            for (AllocationItem ai : l.allocationItems) {
+                LimitAllocationItem lai = (LimitAllocationItem) ai;
+                boolean regularChange =
+                        addLimitUsage(limitUsageMap, lai.resourceUnionId, lai.resourceShareGroupList, lai.used);
+                if (regularChange)
+                    regularChangeCount++;
+            }
+        if (checkCount > 0 && resourceUnionId != null) {
+            boolean regularChange = addLimitUsage(limitUsageMap, resourceUnionId, resourceShareGroupList, checkCount);
+            if (regularChange)
+                regularChangeCount++;
+        }
+
+        // Generate all the combinations, containing one LimitUsage object for each firstResourceUnion
+        int significantChangeCount = 0;
+        List<List<LimitUsage>> allCombinations = new ArrayList<List<LimitUsage>>();
+        for (String firstResourceUnion : limitUsageMap.keySet()) {
+            List<LimitUsage> limitUsageList = limitUsageMap.get(firstResourceUnion);
+            if (limitUsageList.size() > 1)
+                significantChangeCount++;
+            if (allCombinations.isEmpty()) {
+                for (LimitUsage limitUsage : limitUsageList) {
+                    List<LimitUsage> newCombination = new ArrayList<LimitUsage>();
+                    newCombination.add(limitUsage);
+                    allCombinations.add(newCombination);
+                }
+            } else {
+                if (limitUsageList.size() == 1) {
+                    // No new combinations are generated - just add this one to all combinations we have until now
+                    for (List<LimitUsage> combination : allCombinations)
+                        combination.add(limitUsageList.get(0));
+                } else {
+                    // We have to duplicate each of the current combinations for each element of limitUsageList
+                    List<List<LimitUsage>> newAllCombinations = new ArrayList<List<LimitUsage>>();
+                    for (List<LimitUsage> combination : allCombinations)
+                        for (LimitUsage limitUsage : limitUsageList) {
+                            List<LimitUsage> newCombination = new ArrayList<LimitUsage>(combination);
+                            newCombination.add(limitUsage);
+                            newAllCombinations.add(newCombination);
+                        }
+                    allCombinations = newAllCombinations;
+                }
+            }
+        }
+
+        // Now, go through all combinations and calculate its usage, get the maximum
+        long maxUsage = 0;
+        for (List<LimitUsage> combination : allCombinations) {
+            long usage = calculateUsage(combination);
+            if (usage > maxUsage)
+                maxUsage = usage;
+        }
+
+        long t2 = System.currentTimeMillis();
+        if (logit) {
+            log.debug(rn + ": Calculating usage completed:");
+            log.debug(rn + ":     Regular changes: " + regularChangeCount);
+            log.debug(rn + ":     Significant changes: " + significantChangeCount);
+            log.debug(rn + ":     Combinations: " + allCombinations.size());
+            log.debug(rn + ":     Usage: " + maxUsage);
+            log.debug(rn + ":     Time: " + (t2 - t1));
+        }
+
+        return maxUsage;
+    }
+
+    private static boolean addLimitUsage(
+            Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap,
+            String resourceUnionId,
+            Set<String> resourceShareGroupList,
+            long used) {
+        List<LimitUsage> limitUsageList = limitUsageMap.get(resourceUnionId);
+        if (limitUsageList == null) {
+            limitUsageList = new ArrayList<LimitUsage>();
+            limitUsageMap.put(resourceUnionId, limitUsageList);
+        }
+        // See if we already have the same shareResourceUnionSet in the list. In such case just update the usage
+        // to the bigger value.
+        LimitUsage limitUsage = null;
+        for (LimitUsage limitUsage1 : limitUsageList) {
+            if ((limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty()) &&
+                    (resourceShareGroupList == null || resourceShareGroupList.isEmpty())) {
+                limitUsage = limitUsage1;
+                break;
+            }
+            if (limitUsage1.resourceShareGroupList != null &&
+                    limitUsage1.resourceShareGroupList.equals(resourceShareGroupList)) {
+                limitUsage = limitUsage1;
+                break;
+            }
+        }
+        if (limitUsage != null) {
+            if (limitUsage.usage < used)
+                limitUsage.usage = used;
+            return true;
+        }
+
+        limitUsage = new LimitUsage();
+        limitUsage.resourceUnion = resourceUnionId;
+        limitUsage.resourceShareGroupList = resourceShareGroupList;
+        limitUsage.usage = used;
+        limitUsageList.add(limitUsage);
+        return false;
+    }
+
+    private static class LimitUsage {
+
+        @SuppressWarnings("unused")
+        public String resourceUnion;
+        public Set<String> resourceShareGroupList;
+        public long usage;
+    }
+
+    private static boolean hasCommonSharedResource(LimitUsage limitUsage1, LimitUsage limitUsage2) {
+        if (limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty())
+            return false;
+        if (limitUsage2.resourceShareGroupList == null || limitUsage2.resourceShareGroupList.isEmpty())
+            return false;
+
+        for (String resourceUnion : limitUsage1.resourceShareGroupList)
+            if (limitUsage2.resourceShareGroupList.contains(resourceUnion))
+                return true;
+
+        return false;
+    }
+
+    private static long calculateUsage(List<LimitUsage> combination) {
+        // All LimitUsage objects that have a common value in their sharedResourceUnionSet reuse the resource, so
+        // split the combination in sets that have common value. Then the usage of each set will be the maximum of
+        // the usages of the LimitUsage objects in the set. The usage of the combination will be the sum of the usages
+        // of all sets.
+        List<List<LimitUsage>> sharedSets = new ArrayList<List<LimitUsage>>();
+        for (LimitUsage limitUsage : combination) {
+            // See if we can put limitUsage in any of the existing sets - is it has a common resource union with
+            // any of the LimitUsage objects in a set.
+            boolean found = false;
+            for (List<LimitUsage> sharedSet : sharedSets) {
+                for (LimitUsage limitUsage1 : sharedSet) {
+                    if (hasCommonSharedResource(limitUsage, limitUsage1)) {
+                        found = true;
+                        break;
+                    }
+                }
+                if (found) {
+                    sharedSet.add(limitUsage);
+                    break;
+                }
+            }
+            if (!found) {
+                // Start a new set
+                List<LimitUsage> newSharedSet = new ArrayList<LimitUsage>();
+                newSharedSet.add(limitUsage);
+                sharedSets.add(newSharedSet);
+            }
+        }
+
+        long sum = 0;
+        for (List<LimitUsage> sharedSet : sharedSets) {
+            float max = 0;
+            for (LimitUsage limitUsage : sharedSet)
+                if (max < limitUsage.usage)
+                    max = limitUsage.usage;
+            sum += max;
+        }
+
+        return sum;
+    }
+
+    public static long allocateLimit(LimitResource l, LimitAllocationRequest req, String applicationId) {
+        if (req.allocateCount <= 0)
+            return 0;
+        long uu = l.used;
+
+        LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
+        if (lai == null) {
+            lai = new LimitAllocationItem();
+            lai.resourceType = ResourceType.Limit;
+            lai.resourceKey = new ResourceKey();
+            lai.resourceKey.assetId = req.assetId;
+            lai.resourceKey.resourceName = req.resourceName;
+            lai.applicationId = applicationId;
+            lai.resourceSetId = req.resourceSetId;
+            lai.resourceUnionId = req.resourceUnionId;
+            lai.resourceShareGroupList = req.resourceShareGroupList;
+            lai.used = req.allocateCount;
+
+            if (l.allocationItems == null)
+                l.allocationItems = new ArrayList<AllocationItem>();
+            l.allocationItems.add(lai);
+        } else
+            lai.used = req.replace ? req.allocateCount : lai.used + req.allocateCount;
+
+        lai.allocationTime = new Date();
+
+        recalculate(l);
+
+        return l.used - uu;
+    }
+
+    public static void recalculate(LimitResource l) {
+        l.used = calculateLimitUsage(l, 0, null, null);
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
index af828314e..27d0e55b3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -35,76 +35,76 @@ import org.openecomp.sdnc.rm.data.ResourceType;
 
 public class RangeUtil {
 
-	public static void recalculate(RangeResource r) {
-		r.used = new TreeSet<Integer>();
-		if (r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems) {
-				RangeAllocationItem rai = (RangeAllocationItem) ai;
-				if (rai.used != null)
-					r.used.addAll(rai.used);
-			}
-	}
+    public static void recalculate(RangeResource r) {
+        r.used = new TreeSet<Integer>();
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems) {
+                RangeAllocationItem rai = (RangeAllocationItem) ai;
+                if (rai.used != null)
+                    r.used.addAll(rai.used);
+            }
+    }
 
-	public static boolean checkRange(RangeResource r, RangeAllocationRequest req, int num) {
-		if (num < req.checkMin || num > req.checkMax)
-			return false;
+    public static boolean checkRange(RangeResource r, RangeAllocationRequest req, int num) {
+        if (num < req.checkMin || num > req.checkMax)
+            return false;
 
-		if (r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems) {
-				RangeAllocationItem rai = (RangeAllocationItem) ai;
-				if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num))
-					return false;
-			}
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems) {
+                RangeAllocationItem rai = (RangeAllocationItem) ai;
+                if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num))
+                    return false;
+            }
 
-		return true;
-	}
+        return true;
+    }
 
-	private static boolean eq(Object o1, Object o2) {
-		return o1 == null ? o2 == null : o1.equals(o2);
-	}
+    private static boolean eq(Object o1, Object o2) {
+        return o1 == null ? o2 == null : o1.equals(o2);
+    }
 
-	public static SortedSet<Integer> getUsed(RangeResource r, String resourceUnionId) {
-		SortedSet<Integer> used = new TreeSet<Integer>();
-		if (r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems) {
-				RangeAllocationItem rai = (RangeAllocationItem) ai;
-				if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null)
-					used.addAll(rai.used);
-			}
-		return used;
-	}
+    public static SortedSet<Integer> getUsed(RangeResource r, String resourceUnionId) {
+        SortedSet<Integer> used = new TreeSet<Integer>();
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems) {
+                RangeAllocationItem rai = (RangeAllocationItem) ai;
+                if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null)
+                    used.addAll(rai.used);
+            }
+        return used;
+    }
 
-	public static void allocateRange(
-	        RangeResource rr,
-	        SortedSet<Integer> requestedNumbers,
-	        RangeAllocationRequest req,
-	        String applicationId) {
-		if (!req.allocate)
-			return;
+    public static void allocateRange(
+            RangeResource rr,
+            SortedSet<Integer> requestedNumbers,
+            RangeAllocationRequest req,
+            String applicationId) {
+        if (!req.allocate)
+            return;
 
-		RangeAllocationItem rai = (RangeAllocationItem) ResourceUtil.getAllocationItem(rr, req.resourceSetId);
-		if (rai == null) {
-			rai = new RangeAllocationItem();
-			rai.resourceType = ResourceType.Range;
-			rai.resourceKey = new ResourceKey();
-			rai.resourceKey.assetId = req.assetId;
-			rai.resourceKey.resourceName = req.resourceName;
-			rai.applicationId = applicationId;
-			rai.resourceSetId = req.resourceSetId;
-			rai.resourceUnionId = req.resourceUnionId;
-			rai.resourceShareGroupList = req.resourceShareGroupList;
-			rai.used = requestedNumbers;
+        RangeAllocationItem rai = (RangeAllocationItem) ResourceUtil.getAllocationItem(rr, req.resourceSetId);
+        if (rai == null) {
+            rai = new RangeAllocationItem();
+            rai.resourceType = ResourceType.Range;
+            rai.resourceKey = new ResourceKey();
+            rai.resourceKey.assetId = req.assetId;
+            rai.resourceKey.resourceName = req.resourceName;
+            rai.applicationId = applicationId;
+            rai.resourceSetId = req.resourceSetId;
+            rai.resourceUnionId = req.resourceUnionId;
+            rai.resourceShareGroupList = req.resourceShareGroupList;
+            rai.used = requestedNumbers;
 
-			if (rr.allocationItems == null)
-				rr.allocationItems = new ArrayList<AllocationItem>();
-			rr.allocationItems.add(rai);
-		} else if (req.replace)
-			rai.used = requestedNumbers;
-		else
-			rai.used.addAll(requestedNumbers);
+            if (rr.allocationItems == null)
+                rr.allocationItems = new ArrayList<AllocationItem>();
+            rr.allocationItems.add(rai);
+        } else if (req.replace)
+            rai.used = requestedNumbers;
+        else
+            rai.used.addAll(requestedNumbers);
 
-		rai.allocationTime = new Date();
+        rai.allocationTime = new Date();
 
-		recalculate(rr);
-	}
+        recalculate(rr);
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
index 7afe7b5db..0253204c7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,21 +29,21 @@ import org.openecomp.sdnc.rm.data.ResourceType;
 
 public class ResourceUtil {
 
-	public static AllocationItem getAllocationItem(Resource r, String resourceSetId) {
-		if (r.allocationItems != null)
-			for (AllocationItem ai : r.allocationItems)
-				if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId))
-					return ai;
-		return null;
-	}
+    public static AllocationItem getAllocationItem(Resource r, String resourceSetId) {
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId))
+                    return ai;
+        return null;
+    }
 
-	public static void recalculate(Resource r) {
-		if (r == null)
-			return;
+    public static void recalculate(Resource r) {
+        if (r == null)
+            return;
 
-		if (r.resourceType == ResourceType.Limit)
-			LimitUtil.recalculate((LimitResource) r);
-		else if (r.resourceType == ResourceType.Label)
-			LabelUtil.recalculate((LabelResource) r);
-	}
+        if (r.resourceType == ResourceType.Limit)
+            LimitUtil.recalculate((LimitResource) r);
+        else if (r.resourceType == ResourceType.Label)
+            LabelUtil.recalculate((LabelResource) r);
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
index 8918ce0cb..12ba15867 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,90 +33,90 @@ import org.slf4j.LoggerFactory;
 
 public class CachedDataSourceWrap implements DataSource {
 
-	private static final Logger log = LoggerFactory.getLogger(CachedDataSourceWrap.class);
-
-	private ThreadLocal<ConnectionWrap> con = new ThreadLocal<>();
-
-	private DataSource dataSource;
-
-	@Override
-	public PrintWriter getLogWriter() throws SQLException {
-		return dataSource.getLogWriter();
-	}
-
-	@Override
-	public void setLogWriter(PrintWriter out) throws SQLException {
-		dataSource.setLogWriter(out);
-	}
-
-	@Override
-	public void setLoginTimeout(int seconds) throws SQLException {
-		dataSource.setLoginTimeout(seconds);
-	}
-
-	@Override
-	public int getLoginTimeout() throws SQLException {
-		return dataSource.getLoginTimeout();
-	}
-
-	@Override
-	public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
-		return dataSource.getParentLogger();
-	}
-
-	@Override
-	public <T> T unwrap(Class<T> iface) throws SQLException {
-		return dataSource.unwrap(iface);
-	}
-
-	@Override
-	public boolean isWrapperFor(Class<?> iface) throws SQLException {
-		return dataSource.isWrapperFor(iface);
-	}
-
-	@Override
-	public Connection getConnection() throws SQLException {
-		if (con.get() == null) {
-			Connection c = dataSource.getConnection();
-			ConnectionWrap cc = new ConnectionWrap(c);
-			con.set(cc);
-
-			log.info("Got new DB connection: " + c);
-		} else
-			log.info("Using thread DB connection: " + con.get().getCon());
-
-		return con.get();
-	}
-
-	@Override
-	public Connection getConnection(String username, String password) throws SQLException {
-		if (con.get() == null) {
-			Connection c = dataSource.getConnection(username, password);
-			ConnectionWrap cc = new ConnectionWrap(c);
-			con.set(cc);
-
-			log.info("Got new DB connection: " + c);
-		} else
-			log.info("Using thread DB connection: " + con.get().getCon());
-
-		return con.get();
-	}
-
-	public void releaseConnection() {
-		if (con.get() != null) {
-			try {
-				con.get().realClose();
-
-				log.info("DB Connection released: " + con.get().getCon());
-			} catch (SQLException e) {
-				log.warn("Failed to release DB connection", e);
-			} finally {
-				con.remove();
-			}
-		}
-	}
-
-	public void setDataSource(DataSource dataSource) {
-		this.dataSource = dataSource;
-	}
+    private static final Logger log = LoggerFactory.getLogger(CachedDataSourceWrap.class);
+
+    private ThreadLocal<ConnectionWrap> con = new ThreadLocal<>();
+
+    private DataSource dataSource;
+
+    @Override
+    public PrintWriter getLogWriter() throws SQLException {
+        return dataSource.getLogWriter();
+    }
+
+    @Override
+    public void setLogWriter(PrintWriter out) throws SQLException {
+        dataSource.setLogWriter(out);
+    }
+
+    @Override
+    public void setLoginTimeout(int seconds) throws SQLException {
+        dataSource.setLoginTimeout(seconds);
+    }
+
+    @Override
+    public int getLoginTimeout() throws SQLException {
+        return dataSource.getLoginTimeout();
+    }
+
+    @Override
+    public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
+        return dataSource.getParentLogger();
+    }
+
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        return dataSource.unwrap(iface);
+    }
+
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        return dataSource.isWrapperFor(iface);
+    }
+
+    @Override
+    public Connection getConnection() throws SQLException {
+        if (con.get() == null) {
+            Connection c = dataSource.getConnection();
+            ConnectionWrap cc = new ConnectionWrap(c);
+            con.set(cc);
+
+            log.info("Got new DB connection: " + c);
+        } else
+            log.info("Using thread DB connection: " + con.get().getCon());
+
+        return con.get();
+    }
+
+    @Override
+    public Connection getConnection(String username, String password) throws SQLException {
+        if (con.get() == null) {
+            Connection c = dataSource.getConnection(username, password);
+            ConnectionWrap cc = new ConnectionWrap(c);
+            con.set(cc);
+
+            log.info("Got new DB connection: " + c);
+        } else
+            log.info("Using thread DB connection: " + con.get().getCon());
+
+        return con.get();
+    }
+
+    public void releaseConnection() {
+        if (con.get() != null) {
+            try {
+                con.get().realClose();
+
+                log.info("DB Connection released: " + con.get().getCon());
+            } catch (SQLException e) {
+                log.warn("Failed to release DB connection", e);
+            } finally {
+                con.remove();
+            }
+        }
+    }
+
+    public void setDataSource(DataSource dataSource) {
+        this.dataSource = dataSource;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
index 1927fdb9c..11560498b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -42,297 +42,297 @@ import java.util.concurrent.Executor;
 
 public class ConnectionWrap implements Connection {
 
-	private Connection cc;
-
-	public ConnectionWrap(Connection cc) {
-		super();
-		this.cc = cc;
-	}
-
-	public Connection getCon() {
-		return cc;
-	}
-
-	public void realClose() throws SQLException {
-		cc.close();
-	}
-
-	@Override
-	public <T> T unwrap(Class<T> iface) throws SQLException {
-		return cc.unwrap(iface);
-	}
-
-	@Override
-	public boolean isWrapperFor(Class<?> iface) throws SQLException {
-		return cc.isWrapperFor(iface);
-	}
-
-	@Override
-	public Statement createStatement() throws SQLException {
-		return cc.createStatement();
-	}
-
-	@Override
-	public PreparedStatement prepareStatement(String sql) throws SQLException {
-		return cc.prepareStatement(sql);
-	}
-
-	@Override
-	public CallableStatement prepareCall(String sql) throws SQLException {
-		return cc.prepareCall(sql);
-	}
-
-	@Override
-	public String nativeSQL(String sql) throws SQLException {
-		return cc.nativeSQL(sql);
-	}
-
-	@Override
-	public void setAutoCommit(boolean autoCommit) throws SQLException {
-		cc.setAutoCommit(autoCommit);
-	}
-
-	@Override
-	public boolean getAutoCommit() throws SQLException {
-		return cc.getAutoCommit();
-	}
-
-	@Override
-	public void commit() throws SQLException {
-		cc.commit();
-	}
-
-	@Override
-	public void rollback() throws SQLException {
-		cc.rollback();
-	}
-
-	@Override
-	public void close() throws SQLException {
-	}
-
-	@Override
-	public boolean isClosed() throws SQLException {
-		return cc.isClosed();
-	}
-
-	@Override
-	public DatabaseMetaData getMetaData() throws SQLException {
-		return cc.getMetaData();
-	}
-
-	@Override
-	public void setReadOnly(boolean readOnly) throws SQLException {
-		cc.setReadOnly(readOnly);
-	}
-
-	@Override
-	public boolean isReadOnly() throws SQLException {
-		return cc.isReadOnly();
-	}
-
-	@Override
-	public void setCatalog(String catalog) throws SQLException {
-		cc.setCatalog(catalog);
-	}
-
-	@Override
-	public String getCatalog() throws SQLException {
-		return cc.getCatalog();
-	}
-
-	@Override
-	public void setTransactionIsolation(int level) throws SQLException {
-		cc.setTransactionIsolation(level);
-	}
-
-	@Override
-	public int getTransactionIsolation() throws SQLException {
-		return cc.getTransactionIsolation();
-	}
-
-	@Override
-	public SQLWarning getWarnings() throws SQLException {
-		return cc.getWarnings();
-	}
-
-	@Override
-	public void clearWarnings() throws SQLException {
-		cc.clearWarnings();
-	}
-
-	@Override
-	public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-		return cc.createStatement(resultSetType, resultSetConcurrency);
-	}
-
-	@Override
-	public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
-	        throws SQLException {
-		return cc.prepareStatement(sql, resultSetType, resultSetConcurrency);
-	}
-
-	@Override
-	public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
-		return cc.prepareCall(sql, resultSetType, resultSetConcurrency);
-	}
-
-	@Override
-	public Map<String, Class<?>> getTypeMap() throws SQLException {
-		return cc.getTypeMap();
-	}
-
-	@Override
-	public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-		cc.setTypeMap(map);
-	}
-
-	@Override
-	public void setHoldability(int holdability) throws SQLException {
-		cc.setHoldability(holdability);
-	}
-
-	@Override
-	public int getHoldability() throws SQLException {
-		return cc.getHoldability();
-	}
-
-	@Override
-	public Savepoint setSavepoint() throws SQLException {
-		return cc.setSavepoint();
-	}
-
-	@Override
-	public Savepoint setSavepoint(String name) throws SQLException {
-		return cc.setSavepoint(name);
-	}
-
-	@Override
-	public void rollback(Savepoint savepoint) throws SQLException {
-		cc.rollback(savepoint);
-	}
-
-	@Override
-	public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-		cc.releaseSavepoint(savepoint);
-	}
-
-	@Override
-	public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
-	        throws SQLException {
-		return cc.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
-	}
-
-	@Override
-	public PreparedStatement prepareStatement(
-	        String sql,
-	        int resultSetType,
-	        int resultSetConcurrency,
-	        int resultSetHoldability) throws SQLException {
-		return cc.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-	}
-
-	@Override
-	public CallableStatement prepareCall(
-	        String sql,
-	        int resultSetType,
-	        int resultSetConcurrency,
-	        int resultSetHoldability) throws SQLException {
-		return cc.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-	}
-
-	@Override
-	public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-		return cc.prepareStatement(sql, autoGeneratedKeys);
-	}
-
-	@Override
-	public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-		return cc.prepareStatement(sql, columnIndexes);
-	}
-
-	@Override
-	public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-		return cc.prepareStatement(sql, columnNames);
-	}
-
-	@Override
-	public Clob createClob() throws SQLException {
-		return cc.createClob();
-	}
-
-	@Override
-	public Blob createBlob() throws SQLException {
-		return cc.createBlob();
-	}
-
-	@Override
-	public NClob createNClob() throws SQLException {
-		return cc.createNClob();
-	}
-
-	@Override
-	public SQLXML createSQLXML() throws SQLException {
-		return cc.createSQLXML();
-	}
-
-	@Override
-	public boolean isValid(int timeout) throws SQLException {
-		return cc.isValid(timeout);
-	}
-
-	@Override
-	public void setClientInfo(String name, String value) throws SQLClientInfoException {
-		cc.setClientInfo(name, value);
-	}
-
-	@Override
-	public void setClientInfo(Properties properties) throws SQLClientInfoException {
-		cc.setClientInfo(properties);
-	}
-
-	@Override
-	public String getClientInfo(String name) throws SQLException {
-		return cc.getClientInfo(name);
-	}
-
-	@Override
-	public Properties getClientInfo() throws SQLException {
-		return cc.getClientInfo();
-	}
-
-	@Override
-	public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-		return cc.createArrayOf(typeName, elements);
-	}
-
-	@Override
-	public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-		return cc.createStruct(typeName, attributes);
-	}
-
-	@Override
-	public void setSchema(String schema) throws SQLException {
-		cc.setSchema(schema);
-	}
-
-	@Override
-	public String getSchema() throws SQLException {
-		return cc.getSchema();
-	}
-
-	@Override
-	public void abort(Executor executor) throws SQLException {
-		cc.abort(executor);
-	}
-
-	@Override
-	public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-		cc.setNetworkTimeout(executor, milliseconds);
-	}
-
-	@Override
-	public int getNetworkTimeout() throws SQLException {
-		return cc.getNetworkTimeout();
-	}
+    private Connection cc;
+
+    public ConnectionWrap(Connection cc) {
+        super();
+        this.cc = cc;
+    }
+
+    public Connection getCon() {
+        return cc;
+    }
+
+    public void realClose() throws SQLException {
+        cc.close();
+    }
+
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        return cc.unwrap(iface);
+    }
+
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        return cc.isWrapperFor(iface);
+    }
+
+    @Override
+    public Statement createStatement() throws SQLException {
+        return cc.createStatement();
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql) throws SQLException {
+        return cc.prepareStatement(sql);
+    }
+
+    @Override
+    public CallableStatement prepareCall(String sql) throws SQLException {
+        return cc.prepareCall(sql);
+    }
+
+    @Override
+    public String nativeSQL(String sql) throws SQLException {
+        return cc.nativeSQL(sql);
+    }
+
+    @Override
+    public void setAutoCommit(boolean autoCommit) throws SQLException {
+        cc.setAutoCommit(autoCommit);
+    }
+
+    @Override
+    public boolean getAutoCommit() throws SQLException {
+        return cc.getAutoCommit();
+    }
+
+    @Override
+    public void commit() throws SQLException {
+        cc.commit();
+    }
+
+    @Override
+    public void rollback() throws SQLException {
+        cc.rollback();
+    }
+
+    @Override
+    public void close() throws SQLException {
+    }
+
+    @Override
+    public boolean isClosed() throws SQLException {
+        return cc.isClosed();
+    }
+
+    @Override
+    public DatabaseMetaData getMetaData() throws SQLException {
+        return cc.getMetaData();
+    }
+
+    @Override
+    public void setReadOnly(boolean readOnly) throws SQLException {
+        cc.setReadOnly(readOnly);
+    }
+
+    @Override
+    public boolean isReadOnly() throws SQLException {
+        return cc.isReadOnly();
+    }
+
+    @Override
+    public void setCatalog(String catalog) throws SQLException {
+        cc.setCatalog(catalog);
+    }
+
+    @Override
+    public String getCatalog() throws SQLException {
+        return cc.getCatalog();
+    }
+
+    @Override
+    public void setTransactionIsolation(int level) throws SQLException {
+        cc.setTransactionIsolation(level);
+    }
+
+    @Override
+    public int getTransactionIsolation() throws SQLException {
+        return cc.getTransactionIsolation();
+    }
+
+    @Override
+    public SQLWarning getWarnings() throws SQLException {
+        return cc.getWarnings();
+    }
+
+    @Override
+    public void clearWarnings() throws SQLException {
+        cc.clearWarnings();
+    }
+
+    @Override
+    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
+        return cc.createStatement(resultSetType, resultSetConcurrency);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
+            throws SQLException {
+        return cc.prepareStatement(sql, resultSetType, resultSetConcurrency);
+    }
+
+    @Override
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        return cc.prepareCall(sql, resultSetType, resultSetConcurrency);
+    }
+
+    @Override
+    public Map<String, Class<?>> getTypeMap() throws SQLException {
+        return cc.getTypeMap();
+    }
+
+    @Override
+    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
+        cc.setTypeMap(map);
+    }
+
+    @Override
+    public void setHoldability(int holdability) throws SQLException {
+        cc.setHoldability(holdability);
+    }
+
+    @Override
+    public int getHoldability() throws SQLException {
+        return cc.getHoldability();
+    }
+
+    @Override
+    public Savepoint setSavepoint() throws SQLException {
+        return cc.setSavepoint();
+    }
+
+    @Override
+    public Savepoint setSavepoint(String name) throws SQLException {
+        return cc.setSavepoint(name);
+    }
+
+    @Override
+    public void rollback(Savepoint savepoint) throws SQLException {
+        cc.rollback(savepoint);
+    }
+
+    @Override
+    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+        cc.releaseSavepoint(savepoint);
+    }
+
+    @Override
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
+            throws SQLException {
+        return cc.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(
+            String sql,
+            int resultSetType,
+            int resultSetConcurrency,
+            int resultSetHoldability) throws SQLException {
+        return cc.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+    }
+
+    @Override
+    public CallableStatement prepareCall(
+            String sql,
+            int resultSetType,
+            int resultSetConcurrency,
+            int resultSetHoldability) throws SQLException {
+        return cc.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
+        return cc.prepareStatement(sql, autoGeneratedKeys);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
+        return cc.prepareStatement(sql, columnIndexes);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
+        return cc.prepareStatement(sql, columnNames);
+    }
+
+    @Override
+    public Clob createClob() throws SQLException {
+        return cc.createClob();
+    }
+
+    @Override
+    public Blob createBlob() throws SQLException {
+        return cc.createBlob();
+    }
+
+    @Override
+    public NClob createNClob() throws SQLException {
+        return cc.createNClob();
+    }
+
+    @Override
+    public SQLXML createSQLXML() throws SQLException {
+        return cc.createSQLXML();
+    }
+
+    @Override
+    public boolean isValid(int timeout) throws SQLException {
+        return cc.isValid(timeout);
+    }
+
+    @Override
+    public void setClientInfo(String name, String value) throws SQLClientInfoException {
+        cc.setClientInfo(name, value);
+    }
+
+    @Override
+    public void setClientInfo(Properties properties) throws SQLClientInfoException {
+        cc.setClientInfo(properties);
+    }
+
+    @Override
+    public String getClientInfo(String name) throws SQLException {
+        return cc.getClientInfo(name);
+    }
+
+    @Override
+    public Properties getClientInfo() throws SQLException {
+        return cc.getClientInfo();
+    }
+
+    @Override
+    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
+        return cc.createArrayOf(typeName, elements);
+    }
+
+    @Override
+    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
+        return cc.createStruct(typeName, attributes);
+    }
+
+    @Override
+    public void setSchema(String schema) throws SQLException {
+        cc.setSchema(schema);
+    }
+
+    @Override
+    public String getSchema() throws SQLException {
+        return cc.getSchema();
+    }
+
+    @Override
+    public void abort(Executor executor) throws SQLException {
+        cc.abort(executor);
+    }
+
+    @Override
+    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
+        cc.setNetworkTimeout(executor, milliseconds);
+    }
+
+    @Override
+    public int getNetworkTimeout() throws SQLException {
+        return cc.getNetworkTimeout();
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
index d729e127d..b01b31f9f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,66 +33,66 @@ import org.slf4j.LoggerFactory;
 
 public class DataSourceWrap implements DataSource {
 
-	private static final Logger log = LoggerFactory.getLogger(DataSourceWrap.class);
+    private static final Logger log = LoggerFactory.getLogger(DataSourceWrap.class);
 
-	private DataSource dataSource;
+    private DataSource dataSource;
 
-	@Override
-	public PrintWriter getLogWriter() throws SQLException {
-		return dataSource.getLogWriter();
-	}
+    @Override
+    public PrintWriter getLogWriter() throws SQLException {
+        return dataSource.getLogWriter();
+    }
 
-	@Override
-	public void setLogWriter(PrintWriter out) throws SQLException {
-		dataSource.setLogWriter(out);
-	}
+    @Override
+    public void setLogWriter(PrintWriter out) throws SQLException {
+        dataSource.setLogWriter(out);
+    }
 
-	@Override
-	public void setLoginTimeout(int seconds) throws SQLException {
-		dataSource.setLoginTimeout(seconds);
-	}
+    @Override
+    public void setLoginTimeout(int seconds) throws SQLException {
+        dataSource.setLoginTimeout(seconds);
+    }
 
-	@Override
-	public int getLoginTimeout() throws SQLException {
-		return dataSource.getLoginTimeout();
-	}
+    @Override
+    public int getLoginTimeout() throws SQLException {
+        return dataSource.getLoginTimeout();
+    }
 
-	@Override
-	public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
-		return dataSource.getParentLogger();
-	}
+    @Override
+    public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
+        return dataSource.getParentLogger();
+    }
 
-	@Override
-	public <T> T unwrap(Class<T> iface) throws SQLException {
-		return dataSource.unwrap(iface);
-	}
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        return dataSource.unwrap(iface);
+    }
 
-	@Override
-	public boolean isWrapperFor(Class<?> iface) throws SQLException {
-		return dataSource.isWrapperFor(iface);
-	}
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        return dataSource.isWrapperFor(iface);
+    }
 
-	@Override
-	public Connection getConnection() throws SQLException {
-		Connection c = dataSource.getConnection();
+    @Override
+    public Connection getConnection() throws SQLException {
+        Connection c = dataSource.getConnection();
 
-		log.debug("getConnection: " + c.getClass().getName());
+        log.debug("getConnection: " + c.getClass().getName());
 
-		c.setAutoCommit(true);
-		return c;
-	}
+        c.setAutoCommit(true);
+        return c;
+    }
 
-	@Override
-	public Connection getConnection(String username, String password) throws SQLException {
-		Connection c = dataSource.getConnection(username, password);
+    @Override
+    public Connection getConnection(String username, String password) throws SQLException {
+        Connection c = dataSource.getConnection(username, password);
 
-		log.debug("getConnection: " + c.getClass().getName());
+        log.debug("getConnection: " + c.getClass().getName());
 
-		c.setAutoCommit(true);
-		return c;
-	}
+        c.setAutoCommit(true);
+        return c;
+    }
 
-	public void setDataSource(DataSource dataSource) {
-		this.dataSource = dataSource;
-	}
+    public void setDataSource(DataSource dataSource) {
+        this.dataSource = dataSource;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
index ff15d770b..345a6263c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,183 +25,183 @@ import java.util.Map;
 
 public class ExpressionEvaluator {
 
-	public static long evalLong(String expr, Map<String, Object> vars) {
-		return (long) evalFloat(expr, vars);
-	}
-
-	public static float evalFloat(String expr, Map<String, Object> vars) {
-		expr = expr.trim();
-		int sl = expr.length();
-		if (sl == 0)
-			throw new IllegalArgumentException("Cannot interpret empty string.");
-
-		// Remove parentheses if any
-		if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
-			return evalFloat(expr.substring(1, sl - 1), vars);
-
-		// Look for operators in the order of least priority
-		String[] sss = findOperator(expr, "-", true);
-		if (sss != null)
-			return evalFloat(sss[0], vars) - evalFloat(sss[1], vars);
-
-		sss = findOperator(expr, "+", true);
-		if (sss != null)
-			return evalFloat(sss[0], vars) + evalFloat(sss[1], vars);
-
-		sss = findOperator(expr, "/", true);
-		if (sss != null)
-			return evalFloat(sss[0], vars) / evalFloat(sss[1], vars);
-
-		sss = findOperator(expr, "*", true);
-		if (sss != null)
-			return evalFloat(sss[0], vars) * evalFloat(sss[1], vars);
-
-		// Check if expr is a number
-		try {
-			return Float.valueOf(expr);
-		} catch (Exception e) {
-		}
-
-		// Must be a variable
-		Object v = vars.get(expr);
-		if (v != null) {
-			if (v instanceof Float)
-				return (Float) v;
-			if (v instanceof Long)
-				return (Long) v;
-			if (v instanceof Integer)
-				return (Integer) v;
-		}
-		return 0;
-	}
-
-	public static boolean evalBoolean(String expr, Map<String, Object> vars) {
-		expr = expr.trim();
-		int sl = expr.length();
-		if (sl == 0)
-			throw new IllegalArgumentException("Cannot interpret empty string.");
-
-		if (expr.equalsIgnoreCase("true"))
-			return true;
-
-		if (expr.equalsIgnoreCase("false"))
-			return false;
-
-		// Remove parentheses if any
-		if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
-			return evalBoolean(expr.substring(1, sl - 1), vars);
-
-		// Look for operators in the order of least priority
-		String[] sss = findOperator(expr, "or", true);
-		if (sss != null)
-			return evalBoolean(sss[0], vars) || evalBoolean(sss[1], vars);
-
-		sss = findOperator(expr, "and", true);
-		if (sss != null)
-			return evalBoolean(sss[0], vars) && evalBoolean(sss[1], vars);
-
-		sss = findOperator(expr, "not", true);
-		if (sss != null)
-			return !evalBoolean(sss[1], vars);
-
-		sss = findOperator(expr, "!=", false);
-		if (sss == null)
-			sss = findOperator(expr, "<>", false);
-		if (sss != null)
-			return evalLong(sss[0], vars) != evalLong(sss[1], vars);
-
-		sss = findOperator(expr, "==", false);
-		if (sss == null)
-			sss = findOperator(expr, "=", false);
-		if (sss != null)
-			return evalLong(sss[0], vars) == evalLong(sss[1], vars);
-
-		sss = findOperator(expr, ">=", false);
-		if (sss != null)
-			return evalLong(sss[0], vars) >= evalLong(sss[1], vars);
-
-		sss = findOperator(expr, ">", false);
-		if (sss != null)
-			return evalLong(sss[0], vars) > evalLong(sss[1], vars);
-
-		sss = findOperator(expr, "<=", false);
-		if (sss != null)
-			return evalLong(sss[0], vars) <= evalLong(sss[1], vars);
-
-		sss = findOperator(expr, "<", false);
-		if (sss != null)
-			return evalLong(sss[0], vars) < evalLong(sss[1], vars);
-
-		throw new IllegalArgumentException("Cannot interpret '" + expr + "': Invalid expression.");
-	}
-
-	private static String[] findOperator(String s, String op, boolean delimiterRequired) {
-		int opl = op.length();
-		int sl = s.length();
-		String delimiters = " \0\t\r\n()";
-		int pcount = 0, qcount = 0;
-		for (int i = 0; i < sl; i++) {
-			char c = s.charAt(i);
-			if (c == '(' && qcount == 0)
-				pcount++;
-			else if (c == ')' && qcount == 0) {
-				pcount--;
-				if (pcount < 0)
-					throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
-			} else if (c == '\'')
-				qcount = (qcount + 1) % 2;
-			else if (i <= sl - opl && pcount == 0 && qcount == 0) {
-				String ss = s.substring(i, i + opl);
-				if (ss.equalsIgnoreCase(op)) {
-					boolean found = true;
-					if (delimiterRequired) {
-						// Check for delimiter before and after to make sure it is not part of another word
-						char chbefore = '\0';
-						if (i > 0)
-							chbefore = s.charAt(i - 1);
-						char chafter = '\0';
-						if (i < sl - opl)
-							chafter = s.charAt(i + opl);
-						found = delimiters.indexOf(chbefore) >= 0 && delimiters.indexOf(chafter) >= 0;
-					}
-					if (found) {
-						// We've found the operator, split the string
-						String[] sss = new String[2];
-						sss[0] = s.substring(0, i);
-						sss[1] = s.substring(i + opl);
-						return sss;
-					}
-				}
-			}
-		}
-		if (pcount > 0)
-			throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
-		if (qcount > 0)
-			throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
-		return null;
-	}
-
-	private static Object parseObject(String s) {
-		s = s.trim();
-		int sl = s.length();
-		if (sl == 0)
-			throw new IllegalArgumentException("Cannot interpret empty string.");
-		if (s.equalsIgnoreCase("null"))
-			return null;
-		if (s.charAt(0) == '\'') {
-			if (sl < 2 || s.charAt(sl - 1) != '\'')
-				throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
-			return s.substring(1, sl - 1);
-		}
-		// Not in quotes - must be a number
-		try {
-			return Long.valueOf(s);
-		} catch (Exception e) {
-		}
-		try {
-			return Double.valueOf(s);
-		} catch (Exception e) {
-			throw new IllegalArgumentException("Cannot interpret '" + s + "': Invalid number.");
-		}
-	}
+    public static long evalLong(String expr, Map<String, Object> vars) {
+        return (long) evalFloat(expr, vars);
+    }
+
+    public static float evalFloat(String expr, Map<String, Object> vars) {
+        expr = expr.trim();
+        int sl = expr.length();
+        if (sl == 0)
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+
+        // Remove parentheses if any
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
+            return evalFloat(expr.substring(1, sl - 1), vars);
+
+        // Look for operators in the order of least priority
+        String[] sss = findOperator(expr, "-", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) - evalFloat(sss[1], vars);
+
+        sss = findOperator(expr, "+", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) + evalFloat(sss[1], vars);
+
+        sss = findOperator(expr, "/", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) / evalFloat(sss[1], vars);
+
+        sss = findOperator(expr, "*", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) * evalFloat(sss[1], vars);
+
+        // Check if expr is a number
+        try {
+            return Float.valueOf(expr);
+        } catch (Exception e) {
+        }
+
+        // Must be a variable
+        Object v = vars.get(expr);
+        if (v != null) {
+            if (v instanceof Float)
+                return (Float) v;
+            if (v instanceof Long)
+                return (Long) v;
+            if (v instanceof Integer)
+                return (Integer) v;
+        }
+        return 0;
+    }
+
+    public static boolean evalBoolean(String expr, Map<String, Object> vars) {
+        expr = expr.trim();
+        int sl = expr.length();
+        if (sl == 0)
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+
+        if (expr.equalsIgnoreCase("true"))
+            return true;
+
+        if (expr.equalsIgnoreCase("false"))
+            return false;
+
+        // Remove parentheses if any
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
+            return evalBoolean(expr.substring(1, sl - 1), vars);
+
+        // Look for operators in the order of least priority
+        String[] sss = findOperator(expr, "or", true);
+        if (sss != null)
+            return evalBoolean(sss[0], vars) || evalBoolean(sss[1], vars);
+
+        sss = findOperator(expr, "and", true);
+        if (sss != null)
+            return evalBoolean(sss[0], vars) && evalBoolean(sss[1], vars);
+
+        sss = findOperator(expr, "not", true);
+        if (sss != null)
+            return !evalBoolean(sss[1], vars);
+
+        sss = findOperator(expr, "!=", false);
+        if (sss == null)
+            sss = findOperator(expr, "<>", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) != evalLong(sss[1], vars);
+
+        sss = findOperator(expr, "==", false);
+        if (sss == null)
+            sss = findOperator(expr, "=", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) == evalLong(sss[1], vars);
+
+        sss = findOperator(expr, ">=", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) >= evalLong(sss[1], vars);
+
+        sss = findOperator(expr, ">", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) > evalLong(sss[1], vars);
+
+        sss = findOperator(expr, "<=", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) <= evalLong(sss[1], vars);
+
+        sss = findOperator(expr, "<", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) < evalLong(sss[1], vars);
+
+        throw new IllegalArgumentException("Cannot interpret '" + expr + "': Invalid expression.");
+    }
+
+    private static String[] findOperator(String s, String op, boolean delimiterRequired) {
+        int opl = op.length();
+        int sl = s.length();
+        String delimiters = " \0\t\r\n()";
+        int pcount = 0, qcount = 0;
+        for (int i = 0; i < sl; i++) {
+            char c = s.charAt(i);
+            if (c == '(' && qcount == 0)
+                pcount++;
+            else if (c == ')' && qcount == 0) {
+                pcount--;
+                if (pcount < 0)
+                    throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
+            } else if (c == '\'')
+                qcount = (qcount + 1) % 2;
+            else if (i <= sl - opl && pcount == 0 && qcount == 0) {
+                String ss = s.substring(i, i + opl);
+                if (ss.equalsIgnoreCase(op)) {
+                    boolean found = true;
+                    if (delimiterRequired) {
+                        // Check for delimiter before and after to make sure it is not part of another word
+                        char chbefore = '\0';
+                        if (i > 0)
+                            chbefore = s.charAt(i - 1);
+                        char chafter = '\0';
+                        if (i < sl - opl)
+                            chafter = s.charAt(i + opl);
+                        found = delimiters.indexOf(chbefore) >= 0 && delimiters.indexOf(chafter) >= 0;
+                    }
+                    if (found) {
+                        // We've found the operator, split the string
+                        String[] sss = new String[2];
+                        sss[0] = s.substring(0, i);
+                        sss[1] = s.substring(i + opl);
+                        return sss;
+                    }
+                }
+            }
+        }
+        if (pcount > 0)
+            throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
+        if (qcount > 0)
+            throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
+        return null;
+    }
+
+    private static Object parseObject(String s) {
+        s = s.trim();
+        int sl = s.length();
+        if (sl == 0)
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+        if (s.equalsIgnoreCase("null"))
+            return null;
+        if (s.charAt(0) == '\'') {
+            if (sl < 2 || s.charAt(sl - 1) != '\'')
+                throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
+            return s.substring(1, sl - 1);
+        }
+        // Not in quotes - must be a number
+        try {
+            return Long.valueOf(s);
+        } catch (Exception e) {
+        }
+        try {
+            return Double.valueOf(s);
+        } catch (Exception e) {
+            throw new IllegalArgumentException("Cannot interpret '" + s + "': Invalid number.");
+        }
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
index 8a0b006bf..f382a6393 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,19 +23,19 @@ package org.openecomp.sdnc.util.speed;
 
 public class SpeedUtil {
 
-	private long unitFactor = 1000;
+    private long unitFactor = 1000;
 
-	public long convertToKbps(long maxSpeed, String unit) {
-		if (unit.equalsIgnoreCase("kbps"))
-			return maxSpeed;
-		if (unit.equalsIgnoreCase("Mbps"))
-			return maxSpeed * unitFactor;
-		if (unit.equalsIgnoreCase("Gbps"))
-			return maxSpeed * unitFactor * unitFactor;
-		return 0;
-	}
+    public long convertToKbps(long maxSpeed, String unit) {
+        if (unit.equalsIgnoreCase("kbps"))
+            return maxSpeed;
+        if (unit.equalsIgnoreCase("Mbps"))
+            return maxSpeed * unitFactor;
+        if (unit.equalsIgnoreCase("Gbps"))
+            return maxSpeed * unitFactor * unitFactor;
+        return 0;
+    }
 
-	public void setUnitFactor(long unitFactor) {
-		this.unitFactor = unitFactor;
-	}
+    public void setUnitFactor(long unitFactor) {
+        this.unitFactor = unitFactor;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
index 02857e105..f7fa81d18 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,269 +37,269 @@ import org.slf4j.LoggerFactory;
 
 public class StrUtil {
 
-	private static final Logger log = LoggerFactory.getLogger(StrUtil.class);
-
-	public static final String INDENT_STR = "    ";
-
-	public static void indent(StringBuilder ss, int ind) {
-		for (int i = 0; i < ind; i++)
-			ss.append(INDENT_STR);
-	}
-
-	public static void info(Logger log, Object o) {
-		if (log.isInfoEnabled()) {
-			StringBuilder ss = new StringBuilder();
-			struct(ss, o);
-			log.info(ss.toString());
-		}
-	}
-
-	public static void debug(Logger log, Object o) {
-		if (log.isDebugEnabled()) {
-			StringBuilder ss = new StringBuilder();
-			struct(ss, o);
-			log.debug(ss.toString());
-		}
-	}
-
-	public static void struct(StringBuilder ss, Object o) {
-		struct(ss, o, 0);
-	}
-
-	public static void struct(StringBuilder ss, Object o, int ind) {
-		if (o == null) {
-			ss.append("null");
-			return;
-		}
-
-		if (isSimple(o)) {
-			ss.append(o);
-			return;
-		}
-
-		Class<? extends Object> cls = o.getClass();
-
-		if (cls.isEnum()) {
-			ss.append(o);
-			return;
-		}
-
-		if (cls.isArray()) {
-			int n = Array.getLength(o);
-			if (n == 0) {
-				ss.append("[]");
-				return;
-			}
-
-			Object o1 = Array.get(o, 0);
-			if (isSimple(o1)) {
-				ss.append('[').append(o1);
-				for (int i = 1; i < n; i++) {
-					o1 = Array.get(o, i);
-					ss.append(", ").append(o1);
-				}
-				ss.append(']');
-				return;
-			}
-
-			ss.append('\n');
-			indent(ss, ind + 1);
-			ss.append('[');
-			struct(ss, o1, ind + 1);
-			for (int i = 1; i < n; i++) {
-				o1 = Array.get(o, i);
-				struct(ss, o1, ind + 1);
-			}
-			ss.append('\n');
-			indent(ss, ind + 1);
-			ss.append(']');
-			return;
-		}
-
-		if (o instanceof Collection<?>) {
-			Collection<?> ll = (Collection<?>) o;
-
-			int n = ll.size();
-			if (n == 0) {
-				ss.append("[]");
-				return;
-			}
-
-			Iterator<?> ii = ll.iterator();
-			Object o1 = ii.next();
-			if (isSimple(o1)) {
-				ss.append('[').append(o1);
-				while (ii.hasNext()) {
-					o1 = ii.next();
-					ss.append(", ").append(o1);
-				}
-				ss.append(']');
-				return;
-			}
-
-			ss.append('\n');
-			indent(ss, ind + 1);
-			ss.append('[');
-			struct(ss, o1, ind + 1);
-			while (ii.hasNext()) {
-				o1 = ii.next();
-				struct(ss, o1, ind + 1);
-			}
-			ss.append('\n');
-			indent(ss, ind + 1);
-			ss.append(']');
-			return;
-
-		}
-
-		if (o instanceof Map<?, ?>) {
-			Map<?, ?> mm = (Map<?, ?>) o;
-
-			int n = mm.size();
-			if (n == 0) {
-				ss.append("{}");
-				return;
-			}
-
-			ss.append('{');
-
-			for (Object k : mm.keySet()) {
-				ss.append('\n');
-				indent(ss, ind + 1);
-				ss.append(k).append(": ");
-
-				Object o1 = mm.get(k);
-				struct(ss, o1, ind + 2);
-			}
-
-			ss.append('\n');
-			indent(ss, ind);
-			ss.append('}');
-
-			return;
-		}
-
-		Field[] fields = cls.getFields();
-
-		if (fields.length == 0) {
-			ss.append(o);
-			return;
-		}
-
-		ss.append('\n');
-		indent(ss, ind + 1);
-		ss.append('<').append(cls.getSimpleName()).append("> {");
-		for (Field f : fields) {
-			ss.append('\n');
-			indent(ss, ind + 2);
-			ss.append(f.getName()).append(": ");
-			Object v = null;
-			try {
-				v = f.get(o);
-			} catch (IllegalAccessException e) {
-				v = "*** Cannot obtain value *** : " + e.getMessage();
-			}
-			struct(ss, v, ind + 2);
-		}
-		ss.append('\n');
-		indent(ss, ind + 1);
-		ss.append('}');
-	}
-
-	public static SortedSet<Integer> listInt(String ss, String warning) {
-		if (ss == null || ss.length() == 0)
-			return null;
-
-		SortedSet<Integer> ll = new TreeSet<Integer>();
-		String[] str = ss.split(",");
-		for (String s : str) {
-			try {
-				int i1 = s.indexOf('-');
-				int start, end;
-				if (i1 > 0) {
-					String s1 = s.substring(0, i1);
-					String s2 = s.substring(i1 + 1);
-					start = Integer.parseInt(s1);
-					end = Integer.parseInt(s2);
-				} else
-					start = end = Integer.parseInt(s);
-				for (int i = start; i <= end; i++)
-					ll.add(i);
-			} catch (NumberFormatException e) {
-				// Skip this - bad data in DB
-				log.warn(warning + " [" + s + "].", e);
-			}
-		}
-		return ll;
-	}
-
-	public static String listInt(SortedSet<Integer> ll) {
-		if (ll == null || ll.size() == 0)
-			return null;
-
-		StringBuilder sb = new StringBuilder(2000);
-		Iterator<Integer> i = ll.iterator();
-		int n = i.next();
-		int start = n;
-		int end = n;
-		boolean first = true;
-		while (i.hasNext()) {
-			n = i.next();
-			if (n != end + 1) {
-				if (!first)
-					sb.append(',');
-				first = false;
-
-				if (start == end)
-					sb.append(start);
-				else if (start == end - 1)
-					sb.append(start).append(',').append(end);
-				else
-					sb.append(start).append('-').append(end);
-
-				start = n;
-			}
-			end = n;
-		}
-
-		if (!first)
-			sb.append(',');
-
-		if (start == end)
-			sb.append(start);
-		else if (start == end - 1)
-			sb.append(start).append(',').append(end);
-		else
-			sb.append(start).append('-').append(end);
-
-		return sb.toString();
-	}
-
-	public static List<String> listStr(String s) {
-		if (s == null || s.length() == 0)
-			return null;
-		String[] ss = s.split(",");
-		return Arrays.asList(ss);
-	}
-
-	public static String listStr(Collection<String> ll) {
-		if (ll == null || ll.isEmpty())
-			return null;
-		StringBuilder ss = new StringBuilder(1000);
-		Iterator<String> i = ll.iterator();
-		ss.append(i.next());
-		while (i.hasNext())
-			ss.append(',').append(i.next());
-		return ss.toString();
-	}
-
-	private static boolean isSimple(Object o) {
-		if (o == null)
-			return true;
-
-		if (o instanceof Number || o instanceof String || o instanceof Boolean || o instanceof Date)
-			return true;
-
-		return false;
-	}
+    private static final Logger log = LoggerFactory.getLogger(StrUtil.class);
+
+    public static final String INDENT_STR = "    ";
+
+    public static void indent(StringBuilder ss, int ind) {
+        for (int i = 0; i < ind; i++)
+            ss.append(INDENT_STR);
+    }
+
+    public static void info(Logger log, Object o) {
+        if (log.isInfoEnabled()) {
+            StringBuilder ss = new StringBuilder();
+            struct(ss, o);
+            log.info(ss.toString());
+        }
+    }
+
+    public static void debug(Logger log, Object o) {
+        if (log.isDebugEnabled()) {
+            StringBuilder ss = new StringBuilder();
+            struct(ss, o);
+            log.debug(ss.toString());
+        }
+    }
+
+    public static void struct(StringBuilder ss, Object o) {
+        struct(ss, o, 0);
+    }
+
+    public static void struct(StringBuilder ss, Object o, int ind) {
+        if (o == null) {
+            ss.append("null");
+            return;
+        }
+
+        if (isSimple(o)) {
+            ss.append(o);
+            return;
+        }
+
+        Class<? extends Object> cls = o.getClass();
+
+        if (cls.isEnum()) {
+            ss.append(o);
+            return;
+        }
+
+        if (cls.isArray()) {
+            int n = Array.getLength(o);
+            if (n == 0) {
+                ss.append("[]");
+                return;
+            }
+
+            Object o1 = Array.get(o, 0);
+            if (isSimple(o1)) {
+                ss.append('[').append(o1);
+                for (int i = 1; i < n; i++) {
+                    o1 = Array.get(o, i);
+                    ss.append(", ").append(o1);
+                }
+                ss.append(']');
+                return;
+            }
+
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append('[');
+            struct(ss, o1, ind + 1);
+            for (int i = 1; i < n; i++) {
+                o1 = Array.get(o, i);
+                struct(ss, o1, ind + 1);
+            }
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append(']');
+            return;
+        }
+
+        if (o instanceof Collection<?>) {
+            Collection<?> ll = (Collection<?>) o;
+
+            int n = ll.size();
+            if (n == 0) {
+                ss.append("[]");
+                return;
+            }
+
+            Iterator<?> ii = ll.iterator();
+            Object o1 = ii.next();
+            if (isSimple(o1)) {
+                ss.append('[').append(o1);
+                while (ii.hasNext()) {
+                    o1 = ii.next();
+                    ss.append(", ").append(o1);
+                }
+                ss.append(']');
+                return;
+            }
+
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append('[');
+            struct(ss, o1, ind + 1);
+            while (ii.hasNext()) {
+                o1 = ii.next();
+                struct(ss, o1, ind + 1);
+            }
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append(']');
+            return;
+
+        }
+
+        if (o instanceof Map<?, ?>) {
+            Map<?, ?> mm = (Map<?, ?>) o;
+
+            int n = mm.size();
+            if (n == 0) {
+                ss.append("{}");
+                return;
+            }
+
+            ss.append('{');
+
+            for (Object k : mm.keySet()) {
+                ss.append('\n');
+                indent(ss, ind + 1);
+                ss.append(k).append(": ");
+
+                Object o1 = mm.get(k);
+                struct(ss, o1, ind + 2);
+            }
+
+            ss.append('\n');
+            indent(ss, ind);
+            ss.append('}');
+
+            return;
+        }
+
+        Field[] fields = cls.getFields();
+
+        if (fields.length == 0) {
+            ss.append(o);
+            return;
+        }
+
+        ss.append('\n');
+        indent(ss, ind + 1);
+        ss.append('<').append(cls.getSimpleName()).append("> {");
+        for (Field f : fields) {
+            ss.append('\n');
+            indent(ss, ind + 2);
+            ss.append(f.getName()).append(": ");
+            Object v = null;
+            try {
+                v = f.get(o);
+            } catch (IllegalAccessException e) {
+                v = "*** Cannot obtain value *** : " + e.getMessage();
+            }
+            struct(ss, v, ind + 2);
+        }
+        ss.append('\n');
+        indent(ss, ind + 1);
+        ss.append('}');
+    }
+
+    public static SortedSet<Integer> listInt(String ss, String warning) {
+        if (ss == null || ss.length() == 0)
+            return null;
+
+        SortedSet<Integer> ll = new TreeSet<Integer>();
+        String[] str = ss.split(",");
+        for (String s : str) {
+            try {
+                int i1 = s.indexOf('-');
+                int start, end;
+                if (i1 > 0) {
+                    String s1 = s.substring(0, i1);
+                    String s2 = s.substring(i1 + 1);
+                    start = Integer.parseInt(s1);
+                    end = Integer.parseInt(s2);
+                } else
+                    start = end = Integer.parseInt(s);
+                for (int i = start; i <= end; i++)
+                    ll.add(i);
+            } catch (NumberFormatException e) {
+                // Skip this - bad data in DB
+                log.warn(warning + " [" + s + "].", e);
+            }
+        }
+        return ll;
+    }
+
+    public static String listInt(SortedSet<Integer> ll) {
+        if (ll == null || ll.size() == 0)
+            return null;
+
+        StringBuilder sb = new StringBuilder(2000);
+        Iterator<Integer> i = ll.iterator();
+        int n = i.next();
+        int start = n;
+        int end = n;
+        boolean first = true;
+        while (i.hasNext()) {
+            n = i.next();
+            if (n != end + 1) {
+                if (!first)
+                    sb.append(',');
+                first = false;
+
+                if (start == end)
+                    sb.append(start);
+                else if (start == end - 1)
+                    sb.append(start).append(',').append(end);
+                else
+                    sb.append(start).append('-').append(end);
+
+                start = n;
+            }
+            end = n;
+        }
+
+        if (!first)
+            sb.append(',');
+
+        if (start == end)
+            sb.append(start);
+        else if (start == end - 1)
+            sb.append(start).append(',').append(end);
+        else
+            sb.append(start).append('-').append(end);
+
+        return sb.toString();
+    }
+
+    public static List<String> listStr(String s) {
+        if (s == null || s.length() == 0)
+            return null;
+        String[] ss = s.split(",");
+        return Arrays.asList(ss);
+    }
+
+    public static String listStr(Collection<String> ll) {
+        if (ll == null || ll.isEmpty())
+            return null;
+        StringBuilder ss = new StringBuilder(1000);
+        Iterator<String> i = ll.iterator();
+        ss.append(i.next());
+        while (i.hasNext())
+            ss.append(',').append(i.next());
+        return ss.toString();
+    }
+
+    private static boolean isSimple(Object o) {
+        if (o == null)
+            return true;
+
+        if (o instanceof Number || o instanceof String || o instanceof Boolean || o instanceof Date)
+            return true;
+
+        return false;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
index a9d69507a..a28b0affa 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,8 +23,8 @@ package org.openecomp.sdnc.util.vrf;
 
 public class VpnParam {
 
-	public String vpnId;
-	public String siteType;
-	public String spokeServiceInstanceId;
-	public String routeGroupName;
+    public String vpnId;
+    public String siteType;
+    public String spokeServiceInstanceId;
+    public String routeGroupName;
 }
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
index d5a691bb8..2b90027c6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,54 +23,54 @@ package org.openecomp.sdnc.util.vrf;
 
 public class VrfUtil {
 
-	public static String createVrfInstanceName(
-	        String serviceInstanceId,
-	        String vpnId,
-	        String siteType,
-	        String routeGroup) {
-		if (vpnId == null || vpnId.trim().length() == 0)
-			return null;
+    public static String createVrfInstanceName(
+            String serviceInstanceId,
+            String vpnId,
+            String siteType,
+            String routeGroup) {
+        if (vpnId == null || vpnId.trim().length() == 0)
+            return null;
 
-		String ss = "VPN-" + vpnId;
-		if (siteType != null && siteType.equalsIgnoreCase("hub"))
-			ss += "-HUB";
-		if (siteType != null && siteType.equalsIgnoreCase("spoke"))
-			ss += "-SP-" + serviceInstanceId;
-		if (routeGroup != null && routeGroup.trim().length() > 0)
-			ss += "-RG-" + routeGroup;
+        String ss = "VPN-" + vpnId;
+        if (siteType != null && siteType.equalsIgnoreCase("hub"))
+            ss += "-HUB";
+        if (siteType != null && siteType.equalsIgnoreCase("spoke"))
+            ss += "-SP-" + serviceInstanceId;
+        if (routeGroup != null && routeGroup.trim().length() > 0)
+            ss += "-RG-" + routeGroup;
 
-		return ss;
-	}
+        return ss;
+    }
 
-	public static VpnParam parseVrfInstanceName(String vrfInstanceName) {
-		VpnParam vpnParam = new VpnParam();
+    public static VpnParam parseVrfInstanceName(String vrfInstanceName) {
+        VpnParam vpnParam = new VpnParam();
 
-		int i1 = vrfInstanceName.indexOf("-HUB");
-		if (i1 > 0)
-			vpnParam.siteType = "HUB";
+        int i1 = vrfInstanceName.indexOf("-HUB");
+        if (i1 > 0)
+            vpnParam.siteType = "HUB";
 
-		int i2 = vrfInstanceName.indexOf("-SP-");
-		if (i2 > 0)
-			vpnParam.siteType = "SPOKE";
+        int i2 = vrfInstanceName.indexOf("-SP-");
+        if (i2 > 0)
+            vpnParam.siteType = "SPOKE";
 
-		int i3 = vrfInstanceName.indexOf("-RG-");
-		if (i3 > 0)
-			vpnParam.routeGroupName = vrfInstanceName.substring(i3 + 4);
+        int i3 = vrfInstanceName.indexOf("-RG-");
+        if (i3 > 0)
+            vpnParam.routeGroupName = vrfInstanceName.substring(i3 + 4);
 
-		int i4 = vrfInstanceName.length();
-		if (i1 > 0)
-			i4 = i1;
-		else if (i2 > 0)
-			i4 = i2;
-		else if (i3 > 0)
-			i4 = i3;
-		vpnParam.vpnId = vrfInstanceName.substring(4, i4);
+        int i4 = vrfInstanceName.length();
+        if (i1 > 0)
+            i4 = i1;
+        else if (i2 > 0)
+            i4 = i2;
+        else if (i3 > 0)
+            i4 = i3;
+        vpnParam.vpnId = vrfInstanceName.substring(4, i4);
 
-		if (i2 > 0 && i3 < 0)
-			vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4);
-		if (i2 > 0 && i3 > 0)
-			vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4, i3);
+        if (i2 > 0 && i3 < 0)
+            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4);
+        if (i2 > 0 && i3 > 0)
+            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4, i3);
 
-		return vpnParam;
-	}
+        return vpnParam;
+    }
 }
diff --git a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
index b123944d3..9bd3fe11e 100644
--- a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
+++ b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -21,276 +21,276 @@
   -->
 
 <beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans
         http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-	<!-- JDBC setup -->
+    <!-- JDBC setup -->
 
-	<bean id="rm.dataSource" class="org.openecomp.sdnc.util.db.DataSourceWrap">
-		<property name="dataSource" ref="dblib.dataSource" />
-	</bean>
+    <bean id="rm.dataSource" class="org.openecomp.sdnc.util.db.DataSourceWrap">
+        <property name="dataSource" ref="dblib.dataSource" />
+    </bean>
 
-	<bean id="lock.dataSource" class="org.openecomp.sdnc.util.db.CachedDataSourceWrap">
-		<property name="dataSource" ref="rm.dataSource" />
-	</bean>
+    <bean id="lock.dataSource" class="org.openecomp.sdnc.util.db.CachedDataSourceWrap">
+        <property name="dataSource" ref="rm.dataSource" />
+    </bean>
 
-	<bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
-		<property name="dataSource" ref="rm.dataSource" />
-	</bean>
+    <bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
+        <property name="dataSource" ref="rm.dataSource" />
+    </bean>
 
-	<bean id="lock.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
-		<property name="dataSource" ref="lock.dataSource" />
-	</bean>
+    <bean id="lock.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
+        <property name="dataSource" ref="lock.dataSource" />
+    </bean>
 
-	<!-- Utils Configuration -->
+    <!-- Utils Configuration -->
 
-	<bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
-		<property name="unitFactor" value="1000" />
-	</bean>
+    <bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
+        <property name="unitFactor" value="1000" />
+    </bean>
 
-	<!-- Resource Lock Configuration -->
+    <!-- Resource Lock Configuration -->
 
-	<bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
-		<property name="jdbcTemplate" ref="lock.jdbcTemplate" />
-	</bean>
+    <bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
+        <property name="jdbcTemplate" ref="lock.jdbcTemplate" />
+    </bean>
 
-	<bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
-		<property name="resourceLockDao" ref="resourceLockDao" />
-		<property name="retryCount" value="10" />
-		<property name="lockWait" value="5" /> <!-- Seconds -->
-	</bean>
+    <bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
+        <property name="resourceLockDao" ref="resourceLockDao" />
+        <property name="retryCount" value="10" />
+        <property name="lockWait" value="5" /> <!-- Seconds -->
+    </bean>
 
-	<!-- RM Configuration -->
+    <!-- RM Configuration -->
 
-	<bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
-		<property name="resourceJdbcDao" ref="resourceJdbcDao" />
-		<property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
-		<property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
-	</bean>
-
-	<bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
-		<property name="lockHelper" ref="lockHelper" />
-		<property name="resourceDao" ref="resourceDao" />
-		<property name="applicationId" value="SDNC" />
-		<property name="lockTimeout" value="600" /> <!-- Seconds -->
-	</bean>
-
-	<!-- Equipment DAO Configuration -->
-
-	<bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<!-- Rule DAO Configuration -->
-
-	<bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-		<property name="speedUtil" ref="speedUtil" />
-	</bean>
-
-	<bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-		<property name="speedUtil" ref="speedUtil" />
-	</bean>
-
-	<bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<!-- Service DAO Configuration -->
-
-	<bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<!-- ResourceAllocator Configuration -->
-
-	<bean id="allocationRequestBuilder"
-		class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
-		<property name="resourceRuleDao" ref="resourceRuleDao" />
-		<property name="rangeRuleDao" ref="rangeRuleDao" />
-	</bean>
-
-	<bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
-		<property name="speedUtil" ref="speedUtil" />
-		<property name="parameterDao" ref="parameterDao" />
-		<property name="serverDao" ref="serverDao" />
-		<property name="vpePortDao" ref="vpePortDao" />
-		<property name="vplspePortDao" ref="vplspePortDao" />
-		<property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
-		<property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
-		<property name="serviceResourceDao" ref="serviceResourceDao" />
-		<property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
-		<property name="resourceManager" ref="resourceManager" />
-		<property name="endPointAllocator" ref="endPointAllocator" />
-	</bean>
-
-	<!-- EndPointAllocator Configuration -->
-
-	<bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
-		<property name="resourceManager" ref="resourceManager" />
-		<property name="endPointAllocationDefinitionMap">
-			<map>
-				<entry key="L3AVPN-PORT">
-					<list>
-						<bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
-							<property name="serviceModel" value="L3AVPN-PORT" />
-							<property name="endPointPosition" value="VPE-Cust" />
-							<property name="equipmentReader" ref="vpePortReader" />
-							<property name="equipmentCheckList">
-								<list>
-									<ref bean="provStatusCheck" />
-									<ref bean="excludeVpeCheck" />
-									<ref bean="anyVrfPresentCheck" />
-								</list>
-							</property>
-							<property name="preferenceRuleList">
-								<list>
-									<ref bean="affinityLinkPref" />
-								</list>
-							</property>
-							<property name="allocationRuleList">
-								<list>
-									<ref bean="dbAllocationRule" />
-									<ref bean="affinityAllocationRule" />
-								</list>
-							</property>
-						</bean>
-					</list>
-				</entry>
-				<entry key="L3AVPN-EVC">
-					<list>
-						<bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
-							<property name="serviceModel" value="L3AVPN-EVC" />
-							<property name="endPointPosition" value="VPE-Cust" />
-							<property name="equipmentReader" ref="vpePortReader" />
-							<property name="equipmentCheckList">
-								<list>
-									<ref bean="vlanSpeedCheck" />
-									<ref bean="provStatusCheck" />
-									<ref bean="excludeVpeCheck" />
-									<ref bean="vpeLockCheck" />
-									<ref bean="anyVrfPresentCheck" />
-									<ref bean="oneMVrfCheck" />
-									<ref bean="hubWithRgCheck" />
-								</list>
-							</property>
-							<property name="preferenceRuleList">
-								<list>
-									<ref bean="affinityLinkPref" />
-								</list>
-							</property>
-							<property name="allocationRuleList">
-								<list>
-									<ref bean="dbAllocationRule" />
-									<ref bean="vrfAllocationRule" />
-									<ref bean="servingSiteAllocationRule" />
-									<ref bean="affinityAllocationRule" />
-								</list>
-							</property>
-						</bean>
-					</list>
-				</entry>
-			</map>
-		</property>
-	</bean>
-
-	<!-- Equipment Readers Configuration -->
-
-	<bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
-		<property name="vpePortDao" ref="vpePortDao" />
-	</bean>
-
-	<bean id="vnfReader" class="org.openecomp.sdnc.ra.reader.VnfReader">
-	</bean>
-
-	<bean id="aicSiteReader" class="org.openecomp.sdnc.ra.reader.AicSiteReader">
-	</bean>
-
-	<bean id="uplinkCircuitReader" class="org.openecomp.sdnc.ra.reader.UplinkCircuitReader">
-	</bean>
-
-	<!-- Equipment Checks Configuration -->
-
-	<bean id="vlanSpeedCheck" class="org.openecomp.sdnc.ra.check.VlanSpeedCheck">
-	</bean>
-
-	<bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
-	</bean>
-
-	<bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
-	</bean>
-
-	<bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
-		<property name="vpeLockDao" ref="vpeLockDao" />
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<!-- Preference Rule Configuration -->
-
-	<bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<!-- Resource Allocation Rule Configuration -->
-
-	<bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
-		<property name="resourceRuleDao" ref="resourceRuleDao" />
-		<property name="rangeRuleDao" ref="rangeRuleDao" />
-	</bean>
-
-	<bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
-	</bean>
-
-	<bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
-	</bean>
-
-	<bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
-	</bean>
+    <bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
+        <property name="resourceJdbcDao" ref="resourceJdbcDao" />
+        <property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
+        <property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
+    </bean>
+
+    <bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
+        <property name="lockHelper" ref="lockHelper" />
+        <property name="resourceDao" ref="resourceDao" />
+        <property name="applicationId" value="SDNC" />
+        <property name="lockTimeout" value="600" /> <!-- Seconds -->
+    </bean>
+
+    <!-- Equipment DAO Configuration -->
+
+    <bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <!-- Rule DAO Configuration -->
+
+    <bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+        <property name="speedUtil" ref="speedUtil" />
+    </bean>
+
+    <bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+        <property name="speedUtil" ref="speedUtil" />
+    </bean>
+
+    <bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <!-- Service DAO Configuration -->
+
+    <bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <!-- ResourceAllocator Configuration -->
+
+    <bean id="allocationRequestBuilder"
+        class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
+        <property name="resourceRuleDao" ref="resourceRuleDao" />
+        <property name="rangeRuleDao" ref="rangeRuleDao" />
+    </bean>
+
+    <bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
+        <property name="speedUtil" ref="speedUtil" />
+        <property name="parameterDao" ref="parameterDao" />
+        <property name="serverDao" ref="serverDao" />
+        <property name="vpePortDao" ref="vpePortDao" />
+        <property name="vplspePortDao" ref="vplspePortDao" />
+        <property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
+        <property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
+        <property name="serviceResourceDao" ref="serviceResourceDao" />
+        <property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
+        <property name="resourceManager" ref="resourceManager" />
+        <property name="endPointAllocator" ref="endPointAllocator" />
+    </bean>
+
+    <!-- EndPointAllocator Configuration -->
+
+    <bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
+        <property name="resourceManager" ref="resourceManager" />
+        <property name="endPointAllocationDefinitionMap">
+            <map>
+                <entry key="L3AVPN-PORT">
+                    <list>
+                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                            <property name="serviceModel" value="L3AVPN-PORT" />
+                            <property name="endPointPosition" value="VPE-Cust" />
+                            <property name="equipmentReader" ref="vpePortReader" />
+                            <property name="equipmentCheckList">
+                                <list>
+                                    <ref bean="provStatusCheck" />
+                                    <ref bean="excludeVpeCheck" />
+                                    <ref bean="anyVrfPresentCheck" />
+                                </list>
+                            </property>
+                            <property name="preferenceRuleList">
+                                <list>
+                                    <ref bean="affinityLinkPref" />
+                                </list>
+                            </property>
+                            <property name="allocationRuleList">
+                                <list>
+                                    <ref bean="dbAllocationRule" />
+                                    <ref bean="affinityAllocationRule" />
+                                </list>
+                            </property>
+                        </bean>
+                    </list>
+                </entry>
+                <entry key="L3AVPN-EVC">
+                    <list>
+                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                            <property name="serviceModel" value="L3AVPN-EVC" />
+                            <property name="endPointPosition" value="VPE-Cust" />
+                            <property name="equipmentReader" ref="vpePortReader" />
+                            <property name="equipmentCheckList">
+                                <list>
+                                    <ref bean="vlanSpeedCheck" />
+                                    <ref bean="provStatusCheck" />
+                                    <ref bean="excludeVpeCheck" />
+                                    <ref bean="vpeLockCheck" />
+                                    <ref bean="anyVrfPresentCheck" />
+                                    <ref bean="oneMVrfCheck" />
+                                    <ref bean="hubWithRgCheck" />
+                                </list>
+                            </property>
+                            <property name="preferenceRuleList">
+                                <list>
+                                    <ref bean="affinityLinkPref" />
+                                </list>
+                            </property>
+                            <property name="allocationRuleList">
+                                <list>
+                                    <ref bean="dbAllocationRule" />
+                                    <ref bean="vrfAllocationRule" />
+                                    <ref bean="servingSiteAllocationRule" />
+                                    <ref bean="affinityAllocationRule" />
+                                </list>
+                            </property>
+                        </bean>
+                    </list>
+                </entry>
+            </map>
+        </property>
+    </bean>
+
+    <!-- Equipment Readers Configuration -->
+
+    <bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
+        <property name="vpePortDao" ref="vpePortDao" />
+    </bean>
+
+    <bean id="vnfReader" class="org.openecomp.sdnc.ra.reader.VnfReader">
+    </bean>
+
+    <bean id="aicSiteReader" class="org.openecomp.sdnc.ra.reader.AicSiteReader">
+    </bean>
+
+    <bean id="uplinkCircuitReader" class="org.openecomp.sdnc.ra.reader.UplinkCircuitReader">
+    </bean>
+
+    <!-- Equipment Checks Configuration -->
+
+    <bean id="vlanSpeedCheck" class="org.openecomp.sdnc.ra.check.VlanSpeedCheck">
+    </bean>
+
+    <bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
+    </bean>
+
+    <bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
+    </bean>
+
+    <bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
+        <property name="vpeLockDao" ref="vpeLockDao" />
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <!-- Preference Rule Configuration -->
+
+    <bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <!-- Resource Allocation Rule Configuration -->
+
+    <bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
+        <property name="resourceRuleDao" ref="resourceRuleDao" />
+        <property name="rangeRuleDao" ref="rangeRuleDao" />
+    </bean>
+
+    <bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
+    </bean>
+
+    <bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
+    </bean>
+
+    <bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
+    </bean>
 
 </beans>
diff --git a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
index bec30ce11..195e9a66a 100644
--- a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
+++ b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -21,19 +21,19 @@
   -->
 
 <beans:beans xmlns="http://www.springframework.org/schema/osgi"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
-	xsi:schemaLocation="http://www.springframework.org/schema/osgi
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
+    xsi:schemaLocation="http://www.springframework.org/schema/osgi
        http://www.springframework.org/schema/osgi/spring-osgi.xsd
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-	<reference id="dblib.dataSource">
-		<interfaces>
-			<beans:value>javax.sql.DataSource</beans:value>
-			<beans:value>org.openecomp.sdnc.sli.resource.dblib.DbLibService</beans:value>
-		</interfaces>
-	</reference>
+    <reference id="dblib.dataSource">
+        <interfaces>
+            <beans:value>javax.sql.DataSource</beans:value>
+            <beans:value>org.openecomp.sdnc.sli.resource.dblib.DbLibService</beans:value>
+        </interfaces>
+    </reference>
 
-	<service ref="resourceAllocator" interface="org.openecomp.sdnc.ra.ResourceAllocator" />
+    <service ref="resourceAllocator" interface="org.openecomp.sdnc.ra.ResourceAllocator" />
 
 </beans:beans>
diff --git a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
index ea60c62dc..d39e24854 100644
--- a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- 						reserved.
+-- reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
@@ -20,13 +20,13 @@
 ---
 
 CREATE TABLE resource_rule (
-	resource_rule_id SERIAL PRIMARY KEY,
-	resource_name VARCHAR(50) NOT NULL,
-	end_point_position VARCHAR(50) NOT NULL,
-	service_expression VARCHAR(2000) NOT NULL,
-	equipment_level VARCHAR(50) NOT NULL,
-	equipment_expression VARCHAR(2000) NOT NULL,
-	allocation_expression VARCHAR(2000) NOT NULL,
-	soft_limit_expression VARCHAR(2000) NOT NULL,
-	hard_limit_expression VARCHAR(2000) NOT NULL
+  resource_rule_id SERIAL PRIMARY KEY,
+  resource_name VARCHAR(50) NOT NULL,
+  end_point_position VARCHAR(50) NOT NULL,
+  service_expression VARCHAR(2000) NOT NULL,
+  equipment_level VARCHAR(50) NOT NULL,
+  equipment_expression VARCHAR(2000) NOT NULL,
+  allocation_expression VARCHAR(2000) NOT NULL,
+  soft_limit_expression VARCHAR(2000) NOT NULL,
+  hard_limit_expression VARCHAR(2000) NOT NULL
 );
diff --git a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
index 2aa66ac80..d752eb3a4 100644
--- a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- 						reserved.
+-- reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
@@ -20,10 +20,10 @@
 ---
 
 CREATE TABLE max_port_speed (
-	max_port_speed_id SERIAL PRIMARY KEY,
-	image_file_name VARCHAR(50) NOT NULL,
-	end_point_position VARCHAR(50) NOT NULL,
-	interface_name VARCHAR(100) NOT NULL,
-	max_speed BIGINT NOT NULL,
-	unit VARCHAR(10) NOT NULL
+  max_port_speed_id SERIAL PRIMARY KEY,
+  image_file_name VARCHAR(50) NOT NULL,
+  end_point_position VARCHAR(50) NOT NULL,
+  interface_name VARCHAR(100) NOT NULL,
+  max_speed BIGINT NOT NULL,
+  unit VARCHAR(10) NOT NULL
 );
diff --git a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
index 671117e7d..b33c32a0b 100644
--- a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- 						reserved.
+-- reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
@@ -20,9 +20,9 @@
 ---
 
 CREATE TABLE max_server_speed (
-	max_server_speed_id SERIAL PRIMARY KEY,
-	server_model VARCHAR(50) NOT NULL,
-	evc_count SMALLINT NOT NULL,
-	max_speed BIGINT NOT NULL,
-	unit VARCHAR(10) NOT NULL
+  max_server_speed_id SERIAL PRIMARY KEY,
+  server_model VARCHAR(50) NOT NULL,
+  evc_count SMALLINT NOT NULL,
+  max_speed BIGINT NOT NULL,
+  unit VARCHAR(10) NOT NULL
 );
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
index f74eeee5f..46ac760ad 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,234 +28,234 @@ import jtest.util.org.openecomp.sdnc.ra.TestTable;
 
 public class DataSetup {
 
-	private TestDb testDb;
-
-	private TestTable vpePool = null;
-	private TestTable vplspePool = null;
-	private TestTable pserver = null;
-	private TestTable serviceResource = null;
-	private TestTable resource = null;
-	private TestTable allocationItem = null;
-
-	private static final String[] VPE_POOL_COLUMNS = {
-	        "vpe_name", "ipv4_oam_address", "loopback0_ipv4_address", "provisioning_status", "aic_site_id",
-	        "availability_zone", "vlan_id_outer", "vendor", "physical_intf_name", "physical_intf_speed",
-	        "physical_intf_units", "vpe_uuid", "vpe_id", "image_filename" };
-
-	private static final String[] VPLSPE_POOL_COLUMNS = {
-	        "vplspe_name", "aic_site_id", "availability_zone", "physical_intf_name", "physical_intf_speed",
-	        "physical_intf_units", "loopback0_ipv4_address", "vlan_id_outer", "vplspe_uuid", "image_filename",
-	        "provisioning_status", "vendor" };
-
-	private static final String[] PSERVER_COLUMNS = {
-	        "hostname", "ptnii_equip_name", "number_of_cpus", "disk_in_gigabytes", "ram_in_megabytes", "equip_type",
-	        "equip_vendor", "equip_model", "fqdn", "pserver_selflink", "ipv4_oam_address", "serial_number",
-	        "pserver_id", "internet_topology", "aic_site_id", "in_maint", "pserver_name2", "purpose" };
-
-	private static final String[] SERVICE_RESOURCE_COLUMNS = {
-	        "service_instance_id", "service_status", "service_change_number", "resource_set_id", "resource_union_id" };
-
-	private static final String[] RESOURCE_COLUMNS = { "asset_id", "resource_name", "resource_type", "lt_used" };
-
-	private static final String[] ALLOCATION_ITEM_COLUMNS = {
-	        "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
-	        "lt_used", "allocation_time" };
-
-	private void initTables() {
-		if (vpePool == null)
-			vpePool = testDb.table("VPE_POOL", "vpe_name", VPE_POOL_COLUMNS);
-		if (vplspePool == null)
-			vplspePool = testDb.table("VPLSPE_POOL", "vplspe_name", VPLSPE_POOL_COLUMNS);
-		if (pserver == null)
-			pserver = testDb.table("PSERVER", "hostname", PSERVER_COLUMNS);
-		if (serviceResource == null)
-			serviceResource = testDb.table("SERVICE_RESOURCE", "service_resource_id", SERVICE_RESOURCE_COLUMNS);
-		if (resource == null)
-			resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
-		if (allocationItem == null)
-			allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
-	}
-
-	public void cleanup() {
-		initTables();
-		vpePool.delete("true");
-		vplspePool.delete("true");
-		pserver.delete("true");
-		serviceResource.delete("true");
-		allocationItem.delete("true");
-		resource.delete("true");
-	}
-
-	public void setupVpePort(
-	        String aicSiteId,
-	        String vpeId,
-	        String interfaceName,
-	        String provStatus,
-	        String imageFileName) {
-		initTables();
-		vpePool.add(vpeId, "127.0.0.1", "107.134.152.139", provStatus, aicSiteId, "mtanj-esx-az01", "3501",
-		        "JUNIPER", interfaceName, "1", "GBPS", "vpe002", "VPESAT-auttx200me6", imageFileName);
-	}
-
-	public void setupVplspePort(
-	        String aicSiteId,
-	        String vplspeId,
-	        String interfaceName,
-	        String provStatus,
-	        String imageFileName) {
-		initTables();
-		vplspePool.add(vplspeId, aicSiteId, "mtanj-esx-az01", interfaceName, "100", "GBPS", "192.168.119.32", "3501",
-		        "vpls002", imageFileName, provStatus, "JUNIPER");
-	}
-
-	public void setupPserver(String hostname, String aicSiteId) {
-		initTables();
-		pserver.add(hostname, hostname + "srv1", 4, 1000, 16000, "equip_type", "equip_vendor", "equip_model", "fqdn",
-		        "pserver_selflink", "123.123.123.123", "serial_number", "pserver_id", "internet_topology", aicSiteId,
-		        "N", hostname, "purpose");
-	}
-
-	public void setupService(
-	        String serviceInstanceId,
-	        String status,
-	        int changeNumber,
-	        long speedKbps,
-	        String vpeId,
-	        String vplspeId,
-	        String serverId) {
-		initTables();
-
-		String resourceSetId = serviceInstanceId + "/" + changeNumber;
-		String resourceUnionId = serviceInstanceId;
-
-		serviceResource.add(serviceInstanceId, status, changeNumber, resourceSetId, resourceUnionId);
-
-		Long rid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
-		if (rid == null) {
-			resource.add(vpeId + "/ae0", "Bandwidth", "Limit", 1);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-		rid = resource.getId("asset_id = '" + vplspeId + "' AND resource_name = 'Bandwidth'");
-		if (rid == null) {
-			resource.add(vplspeId, "Bandwidth", "Limit", 1);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-		rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Bandwidth'");
-		if (rid == null) {
-			resource.add(serverId, "Bandwidth", "Limit", 1);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-		rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Connection'");
-		if (rid == null) {
-			resource.add(serverId, "Connection", "Limit", 1);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, 1, new Date());
-	}
-
-	public boolean serviceNotInDb(String serviceInstanceId, String status, Integer changeNumber) {
-		String where = "service_instance_id = '" + serviceInstanceId + "'";
-		if (status != null)
-			where += " AND service_status = '" + status + "'";
-		if (changeNumber != null)
-			where += " AND service_change_number = " + changeNumber;
-
-		if (serviceResource.exists(where))
-			return false;
-
-		where = "resource_union_id = '" + serviceInstanceId + "'";
-		if (changeNumber != null)
-			where += " AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "'";
-
-		if (allocationItem.exists(where))
-			return false;
-
-		return true;
-	}
-
-	public boolean serviceCorrectInDb(String serviceInstanceId, String status, int changeNumber, long speedKbps) {
-		String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-		        "' AND service_change_number = " + changeNumber;
-		if (!serviceResource.exists(where))
-			return false;
-
-		where = "resource_union_id = '" + serviceInstanceId + "' AND resource_set_id = '" + serviceInstanceId + "/" +
-		        changeNumber + "' AND lt_used = " + speedKbps;
-		if (!allocationItem.exists(where))
-			return false;
-
-		return true;
-	}
-
-	public boolean serviceCorrectInDb(
-	        String vpeId,
-	        String aicSiteId,
-	        String serviceInstanceId,
-	        String status,
-	        int changeNumber,
-	        long speedKbps) {
-
-		String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-		        "' AND service_change_number = " + changeNumber;
-		if (!serviceResource.exists(where))
-			return false;
-
-		Long vpebwrid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
-		if (vpebwrid == null)
-			return false;
-
-		where = "resource_id = " + vpebwrid + " AND resource_union_id = '" + serviceInstanceId +
-		        "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-		if (!allocationItem.exists(where))
-			return false;
-
-		Long srvbwrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Bandwidth'");
-		if (srvbwrid == null)
-			return false;
-
-		where = "resource_id = " + srvbwrid + " AND resource_union_id = '" + serviceInstanceId +
-		        "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-		if (!allocationItem.exists(where))
-			return false;
-
-		Long srvconrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Connection'");
-		if (srvconrid == null)
-			return false;
-
-		where = "resource_id = " + srvconrid + " AND resource_union_id = '" + serviceInstanceId +
-		        "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = 1";
-		if (!allocationItem.exists(where))
-			return false;
-
-		return true;
-	}
-
-	public boolean serviceCorrectInDb(
-	        String serviceInstanceId,
-	        String endPointPosition,
-	        String status,
-	        int changeNumber,
-	        long speedKbps) {
-		String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-		        "' AND service_change_number = " + changeNumber;
-		if (!serviceResource.exists(where))
-			return false;
-
-		where = "resource_union_id = '" + serviceInstanceId + "/" + endPointPosition + "' AND resource_set_id = '" +
-		        serviceInstanceId + "/" + endPointPosition + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-		if (!allocationItem.exists(where))
-			return false;
-
-		return true;
-	}
-
-	public void setTestDb(TestDb testDb) {
-		this.testDb = testDb;
-	}
+    private TestDb testDb;
+
+    private TestTable vpePool = null;
+    private TestTable vplspePool = null;
+    private TestTable pserver = null;
+    private TestTable serviceResource = null;
+    private TestTable resource = null;
+    private TestTable allocationItem = null;
+
+    private static final String[] VPE_POOL_COLUMNS = {
+            "vpe_name", "ipv4_oam_address", "loopback0_ipv4_address", "provisioning_status", "aic_site_id",
+            "availability_zone", "vlan_id_outer", "vendor", "physical_intf_name", "physical_intf_speed",
+            "physical_intf_units", "vpe_uuid", "vpe_id", "image_filename" };
+
+    private static final String[] VPLSPE_POOL_COLUMNS = {
+            "vplspe_name", "aic_site_id", "availability_zone", "physical_intf_name", "physical_intf_speed",
+            "physical_intf_units", "loopback0_ipv4_address", "vlan_id_outer", "vplspe_uuid", "image_filename",
+            "provisioning_status", "vendor" };
+
+    private static final String[] PSERVER_COLUMNS = {
+            "hostname", "ptnii_equip_name", "number_of_cpus", "disk_in_gigabytes", "ram_in_megabytes", "equip_type",
+            "equip_vendor", "equip_model", "fqdn", "pserver_selflink", "ipv4_oam_address", "serial_number",
+            "pserver_id", "internet_topology", "aic_site_id", "in_maint", "pserver_name2", "purpose" };
+
+    private static final String[] SERVICE_RESOURCE_COLUMNS = {
+            "service_instance_id", "service_status", "service_change_number", "resource_set_id", "resource_union_id" };
+
+    private static final String[] RESOURCE_COLUMNS = { "asset_id", "resource_name", "resource_type", "lt_used" };
+
+    private static final String[] ALLOCATION_ITEM_COLUMNS = {
+            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
+            "lt_used", "allocation_time" };
+
+    private void initTables() {
+        if (vpePool == null)
+            vpePool = testDb.table("VPE_POOL", "vpe_name", VPE_POOL_COLUMNS);
+        if (vplspePool == null)
+            vplspePool = testDb.table("VPLSPE_POOL", "vplspe_name", VPLSPE_POOL_COLUMNS);
+        if (pserver == null)
+            pserver = testDb.table("PSERVER", "hostname", PSERVER_COLUMNS);
+        if (serviceResource == null)
+            serviceResource = testDb.table("SERVICE_RESOURCE", "service_resource_id", SERVICE_RESOURCE_COLUMNS);
+        if (resource == null)
+            resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
+        if (allocationItem == null)
+            allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
+    }
+
+    public void cleanup() {
+        initTables();
+        vpePool.delete("true");
+        vplspePool.delete("true");
+        pserver.delete("true");
+        serviceResource.delete("true");
+        allocationItem.delete("true");
+        resource.delete("true");
+    }
+
+    public void setupVpePort(
+            String aicSiteId,
+            String vpeId,
+            String interfaceName,
+            String provStatus,
+            String imageFileName) {
+        initTables();
+        vpePool.add(vpeId, "127.0.0.1", "107.134.152.139", provStatus, aicSiteId, "mtanj-esx-az01", "3501",
+                "JUNIPER", interfaceName, "1", "GBPS", "vpe002", "VPESAT-auttx200me6", imageFileName);
+    }
+
+    public void setupVplspePort(
+            String aicSiteId,
+            String vplspeId,
+            String interfaceName,
+            String provStatus,
+            String imageFileName) {
+        initTables();
+        vplspePool.add(vplspeId, aicSiteId, "mtanj-esx-az01", interfaceName, "100", "GBPS", "192.168.119.32", "3501",
+                "vpls002", imageFileName, provStatus, "JUNIPER");
+    }
+
+    public void setupPserver(String hostname, String aicSiteId) {
+        initTables();
+        pserver.add(hostname, hostname + "srv1", 4, 1000, 16000, "equip_type", "equip_vendor", "equip_model", "fqdn",
+                "pserver_selflink", "123.123.123.123", "serial_number", "pserver_id", "internet_topology", aicSiteId,
+                "N", hostname, "purpose");
+    }
+
+    public void setupService(
+            String serviceInstanceId,
+            String status,
+            int changeNumber,
+            long speedKbps,
+            String vpeId,
+            String vplspeId,
+            String serverId) {
+        initTables();
+
+        String resourceSetId = serviceInstanceId + "/" + changeNumber;
+        String resourceUnionId = serviceInstanceId;
+
+        serviceResource.add(serviceInstanceId, status, changeNumber, resourceSetId, resourceUnionId);
+
+        Long rid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
+        if (rid == null) {
+            resource.add(vpeId + "/ae0", "Bandwidth", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
+
+        rid = resource.getId("asset_id = '" + vplspeId + "' AND resource_name = 'Bandwidth'");
+        if (rid == null) {
+            resource.add(vplspeId, "Bandwidth", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
+
+        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Bandwidth'");
+        if (rid == null) {
+            resource.add(serverId, "Bandwidth", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
+
+        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Connection'");
+        if (rid == null) {
+            resource.add(serverId, "Connection", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, 1, new Date());
+    }
+
+    public boolean serviceNotInDb(String serviceInstanceId, String status, Integer changeNumber) {
+        String where = "service_instance_id = '" + serviceInstanceId + "'";
+        if (status != null)
+            where += " AND service_status = '" + status + "'";
+        if (changeNumber != null)
+            where += " AND service_change_number = " + changeNumber;
+
+        if (serviceResource.exists(where))
+            return false;
+
+        where = "resource_union_id = '" + serviceInstanceId + "'";
+        if (changeNumber != null)
+            where += " AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "'";
+
+        if (allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public boolean serviceCorrectInDb(String serviceInstanceId, String status, int changeNumber, long speedKbps) {
+        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
+                "' AND service_change_number = " + changeNumber;
+        if (!serviceResource.exists(where))
+            return false;
+
+        where = "resource_union_id = '" + serviceInstanceId + "' AND resource_set_id = '" + serviceInstanceId + "/" +
+                changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public boolean serviceCorrectInDb(
+            String vpeId,
+            String aicSiteId,
+            String serviceInstanceId,
+            String status,
+            int changeNumber,
+            long speedKbps) {
+
+        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
+                "' AND service_change_number = " + changeNumber;
+        if (!serviceResource.exists(where))
+            return false;
+
+        Long vpebwrid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
+        if (vpebwrid == null)
+            return false;
+
+        where = "resource_id = " + vpebwrid + " AND resource_union_id = '" + serviceInstanceId +
+                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        Long srvbwrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Bandwidth'");
+        if (srvbwrid == null)
+            return false;
+
+        where = "resource_id = " + srvbwrid + " AND resource_union_id = '" + serviceInstanceId +
+                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        Long srvconrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Connection'");
+        if (srvconrid == null)
+            return false;
+
+        where = "resource_id = " + srvconrid + " AND resource_union_id = '" + serviceInstanceId +
+                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = 1";
+        if (!allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public boolean serviceCorrectInDb(
+            String serviceInstanceId,
+            String endPointPosition,
+            String status,
+            int changeNumber,
+            long speedKbps) {
+        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
+                "' AND service_change_number = " + changeNumber;
+        if (!serviceResource.exists(where))
+            return false;
+
+        where = "resource_union_id = '" + serviceInstanceId + "/" + endPointPosition + "' AND resource_set_id = '" +
+                serviceInstanceId + "/" + endPointPosition + "/" + changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public void setTestDb(TestDb testDb) {
+        this.testDb = testDb;
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
index 7d57eba31..2c25c3e11 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,384 +41,384 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestIsAvailable {
 
-	private static final Logger log = LoggerFactory.getLogger(TestIsAvailable.class);
+    private static final Logger log = LoggerFactory.getLogger(TestIsAvailable.class);
 
-	@Autowired(required = true)
-	private ResourceAllocator resourceAllocator;
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
 
-	@Autowired(required = true)
-	private DataSetup dataSetup;
+    @Autowired(required = true)
+    private DataSetup dataSetup;
 
-	@Test
-	public void test001() throws Exception {
-		String t = "001";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test successful response - all resources available");
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test successful response - all resources available");
 
-		String service1 = "isAvailable" + t + "/service1";
+        String service1 = "isAvailable" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
 
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test002() throws Exception {
-		String t = "002";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - request very big number that is above the limits");
+    @Test
+    public void test002() throws Exception {
+        String t = "002";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - request very big number that is above the limits");
 
-		String service1 = "isAvailable" + t + "/service1";
+        String service1 = "isAvailable" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
 
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
 
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
 
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
 
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("960000"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("960000"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test003() throws Exception {
-		String t = "003";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - PROV check for VPE");
+    @Test
+    public void test003() throws Exception {
+        String t = "003";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - PROV check for VPE");
 
-		String service1 = "isAvailable" + t + "/service1";
+        String service1 = "isAvailable" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "---", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "---", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
 
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
 
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
 
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
 
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("0"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test004() throws Exception {
-		String t = "004";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - PROV check for VPLSPE");
-
-		String service1 = "isAvailable" + t + "/service1";
+    @Test
+    public void test004() throws Exception {
+        String t = "004";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - PROV check for VPLSPE");
+
+        String service1 = "isAvailable" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "---", null);
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("0"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test005() throws Exception {
-		String t = "005";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - VPE not found in DB");
-
-		String service1 = "isAvailable" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("0"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test006() throws Exception {
-		String t = "006";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - VPLSPE not found in DB");
-
-		String service1 = "isAvailable" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("0"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test007() throws Exception {
-		String t = "007";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - test max available speed calculation");
-
-		String service1 = "isAvailable" + t + "/service1";
-		String existingService1 = "isAvailable" + t + "/existing-service1";
-		String existingService2 = "isAvailable" + t + "/existing-service2";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(existingService1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1",
-		        "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(existingService2, "Active", 3, 100000, "mtanjrsv127", "mtsnj303vr1",
-		        "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(existingService2, "Pending", 4, 500000, "mtanjrsv127", "mtsnj303vr1",
-		        "MTSNJA4LCP1/Server1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("260000"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test008() throws Exception {
-		String t = "008";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test capacity not found - test server limit depending on number of connections");
-
-		String service1 = "isAvailable" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		for (int i = 1; i <= 13; i++)
-			dataSetup.setupService("isAvailable" + t + "/existing-service" + i, "Active", 2, 20000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-		String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-		String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-		log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(maxAvailableSpeed.equals("340000"));
-		Assert.assertTrue(speedUnit.equals("kbps"));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test009() throws Exception {
-		String t = "009";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test successful response - no service instance id in input - all resources available");
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-	}
-
-	@Test
-	public void test010() throws Exception {
-		String t = "010";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test input validations - no aic-site-id in input");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-
-		try {
-			resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals(
-			        "tmp.resource-allocator.aic-site-id is required in ResourceAllocator"));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
-
-	@Test
-	public void test011() throws Exception {
-		String t = "011";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test input validations - no speed in input");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		try {
-			resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals("tmp.resource-allocator.speed is required in ResourceAllocator"));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
-
-	@Test
-	public void test012() throws Exception {
-		String t = "012";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test input validations - speed not a number in input");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.speed", "nnnnn");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		try {
-			resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals("Invalid tmp.resource-allocator.speed. Must be a number."));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
-
-	@Test
-	public void test013() throws Exception {
-		String t = "013";
-		log.info("============== isAvailable " + t + " ================================");
-		log.info("=== Test input validations - speed-unit missing in input");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		try {
-			resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals(
-			        "tmp.resource-allocator.speed-unit is required in ResourceAllocator"));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "---", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test005() throws Exception {
+        String t = "005";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - VPE not found in DB");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test006() throws Exception {
+        String t = "006";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - VPLSPE not found in DB");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test007() throws Exception {
+        String t = "007";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - test max available speed calculation");
+
+        String service1 = "isAvailable" + t + "/service1";
+        String existingService1 = "isAvailable" + t + "/existing-service1";
+        String existingService2 = "isAvailable" + t + "/existing-service2";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(existingService1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1",
+                "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(existingService2, "Active", 3, 100000, "mtanjrsv127", "mtsnj303vr1",
+                "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(existingService2, "Pending", 4, 500000, "mtanjrsv127", "mtsnj303vr1",
+                "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("260000"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test008() throws Exception {
+        String t = "008";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - test server limit depending on number of connections");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 13; i++)
+            dataSetup.setupService("isAvailable" + t + "/existing-service" + i, "Active", 2, 20000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("340000"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test009() throws Exception {
+        String t = "009";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test successful response - no service instance id in input - all resources available");
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+    }
+
+    @Test
+    public void test010() throws Exception {
+        String t = "010";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - no aic-site-id in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.aic-site-id is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test011() throws Exception {
+        String t = "011";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - no speed in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals("tmp.resource-allocator.speed is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test012() throws Exception {
+        String t = "012";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - speed not a number in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "nnnnn");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals("Invalid tmp.resource-allocator.speed. Must be a number."));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test013() throws Exception {
+        String t = "013";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - speed-unit missing in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.speed-unit is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
index e69003a39..0d287f2b4 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -40,46 +40,46 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestQuery {
 
-	private static final Logger log = LoggerFactory.getLogger(TestQuery.class);
+    private static final Logger log = LoggerFactory.getLogger(TestQuery.class);
 
-	@Autowired(required = true)
-	private ResourceAllocator resourceAllocator;
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
 
-	@Autowired(required = true)
-	private DataSetup dataSetup;
+    @Autowired(required = true)
+    private DataSetup dataSetup;
 
-	@Test
-	public void test001() throws Exception {
-		String t = "001";
-		log.info("============== query " + t + " ================================");
-		log.info("=== Test reading assigned resources (subinterface-id, vlan-id-inner)");
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== query " + t + " ================================");
+        log.info("=== Test reading assigned resources (subinterface-id, vlan-id-inner)");
 
-		String service1 = "ICOREPVC" + t + "-1";
+        String service1 = "ICOREPVC" + t + "-1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-		ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
-		ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
+        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
 
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
 
-		st = resourceAllocator.query("NetworkCapacity", true, null, service1, "end-point", null, ctx);
+        st = resourceAllocator.query("NetworkCapacity", true, null, service1, "end-point", null, ctx);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertEquals(ctx.getAttribute("end-point.subinterface-id"), "100");
-		Assert.assertEquals(ctx.getAttribute("end-point.vlan-id-inner"), "2");
-		Assert.assertEquals(ctx.getAttribute("end-point.vpe-name"), "mtanjrsv126");
-		Assert.assertEquals(ctx.getAttribute("end-point.affinity-link"), "1");
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertEquals(ctx.getAttribute("end-point.subinterface-id"), "100");
+        Assert.assertEquals(ctx.getAttribute("end-point.vlan-id-inner"), "2");
+        Assert.assertEquals(ctx.getAttribute("end-point.vpe-name"), "mtanjrsv126");
+        Assert.assertEquals(ctx.getAttribute("end-point.affinity-link"), "1");
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
index f2ee50fc5..45bd047a7 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,390 +41,390 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestRelease {
 
-	private static final Logger log = LoggerFactory.getLogger(TestRelease.class);
+    private static final Logger log = LoggerFactory.getLogger(TestRelease.class);
 
-	@Autowired(required = true)
-	private ResourceAllocator resourceAllocator;
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
 
-	@Autowired(required = true)
-	private DataSetup dataSetup;
+    @Autowired(required = true)
+    private DataSetup dataSetup;
 
-	@Test
-	public void test001() throws Exception {
-		String t = "001";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - cancel - new start");
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - new start");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test002() throws Exception {
-		String t = "002";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - cancel - change");
+    @Test
+    public void test002() throws Exception {
+        String t = "002";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - change");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
 
-	@Test
-	public void test003() throws Exception {
-		String t = "003";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - cancel - active there, but no pending - should do nothing and return success");
+    @Test
+    public void test003() throws Exception {
+        String t = "003";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - active there, but no pending - should do nothing and return success");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+    }
 
-	@Test
-	public void test004() throws Exception {
-		String t = "004";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - cancel - nothing in DB - should return success");
+    @Test
+    public void test004() throws Exception {
+        String t = "004";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - nothing in DB - should return success");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
+        dataSetup.cleanup();
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test005() throws Exception {
-		String t = "005";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - activate - new start");
+    @Test
+    public void test005() throws Exception {
+        String t = "005";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - activate - new start");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+    }
 
-	@Test
-	public void test006() throws Exception {
-		String t = "006";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - actovate - change");
+    @Test
+    public void test006() throws Exception {
+        String t = "006";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - actovate - change");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 3, 400000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
+    }
 
-	@Test
-	public void test007() throws Exception {
-		String t = "007";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - activate - active there, but no pending - should do nothing and return success");
+    @Test
+    public void test007() throws Exception {
+        String t = "007";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - activate - active there, but no pending - should do nothing and return success");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+    }
 
-	@Test
-	public void test008() throws Exception {
-		String t = "008";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - activate - nothing in DB - should return success");
+    @Test
+    public void test008() throws Exception {
+        String t = "008";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - activate - nothing in DB - should return success");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
+        dataSetup.cleanup();
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test009() throws Exception {
-		String t = "009";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - disconnect - only pending in DB");
+    @Test
+    public void test009() throws Exception {
+        String t = "009";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - only pending in DB");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test010() throws Exception {
-		String t = "010";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - disconnect - only active in DB");
+    @Test
+    public void test010() throws Exception {
+        String t = "010";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - only active in DB");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test011() throws Exception {
-		String t = "011";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - disconnect - both active and pending in DB");
+    @Test
+    public void test011() throws Exception {
+        String t = "011";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - both active and pending in DB");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test012() throws Exception {
-		String t = "012";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test release - disconnect - nothing in DB - should return success");
+    @Test
+    public void test012() throws Exception {
+        String t = "012";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - nothing in DB - should return success");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		dataSetup.cleanup();
+        dataSetup.cleanup();
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
 
-		log.info("Result: " + st);
+        log.info("Result: " + st);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 
-	@Test
-	public void test013() throws Exception {
-		String t = "013";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test input validations - request-type missing in input");
+    @Test
+    public void test013() throws Exception {
+        String t = "013";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test input validations - request-type missing in input");
 
-		String service1 = "release" + t + "/service1";
+        String service1 = "release" + t + "/service1";
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
 
-		try {
-			resourceAllocator.release("NetworkCapacity", null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals(
-			        "tmp.resource-allocator.request-type is required in ResourceAllocator"));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
-
-	@Test
-	public void test014() throws Exception {
-		String t = "014";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test input validations - invalid request-type in input");
+        try {
+            resourceAllocator.release("NetworkCapacity", null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.request-type is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test014() throws Exception {
+        String t = "014";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test input validations - invalid request-type in input");
 
-		String service1 = "release" + t + "/service1";
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-		try {
-			resourceAllocator.release("NetworkCapacity", null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals(
-			        "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are Cancel, Activate, Disconnect."));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
-
-	@Test
-	public void test015() throws Exception {
-		String t = "015";
-		log.info("============== release " + t + " ================================");
-		log.info("=== Test input validations - missing service-instance-id in input");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-
-		try {
-			resourceAllocator.release("NetworkCapacity", null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals(
-			        "tmp.resource-allocator.service-instance-id is required in ResourceAllocator"));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
+        String service1 = "release" + t + "/service1";
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        try {
+            resourceAllocator.release("NetworkCapacity", null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are Cancel, Activate, Disconnect."));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test015() throws Exception {
+        String t = "015";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test input validations - missing service-instance-id in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+
+        try {
+            resourceAllocator.release("NetworkCapacity", null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.service-instance-id is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
index 08c673587..1dff3589e 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,641 +41,641 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestReserve {
 
-	private static final Logger log = LoggerFactory.getLogger(TestReserve.class);
+    private static final Logger log = LoggerFactory.getLogger(TestReserve.class);
 
-	@Autowired(required = true)
-	private ResourceAllocator resourceAllocator;
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
 
-	@Autowired(required = true)
-	private DataSetup dataSetup;
-
-	@Test
-	public void test001() throws Exception {
-		String t = "001";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test successful response - new start - all resources available");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 300000));
-	}
-
-	@Test
-	public void test002() throws Exception {
-		String t = "002";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test successful response - new start supp - all resources available");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		// ctx.setAttribute("tmp.resource-allocator.request-type", "New"); - Default is New
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "400");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-	}
-
-	@Test
-	public void test003() throws Exception {
-		String t = "003";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test successful response - change - all resources available");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "400");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-	}
-
-	@Test
-	public void test004() throws Exception {
-		String t = "004";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test successful response - change supp - all resources available");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "500");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 500000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-	}
-
-	@Test
-	public void test005() throws Exception {
-		String t = "005";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test successful response - change - check that hard limits are applied, not soft for change");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "1200000");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "kbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 1200000));
-	}
-
-	@Test
-	public void test006() throws Exception {
-		String t = "006";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test capacity not found - new start");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test007() throws Exception {
-		String t = "007";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test capacity not found - new start supp");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-	}
-
-	@Test
-	public void test008() throws Exception {
-		String t = "008";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test capacity not found - change");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-	}
-
-	@Test
-	public void test009() throws Exception {
-		String t = "009";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test capacity not found - change supp");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 4));
-	}
-
-	@Test
-	public void test010() throws Exception {
-		String t = "010";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test border condition - connection limit - new start - adding connection " +
-		        "when we are on the limit should fail");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		for (int i = 1; i <= 40; i++)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		for (int i = 1; i <= 40; i += 4)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "1");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
-
-	@Test
-	public void test011() throws Exception {
-		String t = "011";
-		log.info("============== reserve " + t + " ================================");
-		log.info(
-		        "=== Test border condition - connection limit - new start supp should succeed as no new connection being added");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		for (int i = 1; i <= 39; i++)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		for (int i = 1; i <= 39; i += 4)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		dataSetup.setupService(service1, "Pending", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 1000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "5");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-	}
-
-	@Test
-	public void test012() throws Exception {
-		String t = "012";
-		log.info("============== reserve " + t + " ================================");
-		log.info(
-		        "=== Test border condition - connection limit - change should succeed as no new connection being added");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		for (int i = 1; i <= 39; i++)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		for (int i = 1; i <= 39; i += 4)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "5");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-	}
-
-	@Test
-	public void test013() throws Exception {
-		String t = "013";
-		log.info("============== reserve " + t + " ================================");
-		log.info(
-		        "=== Test border condition - connection limit - change supp should succeed as no new connection being added");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		for (int i = 1; i <= 39; i++)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		for (int i = 1; i <= 39; i += 4)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-		dataSetup.setupService(service1, "Pending", 3, 5000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "10");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 10000));
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-	}
-
-	@Test
-	public void test014() throws Exception {
-		String t = "014";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test input validations - invalid request-type in input");
-
-		String service1 = "reserve" + t + "/service1";
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "10");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		try {
-			resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-		} catch (SvcLogicException e) {
-			Assert.assertTrue(e.getMessage().equals(
-			        "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are New, Change."));
-			return;
-		}
-		Assert.fail("SvcLogicException expected");
-	}
-
-	@Test
-	public void test015() throws Exception {
-		String t = "015";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test server bw limit depends on number of servers - limit is 960Mbps for 1 server, 1920 for 2");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "1200");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1200000));
-	}
-
-	@Test
-	public void test016() throws Exception {
-		String t = "016";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test resource threshold output");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "1605");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		for (String key : ctx.getAttributeKeySet())
-			if (key.startsWith("tmp.resource-allocator-output"))
-				log.info("  " + key + ": " + ctx.getAttribute(key));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1605000));
-	}
-
-	@Test
-	public void test017() throws Exception {
-		String t = "017";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
-		log.info("=== For 10 existing EVC, it should take the first row, not the second (see data.sql).");
-		log.info("=== Applied limit should be 1920Mbps, not 1680Mbps.");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-		for (int i = 1; i <= 10; i++)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "800"); // 10*100Mbps existing + 800 = 1800
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 800000));
-	}
-
-	@Test
-	public void test018() throws Exception {
-		String t = "018";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
-		log.info("=== For 11 existing EVC, it should take the second row (see data.sql).");
-		log.info("=== Applied limit should be 1680Mbps. We have 11*100 + 700, so this should fail.");
-
-		String service1 = "reserve" + t + "/service1";
-
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-		dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-		dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-		dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-		for (int i = 1; i <= 11; i++)
-			dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
-			        "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "700"); // 11*100Mbps existing + 700 = 1800
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-		log.info("Result: " + st);
-		log.info("  tmp.resource-allocator-output.max-available-speed: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-		log.info("  tmp.resource-allocator-output.speed-unit: " +
-		        ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-		log.info("Result: " + st);
-
-		Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-		Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-	}
+    @Autowired(required = true)
+    private DataSetup dataSetup;
+
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - new start - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 300000));
+    }
+
+    @Test
+    public void test002() throws Exception {
+        String t = "002";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - new start supp - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        // ctx.setAttribute("tmp.resource-allocator.request-type", "New"); - Default is New
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "400");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
+    }
+
+    @Test
+    public void test003() throws Exception {
+        String t = "003";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - change - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "400");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+    }
+
+    @Test
+    public void test004() throws Exception {
+        String t = "004";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - change supp - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "500");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 500000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test005() throws Exception {
+        String t = "005";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - change - check that hard limits are applied, not soft for change");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1200000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "kbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 1200000));
+    }
+
+    @Test
+    public void test006() throws Exception {
+        String t = "006";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - new start");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test007() throws Exception {
+        String t = "007";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - new start supp");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test008() throws Exception {
+        String t = "008";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - change");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test009() throws Exception {
+        String t = "009";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - change supp");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 4));
+    }
+
+    @Test
+    public void test010() throws Exception {
+        String t = "010";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test border condition - connection limit - new start - adding connection " +
+                "when we are on the limit should fail");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 40; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 40; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test011() throws Exception {
+        String t = "011";
+        log.info("============== reserve " + t + " ================================");
+        log.info(
+                "=== Test border condition - connection limit - new start supp should succeed as no new connection being added");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 39; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 39; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        dataSetup.setupService(service1, "Pending", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 1000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "5");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
+    }
+
+    @Test
+    public void test012() throws Exception {
+        String t = "012";
+        log.info("============== reserve " + t + " ================================");
+        log.info(
+                "=== Test border condition - connection limit - change should succeed as no new connection being added");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 39; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 39; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "5");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+    }
+
+    @Test
+    public void test013() throws Exception {
+        String t = "013";
+        log.info("============== reserve " + t + " ================================");
+        log.info(
+                "=== Test border condition - connection limit - change supp should succeed as no new connection being added");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 39; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 39; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 5000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "10");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 10000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test014() throws Exception {
+        String t = "014";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test input validations - invalid request-type in input");
+
+        String service1 = "reserve" + t + "/service1";
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "10");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are New, Change."));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test015() throws Exception {
+        String t = "015";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test server bw limit depends on number of servers - limit is 960Mbps for 1 server, 1920 for 2");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1200");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1200000));
+    }
+
+    @Test
+    public void test016() throws Exception {
+        String t = "016";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test resource threshold output");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1605");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        for (String key : ctx.getAttributeKeySet())
+            if (key.startsWith("tmp.resource-allocator-output"))
+                log.info("  " + key + ": " + ctx.getAttribute(key));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1605000));
+    }
+
+    @Test
+    public void test017() throws Exception {
+        String t = "017";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
+        log.info("=== For 10 existing EVC, it should take the first row, not the second (see data.sql).");
+        log.info("=== Applied limit should be 1920Mbps, not 1680Mbps.");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        for (int i = 1; i <= 10; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "800"); // 10*100Mbps existing + 800 = 1800
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 800000));
+    }
+
+    @Test
+    public void test018() throws Exception {
+        String t = "018";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
+        log.info("=== For 11 existing EVC, it should take the second row (see data.sql).");
+        log.info("=== Applied limit should be 1680Mbps. We have 11*100 + 700, so this should fail.");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        for (int i = 1; i <= 11; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "700"); // 11*100Mbps existing + 700 = 1800
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
index a92cbc5aa..1442f3ca2 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -40,38 +40,38 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestReserve2 {
 
-	private static final Logger log = LoggerFactory.getLogger(TestReserve2.class);
+    private static final Logger log = LoggerFactory.getLogger(TestReserve2.class);
 
-	@Autowired(required = true)
-	private ResourceAllocator resourceAllocator;
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
 
-	@Autowired(required = true)
-	private DataSetup dataSetup;
+    @Autowired(required = true)
+    private DataSetup dataSetup;
 
-	@Test
-	public void test001() throws Exception {
-		String t = "001";
-		log.info("============== reserve " + t + " ================================");
-		log.info("=== Test successful response - new start - all resources available");
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - new start - all resources available");
 
-		String service1 = "ICOREPVC" + t + "-1";
+        String service1 = "ICOREPVC" + t + "-1";
 
-		dataSetup.cleanup();
-		dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
 
-		SvcLogicContext ctx = new SvcLogicContext();
-		ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-		ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
-		ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-		ctx.setAttribute("tmp.resource-allocator.speed", "300");
-		ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-		ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-		ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
-		ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
+        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
 
-		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
-		Assert.assertTrue(st == QueryStatus.SUCCESS);
-		Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
-	}
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
index 55824b00c..4ff5bec7f 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,79 +28,79 @@ import jtest.util.org.openecomp.sdnc.ra.TestTable;
 
 public class DataSetup {
 
-	private TestDb testDb;
-
-	private TestTable resource = null;
-	private TestTable allocationItem = null;
-
-	private static final String[] RESOURCE_COLUMNS =
-	        { "asset_id", "resource_name", "resource_type", "lt_used", "ll_label", "ll_reference_count", "rr_used" };
-
-	private static final String[] ALLOCATION_ITEM_COLUMNS = {
-	        "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
-	        "lt_used", "ll_label", "rr_used", "allocation_time" };
-
-	private void initTables() {
-		if (resource == null)
-			resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
-		if (allocationItem == null)
-			allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
-	}
-
-	public void cleanup() {
-		allocationItem.delete("true");
-		resource.delete("true");
-	}
-
-	public void setupLimitItem(
-	        String resourceName,
-	        String assetId,
-	        String resourceSetId,
-	        String resourceUnionId,
-	        long used) {
-		initTables();
-
-		Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
-		if (rid == null) {
-			resource.add(assetId, resourceName, "Limit", 1, null, null, null);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, used, null, null, new Date());
-	}
-
-	public void setupRangeItem(
-	        String resourceName,
-	        String assetId,
-	        String resourceSetId,
-	        String resourceUnionId,
-	        String used) {
-		initTables();
-
-		Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
-		if (rid == null) {
-			resource.add(assetId, resourceName, "Range", null, null, null, used);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, null, used, new Date());
-	}
-
-	public void setupLabelItem(
-	        String resourceName,
-	        String assetId,
-	        String resourceSetId,
-	        String resourceUnionId,
-	        String label) {
-		initTables();
-
-		Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
-		if (rid == null) {
-			resource.add(assetId, resourceName, "Label", null, label, 1, null);
-			rid = resource.getLastId();
-		}
-		allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, label, null, new Date());
-	}
-
-	public void setTestDb(TestDb testDb) {
-		this.testDb = testDb;
-	}
+    private TestDb testDb;
+
+    private TestTable resource = null;
+    private TestTable allocationItem = null;
+
+    private static final String[] RESOURCE_COLUMNS =
+            { "asset_id", "resource_name", "resource_type", "lt_used", "ll_label", "ll_reference_count", "rr_used" };
+
+    private static final String[] ALLOCATION_ITEM_COLUMNS = {
+            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
+            "lt_used", "ll_label", "rr_used", "allocation_time" };
+
+    private void initTables() {
+        if (resource == null)
+            resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
+        if (allocationItem == null)
+            allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
+    }
+
+    public void cleanup() {
+        allocationItem.delete("true");
+        resource.delete("true");
+    }
+
+    public void setupLimitItem(
+            String resourceName,
+            String assetId,
+            String resourceSetId,
+            String resourceUnionId,
+            long used) {
+        initTables();
+
+        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
+        if (rid == null) {
+            resource.add(assetId, resourceName, "Limit", 1, null, null, null);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, used, null, null, new Date());
+    }
+
+    public void setupRangeItem(
+            String resourceName,
+            String assetId,
+            String resourceSetId,
+            String resourceUnionId,
+            String used) {
+        initTables();
+
+        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
+        if (rid == null) {
+            resource.add(assetId, resourceName, "Range", null, null, null, used);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, null, used, new Date());
+    }
+
+    public void setupLabelItem(
+            String resourceName,
+            String assetId,
+            String resourceSetId,
+            String resourceUnionId,
+            String label) {
+        initTables();
+
+        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
+        if (rid == null) {
+            resource.add(assetId, resourceName, "Label", null, label, 1, null);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, label, null, new Date());
+    }
+
+    public void setTestDb(TestDb testDb) {
+        this.testDb = testDb;
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
index ec7c2abfe..ba890c72a 100644
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,13 +25,13 @@ import org.springframework.jdbc.core.JdbcTemplate;
 
 public class TestDb {
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	public TestTable table(String tableName, String idName, String... columnList) {
-		return new TestTable(jdbcTemplate, tableName, idName, columnList);
-	}
+    public TestTable table(String tableName, String idName, String... columnList) {
+        return new TestTable(jdbcTemplate, tableName, idName, columnList);
+    }
 
-	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-		this.jdbcTemplate = jdbcTemplate;
-	}
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
index 64288d96a..a57ab4fc1 100644
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,59 +26,59 @@ import org.springframework.jdbc.support.rowset.SqlRowSet;
 
 public class TestTable {
 
-	private String tableName;
-	private String[] columnList;
-	private String idName;
+    private String tableName;
+    private String[] columnList;
+    private String idName;
 
-	private String insertSql;
+    private String insertSql;
 
-	private JdbcTemplate jdbcTemplate;
+    private JdbcTemplate jdbcTemplate;
 
-	public TestTable(JdbcTemplate jdbcTemplate, String tableName, String idName, String... columnList) {
-		this.jdbcTemplate = jdbcTemplate;
-		this.tableName = tableName;
-		this.idName = idName;
-		this.columnList = columnList;
-		createInsertSql();
-	}
+    public TestTable(JdbcTemplate jdbcTemplate, String tableName, String idName, String... columnList) {
+        this.jdbcTemplate = jdbcTemplate;
+        this.tableName = tableName;
+        this.idName = idName;
+        this.columnList = columnList;
+        createInsertSql();
+    }
 
-	private void createInsertSql() {
-		StringBuilder ss = new StringBuilder();
-		ss.append("INSERT INTO ").append(tableName).append(" (");
-		for (String s : columnList)
-			ss.append(s).append(", ");
-		ss.setLength(ss.length() - 2);
-		ss.append(") VALUES (");
-		for (int i = 0; i < columnList.length; i++)
-			ss.append("?, ");
-		ss.setLength(ss.length() - 2);
-		ss.append(")");
-		insertSql = ss.toString();
-	}
+    private void createInsertSql() {
+        StringBuilder ss = new StringBuilder();
+        ss.append("INSERT INTO ").append(tableName).append(" (");
+        for (String s : columnList)
+            ss.append(s).append(", ");
+        ss.setLength(ss.length() - 2);
+        ss.append(") VALUES (");
+        for (int i = 0; i < columnList.length; i++)
+            ss.append("?, ");
+        ss.setLength(ss.length() - 2);
+        ss.append(")");
+        insertSql = ss.toString();
+    }
 
-	public void add(Object... values) {
-		jdbcTemplate.update(insertSql, values);
-	}
+    public void add(Object... values) {
+        jdbcTemplate.update(insertSql, values);
+    }
 
-	public long getLastId() {
-		return jdbcTemplate.queryForObject("SELECT max(" + idName + ") FROM " + tableName, Long.class);
-	}
+    public long getLastId() {
+        return jdbcTemplate.queryForObject("SELECT max(" + idName + ") FROM " + tableName, Long.class);
+    }
 
-	public Long getId(String where) {
-		String selectSql = "SELECT " + idName + " FROM " + tableName + " WHERE " + where;
-		SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
-		if (rs.first())
-			return rs.getLong(idName);
-		return null;
-	}
+    public Long getId(String where) {
+        String selectSql = "SELECT " + idName + " FROM " + tableName + " WHERE " + where;
+        SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
+        if (rs.first())
+            return rs.getLong(idName);
+        return null;
+    }
 
-	public boolean exists(String where) {
-		String selectSql = "SELECT * FROM " + tableName + " WHERE " + where;
-		SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
-		return rs.first();
-	}
+    public boolean exists(String where) {
+        String selectSql = "SELECT * FROM " + tableName + " WHERE " + where;
+        SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
+        return rs.first();
+    }
 
-	public void delete(String where) {
-		jdbcTemplate.update("DELETE FROM " + tableName + " WHERE " + where);
-	}
+    public void delete(String where) {
+        jdbcTemplate.update("DELETE FROM " + tableName + " WHERE " + where);
+    }
 }
diff --git a/resource-assignment/provider/src/test/resources/homing-req.json b/resource-assignment/provider/src/test/resources/homing-req.json
index 48ec701a7..1f061eca1 100644
--- a/resource-assignment/provider/src/test/resources/homing-req.json
+++ b/resource-assignment/provider/src/test/resources/homing-req.json
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * 						reserved.
+ * reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,27 +20,27 @@
  */
 
 {
-	"input":{
-		"sdnc-homing-header":{
-			"svc-request-id":"omx-123",
-			"svc-action":"homing"
-		},
-		"request-information":{
-			"request-id":"mso-1234",
-			"request-action":"GetAicNodesRequest",
-			"source":"OMX",
-			"list-length":1
-		},
-		"homing-request-information":{
-			"service-type":"SDN-ETHERNET-INTERNET",
-			"global-customer-id":"custid-123",
-			"customer-location":{
-				"lata":332
-			}
-		},
-		"homing-other-information":{
-			"bandwidth-value":150,
-			"bandwidth-units":"Mbps"
-		}
-	}
+    "input":{
+        "sdnc-homing-header":{
+            "svc-request-id":"omx-123",
+            "svc-action":"homing"
+        },
+        "request-information":{
+            "request-id":"mso-1234",
+            "request-action":"GetAicNodesRequest",
+            "source":"OMX",
+            "list-length":1
+        },
+        "homing-request-information":{
+            "service-type":"SDN-ETHERNET-INTERNET",
+            "global-customer-id":"custid-123",
+            "customer-location":{
+                "lata":332
+            }
+        },
+        "homing-other-information":{
+            "bandwidth-value":150,
+            "bandwidth-units":"Mbps"
+        }
+    }
 }
diff --git a/resource-assignment/provider/src/test/resources/log4j.properties b/resource-assignment/provider/src/test/resources/log4j.properties
index 6d6e30ff2..b36b7674f 100644
--- a/resource-assignment/provider/src/test/resources/log4j.properties
+++ b/resource-assignment/provider/src/test/resources/log4j.properties
@@ -3,7 +3,7 @@
 # openECOMP : SDN-C
 # ================================================================================
 # Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
index 2214bce79..f840a2322 100644
--- a/resource-assignment/provider/src/test/resources/sql/data.sql
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- 						reserved.
+-- reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
@@ -34,10 +34,10 @@ VALUES (
     'service-speed-kbps', '0.6 * max-server-speed * number-primary-servers', 'max-server-speed * number-primary-servers');
 
 INSERT INTO RESOURCE_RULE (
-	resource_name, service_model, end_point_position, service_expression, equipment_level,
+  resource_name, service_model, end_point_position, service_expression, equipment_level,
     equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
 VALUES (
-	'Connection', 'L3SDN', 'VCE-Cust', 'true', 'Server',
+  'Connection', 'L3SDN', 'VCE-Cust', 'true', 'Server',
     'true', '1', '40', '40');
 
 INSERT INTO RESOURCE_RULE (
@@ -48,51 +48,51 @@ VALUES (
     'service-speed-kbps', '0.5 * max-port-speed', '0.9 * max-port-speed');
 
 INSERT INTO RESOURCE_RULE (
-	resource_name, service_model, end_point_position, service_expression,
+  resource_name, service_model, end_point_position, service_expression,
     equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
 VALUES (
-	'Bandwidth', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
+  'Bandwidth', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
 
 INSERT INTO RESOURCE_RULE (
-	resource_name, service_model, end_point_position, service_expression,
+  resource_name, service_model, end_point_position, service_expression,
     equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
 VALUES (
-	'Connection', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', '1', '200', '200');
+  'Connection', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', '1', '200', '200');
 
 INSERT INTO RESOURCE_RULE (
-	resource_name, service_model, end_point_position, service_expression,
+  resource_name, service_model, end_point_position, service_expression,
     equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
 VALUES (
-	'Bandwidth', 'L3AVPN-PORT', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
+  'Bandwidth', 'L3AVPN-PORT', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
 
 insert into RESOURCE_THRESHOLD (
-	resource_rule_id, threshold_expression, threshold_message)
+  resource_rule_id, threshold_expression, threshold_message)
 values (
-	(select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
+  (select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
     '0.5 * max-server-speed * number-primary-servers',
     'The provisioned access bandwidth is at or exceeds 50% of the total server capacity.');
 
 insert into RESOURCE_THRESHOLD (
-	resource_rule_id, threshold_expression, threshold_message)
+  resource_rule_id, threshold_expression, threshold_message)
 values (
-	(select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
+  (select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
     '0.7 * max-server-speed * number-primary-servers',
     'The provisioned access bandwidth is at or exceeds 70% of the total server capacity.');
 
 INSERT INTO RANGE_RULE (
-	range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+  range_name, service_model, end_point_position, equipment_level, min_value, max_value)
 VALUES (
-	'subinterface-id', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 100, 3999);
+  'subinterface-id', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 100, 3999);
 
 INSERT INTO RANGE_RULE (
-	range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+  range_name, service_model, end_point_position, equipment_level, min_value, max_value)
 VALUES (
-	'vlan-id-inner', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 2, 4091);
+  'vlan-id-inner', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 2, 4091);
 
 INSERT INTO RANGE_RULE (
-	range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+  range_name, service_model, end_point_position, equipment_level, min_value, max_value)
 VALUES (
-	'bundle-id', 'L3AVPN-PORT', 'VPE-Cust', 'Port', 1, 99999);
+  'bundle-id', 'L3AVPN-PORT', 'VPE-Cust', 'Port', 1, 99999);
 
 INSERT INTO MAX_PORT_SPEED (
      image_file_name, end_point_position, interface_name, max_speed, unit)
@@ -116,5 +116,5 @@ VALUES ('ALL', 10000, 500, 'Mbps', 'Max speed, when there are 21 or more EVC on
 
 INSERT INTO PARAMETERS (name, value, category, memo)
 VALUES ('homing.pserver.sparing.ratio', '1:1', 'homing',
-	'Ratio of primary to backup servers within any of the AIC sites. Used in RA to calculate the max allowed bw in an AIC site.');
+  'Ratio of primary to backup servers within any of the AIC sites. Used in RA to calculate the max allowed bw in an AIC site.');
 
diff --git a/resource-assignment/provider/src/test/resources/sql/schema.sql b/resource-assignment/provider/src/test/resources/sql/schema.sql
index e650337e0..03b5bfa7d 100644
--- a/resource-assignment/provider/src/test/resources/sql/schema.sql
+++ b/resource-assignment/provider/src/test/resources/sql/schema.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- 						reserved.
+-- reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
@@ -20,12 +20,12 @@
 ---
 
 CREATE TABLE RESOURCE_LOCK (
-	resource_lock_id SERIAL PRIMARY KEY,
-	resource_name VARCHAR(50) NOT NULL UNIQUE,
-	lock_holder VARCHAR(100) NOT NULL,
-	lock_count SMALLINT NOT NULL,
-	lock_time DATETIME NOT NULL,
-	expiration_time DATETIME NOT NULL
+  resource_lock_id SERIAL PRIMARY KEY,
+  resource_name VARCHAR(50) NOT NULL UNIQUE,
+  lock_holder VARCHAR(100) NOT NULL,
+  lock_count SMALLINT NOT NULL,
+  lock_time DATETIME NOT NULL,
+  expiration_time DATETIME NOT NULL
 );
 
 CREATE TABLE RESOURCE (
@@ -70,59 +70,59 @@ CREATE INDEX i1_allocation_item ON allocation_item (resource_id);
 CREATE UNIQUE INDEX ak1_allocation_item ON allocation_item (resource_id, resource_set_id);
 
 CREATE TABLE RESOURCE_RULE (
-	resource_rule_id SERIAL PRIMARY KEY,
-	resource_name VARCHAR(50) NOT NULL,
-	service_model VARCHAR(50) NOT NULL,
-	end_point_position VARCHAR(50) NOT NULL,
-	service_expression VARCHAR(2000) NOT NULL,
-	equipment_level VARCHAR(50) NOT NULL,
-	equipment_expression VARCHAR(2000) NOT NULL,
-	allocation_expression VARCHAR(2000) NOT NULL,
-	soft_limit_expression VARCHAR(2000) NOT NULL,
-	hard_limit_expression VARCHAR(2000) NOT NULL
+  resource_rule_id SERIAL PRIMARY KEY,
+  resource_name VARCHAR(50) NOT NULL,
+  service_model VARCHAR(50) NOT NULL,
+  end_point_position VARCHAR(50) NOT NULL,
+  service_expression VARCHAR(2000) NOT NULL,
+  equipment_level VARCHAR(50) NOT NULL,
+  equipment_expression VARCHAR(2000) NOT NULL,
+  allocation_expression VARCHAR(2000) NOT NULL,
+  soft_limit_expression VARCHAR(2000) NOT NULL,
+  hard_limit_expression VARCHAR(2000) NOT NULL
 );
 
 CREATE TABLE RESOURCE_THRESHOLD (
-	resource_threshold_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-	resource_rule_id bigint(20) NOT NULL,
-	threshold_expression varchar(2000) NOT NULL,
-	threshold_message varchar(2000) NOT NULL,
-	PRIMARY KEY (resource_threshold_id)
+  resource_threshold_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  resource_rule_id bigint(20) NOT NULL,
+  threshold_expression varchar(2000) NOT NULL,
+  threshold_message varchar(2000) NOT NULL,
+  PRIMARY KEY (resource_threshold_id)
 );
 
 CREATE TABLE RANGE_RULE (
-	range_rule_id SERIAL PRIMARY KEY,
-	range_name VARCHAR(50) NOT NULL,
-	service_model VARCHAR(50) NOT NULL,
-	end_point_position VARCHAR(50) NOT NULL,
-	equipment_level VARCHAR(50) NOT NULL,
-	min_value INT NOT NULL,
-	max_value INT NOT NULL
+  range_rule_id SERIAL PRIMARY KEY,
+  range_name VARCHAR(50) NOT NULL,
+  service_model VARCHAR(50) NOT NULL,
+  end_point_position VARCHAR(50) NOT NULL,
+  equipment_level VARCHAR(50) NOT NULL,
+  min_value INT NOT NULL,
+  max_value INT NOT NULL
 );
 
 CREATE TABLE MAX_PORT_SPEED (
-	max_port_speed_id SERIAL PRIMARY KEY,
-	image_file_name VARCHAR(50) NOT NULL,
-	end_point_position VARCHAR(50) NOT NULL,
-	interface_name VARCHAR(100) NOT NULL,
-	max_speed BIGINT NOT NULL,
-	unit VARCHAR(10) NOT NULL
+  max_port_speed_id SERIAL PRIMARY KEY,
+  image_file_name VARCHAR(50) NOT NULL,
+  end_point_position VARCHAR(50) NOT NULL,
+  interface_name VARCHAR(100) NOT NULL,
+  max_speed BIGINT NOT NULL,
+  unit VARCHAR(10) NOT NULL
 );
 
 CREATE TABLE MAX_SERVER_SPEED (
-	max_server_speed_id SERIAL PRIMARY KEY,
-	server_model VARCHAR(50) NOT NULL,
-	evc_count SMALLINT NOT NULL,
-	max_speed BIGINT NOT NULL,
-	unit VARCHAR(10) NOT NULL,
-	description VARCHAR(500)
+  max_server_speed_id SERIAL PRIMARY KEY,
+  server_model VARCHAR(50) NOT NULL,
+  evc_count SMALLINT NOT NULL,
+  max_speed BIGINT NOT NULL,
+  unit VARCHAR(10) NOT NULL,
+  description VARCHAR(500)
 );
 
 CREATE TABLE SERVICE_RESOURCE (
-	service_resource_id SERIAL PRIMARY KEY,
-	service_instance_id VARCHAR(80) NOT NULL,
-	service_status VARCHAR(10) NOT NULL,
-	service_change_number SMALLINT NOT NULL,
+  service_resource_id SERIAL PRIMARY KEY,
+  service_instance_id VARCHAR(80) NOT NULL,
+  service_status VARCHAR(10) NOT NULL,
+  service_change_number SMALLINT NOT NULL,
     resource_set_id VARCHAR(100) NOT NULL,
     resource_union_id VARCHAR(100) NOT NULL,
 );
@@ -132,37 +132,37 @@ CREATE INDEX i1_service_resource ON SERVICE_RESOURCE (service_instance_id);
 CREATE UNIQUE INDEX ak1_service_resource ON SERVICE_RESOURCE (service_instance_id, service_change_number);
 
 CREATE TABLE VPE_POOL (
-	vpe_name VARCHAR(20) NOT NULL,
-	ipv4_oam_address VARCHAR(20) NOT NULL,
-	loopback0_ipv4_address VARCHAR(20) NOT NULL,
-	provisioning_status VARCHAR(10) NOT NULL,
-	aic_site_id VARCHAR(100) NOT NULL,
-	availability_zone VARCHAR(100) NOT NULL,
-	vlan_id_outer VARCHAR(20) NOT NULL,
-	vendor VARCHAR(20) NOT NULL,
-	physical_intf_name VARCHAR(40) NOT NULL,
-	physical_intf_speed VARCHAR(20) NOT NULL,
-	physical_intf_units VARCHAR(20) NOT NULL,
-	vpe_uuid VARCHAR(80) DEFAULT NULL,
-	vpe_id VARCHAR(80) DEFAULT NULL,
-	image_filename VARCHAR(100) DEFAULT NULL,
-	PRIMARY KEY (aic_site_id, vpe_name, availability_zone)
+  vpe_name VARCHAR(20) NOT NULL,
+  ipv4_oam_address VARCHAR(20) NOT NULL,
+  loopback0_ipv4_address VARCHAR(20) NOT NULL,
+  provisioning_status VARCHAR(10) NOT NULL,
+  aic_site_id VARCHAR(100) NOT NULL,
+  availability_zone VARCHAR(100) NOT NULL,
+  vlan_id_outer VARCHAR(20) NOT NULL,
+  vendor VARCHAR(20) NOT NULL,
+  physical_intf_name VARCHAR(40) NOT NULL,
+  physical_intf_speed VARCHAR(20) NOT NULL,
+  physical_intf_units VARCHAR(20) NOT NULL,
+  vpe_uuid VARCHAR(80) DEFAULT NULL,
+  vpe_id VARCHAR(80) DEFAULT NULL,
+  image_filename VARCHAR(100) DEFAULT NULL,
+  PRIMARY KEY (aic_site_id, vpe_name, availability_zone)
 );
 
 CREATE TABLE VPLSPE_POOL (
-	vplspe_name varchar(20) NOT NULL,
-	aic_site_id varchar(100) NOT NULL,
-	availability_zone varchar(100) NOT NULL,
-	physical_intf_name varchar(40) NOT NULL,
-	physical_intf_speed varchar(20) NOT NULL,
-	physical_intf_units varchar(20) NOT NULL,
-	loopback0_ipv4_address varchar(20) NOT NULL,
-	vlan_id_outer varchar(20) NOT NULL,
-	vplspe_uuid varchar(80) DEFAULT NULL,
-	image_filename varchar(100) DEFAULT NULL,
-	provisioning_status varchar(10) DEFAULT NULL,
-	vendor varchar(20) DEFAULT NULL,
-	PRIMARY KEY (vplspe_name, aic_site_id, availability_zone, physical_intf_name)
+  vplspe_name varchar(20) NOT NULL,
+  aic_site_id varchar(100) NOT NULL,
+  availability_zone varchar(100) NOT NULL,
+  physical_intf_name varchar(40) NOT NULL,
+  physical_intf_speed varchar(20) NOT NULL,
+  physical_intf_units varchar(20) NOT NULL,
+  loopback0_ipv4_address varchar(20) NOT NULL,
+  vlan_id_outer varchar(20) NOT NULL,
+  vplspe_uuid varchar(80) DEFAULT NULL,
+  image_filename varchar(100) DEFAULT NULL,
+  provisioning_status varchar(10) DEFAULT NULL,
+  vendor varchar(20) DEFAULT NULL,
+  PRIMARY KEY (vplspe_name, aic_site_id, availability_zone, physical_intf_name)
 );
 
 CREATE TABLE VPE_LOCK (
@@ -172,30 +172,30 @@ CREATE TABLE VPE_LOCK (
 );
 
 CREATE TABLE PARAMETERS (
-	name varchar(100) PRIMARY KEY,
-	value varchar(24) NOT NULL,
-	category varchar(24) NOT NULL,
-	memo varchar(128)
+  name varchar(100) PRIMARY KEY,
+  value varchar(24) NOT NULL,
+  category varchar(24) NOT NULL,
+  memo varchar(128)
 );
 
 CREATE TABLE PSERVER (
-	hostname varchar(255) NOT NULL,
-	ptnii_equip_name varchar(255),
-	number_of_cpus varchar(255),
-	disk_in_gigabytes varchar(255),
-	ram_in_megabytes varchar(255),
-	equip_type varchar(255),
-	equip_vendor varchar(255),
-	equip_model varchar(255),
-	fqdn varchar(255),
-	pserver_selflink varchar(255),
-	ipv4_oam_address varchar(15),
-	serial_number varchar(255),
-	pserver_id varchar(255),
-	internet_topology varchar(40),
-	aic_site_id varchar(100),
-	in_maint varchar(5),
-	pserver_name2 varchar(255),
-	purpose varchar(255),
-	PRIMARY KEY (hostname)
+  hostname varchar(255) NOT NULL,
+  ptnii_equip_name varchar(255),
+  number_of_cpus varchar(255),
+  disk_in_gigabytes varchar(255),
+  ram_in_megabytes varchar(255),
+  equip_type varchar(255),
+  equip_vendor varchar(255),
+  equip_model varchar(255),
+  fqdn varchar(255),
+  pserver_selflink varchar(255),
+  ipv4_oam_address varchar(15),
+  serial_number varchar(255),
+  pserver_id varchar(255),
+  internet_topology varchar(40),
+  aic_site_id varchar(100),
+  in_maint varchar(5),
+  pserver_name2 varchar(255),
+  purpose varchar(255),
+  PRIMARY KEY (hostname)
 );
diff --git a/resource-assignment/provider/src/test/resources/test-context.xml b/resource-assignment/provider/src/test/resources/test-context.xml
index 89aea439e..1d21fa4f6 100644
--- a/resource-assignment/provider/src/test/resources/test-context.xml
+++ b/resource-assignment/provider/src/test/resources/test-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -21,277 +21,277 @@
   -->
 
 <beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
-	xmlns:context="http://www.springframework.org/schema/context"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans
-	http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-	http://www.springframework.org/schema/jdbc
- 	http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
- 	http://www.springframework.org/schema/context
- 	http://www.springframework.org/schema/context/spring-context-3.1.xsd
- 					">
- 					
- 	<context:annotation-config />
-
-	<!-- JDBC setup -->
-
-	<bean id="test.dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="false">
-		<property name="driverClassName" value="org.h2.Driver" />
-		<property name="url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MySQL" />
-	</bean>
-
-	<jdbc:initialize-database data-source="test.dataSource">
-		<jdbc:script location="sql/schema.sql" />
-		<jdbc:script location="sql/data.sql" />
-	</jdbc:initialize-database>
-
-	<bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
-		<property name="dataSource" ref="test.dataSource" />
-	</bean>
-	
-	<bean id="testDb" class="jtest.util.org.openecomp.sdnc.ra.TestDb">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-	
-	<bean id="dataSetup" class="jtest.org.openecomp.sdnc.ra.DataSetup">
-		<property name="testDb" ref="testDb" />
-	</bean>
-
-	<!-- Utils Configuration -->
-	
-	<bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
-		<property name="unitFactor" value="1000" />
-	</bean>
-
-	<!-- Resource Lock Configuration -->
-
-	<bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-		<property name="testing" value="true" />
-	</bean>
-
-	<bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
-		<property name="resourceLockDao" ref="resourceLockDao" />
-		<property name="retryCount" value="10" />
-		<property name="lockWait" value="5" /> <!-- Seconds -->
-	</bean>
-
-	<!-- RM Configuration -->
-
-	<bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
-		<property name="resourceJdbcDao" ref="resourceJdbcDao" />
-		<property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
-		<property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
-	</bean>
-
-	<bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
-		<property name="lockHelper" ref="lockHelper" />
-		<property name="resourceDao" ref="resourceDao" />
-		<property name="applicationId" value="SDNC" />
-		<property name="lockTimeout" value="600" /> <!-- Seconds -->
-	</bean>
-
-	<!-- Equipment DAO Configuration -->
-
-	<bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<!-- Rule DAO Configuration -->
-
-	<bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-		<property name="speedUtil" ref="speedUtil" />
-	</bean>
-
-	<bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-		<property name="speedUtil" ref="speedUtil" />
-	</bean>
-
-	<bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<!-- Service DAO Configuration -->
-
-	<bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
-		<property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-	</bean>
-
-	<!-- ResourceAllocator Configuration -->
-	
-	<bean id="allocationRequestBuilder" class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
-		<property name="resourceRuleDao" ref="resourceRuleDao" />
-		<property name="rangeRuleDao" ref="rangeRuleDao" />
-	</bean>
-
-	<bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
-		<property name="speedUtil" ref="speedUtil" />
-		<property name="parameterDao" ref="parameterDao" />
-		<property name="serverDao" ref="serverDao" />
-		<property name="vpePortDao" ref="vpePortDao" />
-		<property name="vplspePortDao" ref="vplspePortDao" />
-		<property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
-		<property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
-		<property name="serviceResourceDao" ref="serviceResourceDao" />
-		<property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
-		<property name="resourceManager" ref="resourceManager" />
-		<property name="endPointAllocator" ref="endPointAllocator" />
-	</bean>
-
-	<!-- EndPointAllocator Configuration -->
-
-	<bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
-		<property name="resourceManager" ref="resourceManager" />
-		<property name="endPointAllocationDefinitionMap">
-			<map>
-				<entry key="L3AVPN-PORT">
-					<list>
-						<bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
-							<property name="serviceModel" value="L3AVPN-PORT" />
-							<property name="endPointPosition" value="VPE-Cust" />
-							<property name="equipmentReader" ref="vpePortReader" />
-							<property name="equipmentCheckList">
-								<list>
-									<ref bean="provStatusCheck" />
-									<ref bean="excludeVpeCheck" />
-									<ref bean="anyVrfPresentCheck" />
-								</list>
-							</property>
-							<property name="preferenceRuleList">
-								<list>
-									<ref bean="affinityLinkPref" />
-								</list>
-							</property>
-							<property name="allocationRuleList">
-								<list>
-									<ref bean="dbAllocationRule" />
-									<ref bean="affinityAllocationRule" />
-								</list>
-							</property>
-						</bean>
-					</list>
-				</entry>
-				<entry key="L3AVPN-EVC">
-					<list>
-						<bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
-							<property name="serviceModel" value="L3AVPN-EVC" />
-							<property name="endPointPosition" value="VPE-Cust" />
-							<property name="equipmentReader" ref="vpePortReader" />
-							<property name="equipmentCheckList">
-								<list>
-									<ref bean="provStatusCheck" />
-									<ref bean="excludeVpeCheck" />
-									<ref bean="vpeLockCheck" />
-									<ref bean="anyVrfPresentCheck" />
-									<ref bean="oneMVrfCheck" />
-									<ref bean="hubWithRgCheck" />
-								</list>
-							</property>
-							<property name="preferenceRuleList">
-								<list>
-									<ref bean="affinityLinkPref" />
-								</list>
-							</property>
-							<property name="allocationRuleList">
-								<list>
-									<ref bean="dbAllocationRule" />
-									<ref bean="vrfAllocationRule" />
-									<ref bean="servingSiteAllocationRule" />
-									<ref bean="affinityAllocationRule" />
-								</list>
-							</property>
-						</bean>
-					</list>
-				</entry>
-			</map>
-		</property>
-	</bean>
-
-	<!-- Equipment Readers Configuration -->
-
-	<bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
-		<property name="vpePortDao" ref="vpePortDao" />
-	</bean>
-
-	<!-- Equipment Checks Configuration -->
-
-	<bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
-	</bean>
-
-	<bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
-	</bean>
-
-	<bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
-		<property name="vpeLockDao" ref="vpeLockDao" />
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<!-- Preference Rule Configuration -->
-
-	<bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
-		<property name="resourceManager" ref="resourceManager" />
-	</bean>
-
-	<!-- Resource Allocation Rule Configuration -->
-
-	<bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
-		<property name="resourceRuleDao" ref="resourceRuleDao" />
-		<property name="rangeRuleDao" ref="rangeRuleDao" />
-	</bean>
-
-	<bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
-	</bean>
-
-	<bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
-	</bean>
-
-	<bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
-	</bean>
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xsi:schemaLocation="http://www.springframework.org/schema/beans
+    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+    http://www.springframework.org/schema/jdbc
+    http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
+    http://www.springframework.org/schema/context
+    http://www.springframework.org/schema/context/spring-context-3.1.xsd
+                    ">
+
+    <context:annotation-config />
+
+    <!-- JDBC setup -->
+
+    <bean id="test.dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="false">
+        <property name="driverClassName" value="org.h2.Driver" />
+        <property name="url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MySQL" />
+    </bean>
+
+    <jdbc:initialize-database data-source="test.dataSource">
+        <jdbc:script location="sql/schema.sql" />
+        <jdbc:script location="sql/data.sql" />
+    </jdbc:initialize-database>
+
+    <bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
+        <property name="dataSource" ref="test.dataSource" />
+    </bean>
+
+    <bean id="testDb" class="jtest.util.org.openecomp.sdnc.ra.TestDb">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="dataSetup" class="jtest.org.openecomp.sdnc.ra.DataSetup">
+        <property name="testDb" ref="testDb" />
+    </bean>
+
+    <!-- Utils Configuration -->
+
+    <bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
+        <property name="unitFactor" value="1000" />
+    </bean>
+
+    <!-- Resource Lock Configuration -->
+
+    <bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+        <property name="testing" value="true" />
+    </bean>
+
+    <bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
+        <property name="resourceLockDao" ref="resourceLockDao" />
+        <property name="retryCount" value="10" />
+        <property name="lockWait" value="5" /> <!-- Seconds -->
+    </bean>
+
+    <!-- RM Configuration -->
+
+    <bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
+        <property name="resourceJdbcDao" ref="resourceJdbcDao" />
+        <property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
+        <property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
+    </bean>
+
+    <bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
+        <property name="lockHelper" ref="lockHelper" />
+        <property name="resourceDao" ref="resourceDao" />
+        <property name="applicationId" value="SDNC" />
+        <property name="lockTimeout" value="600" /> <!-- Seconds -->
+    </bean>
+
+    <!-- Equipment DAO Configuration -->
+
+    <bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <!-- Rule DAO Configuration -->
+
+    <bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+        <property name="speedUtil" ref="speedUtil" />
+    </bean>
+
+    <bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+        <property name="speedUtil" ref="speedUtil" />
+    </bean>
+
+    <bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <!-- Service DAO Configuration -->
+
+    <bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
+        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+    </bean>
+
+    <!-- ResourceAllocator Configuration -->
+
+    <bean id="allocationRequestBuilder" class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
+        <property name="resourceRuleDao" ref="resourceRuleDao" />
+        <property name="rangeRuleDao" ref="rangeRuleDao" />
+    </bean>
+
+    <bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
+        <property name="speedUtil" ref="speedUtil" />
+        <property name="parameterDao" ref="parameterDao" />
+        <property name="serverDao" ref="serverDao" />
+        <property name="vpePortDao" ref="vpePortDao" />
+        <property name="vplspePortDao" ref="vplspePortDao" />
+        <property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
+        <property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
+        <property name="serviceResourceDao" ref="serviceResourceDao" />
+        <property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
+        <property name="resourceManager" ref="resourceManager" />
+        <property name="endPointAllocator" ref="endPointAllocator" />
+    </bean>
+
+    <!-- EndPointAllocator Configuration -->
+
+    <bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
+        <property name="resourceManager" ref="resourceManager" />
+        <property name="endPointAllocationDefinitionMap">
+            <map>
+                <entry key="L3AVPN-PORT">
+                    <list>
+                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                            <property name="serviceModel" value="L3AVPN-PORT" />
+                            <property name="endPointPosition" value="VPE-Cust" />
+                            <property name="equipmentReader" ref="vpePortReader" />
+                            <property name="equipmentCheckList">
+                                <list>
+                                    <ref bean="provStatusCheck" />
+                                    <ref bean="excludeVpeCheck" />
+                                    <ref bean="anyVrfPresentCheck" />
+                                </list>
+                            </property>
+                            <property name="preferenceRuleList">
+                                <list>
+                                    <ref bean="affinityLinkPref" />
+                                </list>
+                            </property>
+                            <property name="allocationRuleList">
+                                <list>
+                                    <ref bean="dbAllocationRule" />
+                                    <ref bean="affinityAllocationRule" />
+                                </list>
+                            </property>
+                        </bean>
+                    </list>
+                </entry>
+                <entry key="L3AVPN-EVC">
+                    <list>
+                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                            <property name="serviceModel" value="L3AVPN-EVC" />
+                            <property name="endPointPosition" value="VPE-Cust" />
+                            <property name="equipmentReader" ref="vpePortReader" />
+                            <property name="equipmentCheckList">
+                                <list>
+                                    <ref bean="provStatusCheck" />
+                                    <ref bean="excludeVpeCheck" />
+                                    <ref bean="vpeLockCheck" />
+                                    <ref bean="anyVrfPresentCheck" />
+                                    <ref bean="oneMVrfCheck" />
+                                    <ref bean="hubWithRgCheck" />
+                                </list>
+                            </property>
+                            <property name="preferenceRuleList">
+                                <list>
+                                    <ref bean="affinityLinkPref" />
+                                </list>
+                            </property>
+                            <property name="allocationRuleList">
+                                <list>
+                                    <ref bean="dbAllocationRule" />
+                                    <ref bean="vrfAllocationRule" />
+                                    <ref bean="servingSiteAllocationRule" />
+                                    <ref bean="affinityAllocationRule" />
+                                </list>
+                            </property>
+                        </bean>
+                    </list>
+                </entry>
+            </map>
+        </property>
+    </bean>
+
+    <!-- Equipment Readers Configuration -->
+
+    <bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
+        <property name="vpePortDao" ref="vpePortDao" />
+    </bean>
+
+    <!-- Equipment Checks Configuration -->
+
+    <bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
+    </bean>
+
+    <bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
+    </bean>
+
+    <bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
+        <property name="vpeLockDao" ref="vpeLockDao" />
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <!-- Preference Rule Configuration -->
+
+    <bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
+        <property name="resourceManager" ref="resourceManager" />
+    </bean>
+
+    <!-- Resource Allocation Rule Configuration -->
+
+    <bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
+        <property name="resourceRuleDao" ref="resourceRuleDao" />
+        <property name="rangeRuleDao" ref="rangeRuleDao" />
+    </bean>
+
+    <bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
+    </bean>
+
+    <bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
+    </bean>
+
+    <bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
+    </bean>
 
 </beans>
-- 
cgit 1.2.3-korg


From df8f780fdad167fda692e846641c4fe966b240cb Mon Sep 17 00:00:00 2001
From: Dan Timoney <dtimoney@att.com>
Date: Tue, 15 Aug 2017 10:04:19 -0400
Subject: Fix license headers

Licence headers were accidentally updated incorrectly by previous update.
This commit restores the license headers for seed code to the wording from
the original seed code

Change-Id: If4623dd02a37660a7d7e746363dd83cf9cdb718a
Issue-ID: CCSDK-31
Signed-off-by: Dan Timoney <dtimoney@att.com>
---
 aai-service/features/src/main/resources/features.xml                | 6 +++---
 aai-service/installer/src/assembly/assemble_installer_zip.xml       | 4 ++--
 aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml         | 4 ++--
 aai-service/installer/src/main/resources/scripts/install-feature.sh | 4 ++--
 .../src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java    | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java  | 4 ++--
 .../src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java   | 4 ++--
 .../src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java   | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java   | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java   | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java     | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java    | 4 ++--
 .../src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java   | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java   | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java     | 4 ++--
 .../ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java   | 4 ++--
 .../ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java   | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java     | 4 ++--
 .../org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java     | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java     | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java     | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java     | 4 ++--
 .../src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java   | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java   | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java   | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java    | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java     | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java     | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java     | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java   | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java  | 4 ++--
 .../org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java     | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java  | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java  | 4 ++--
 .../org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java    | 4 ++--
 .../onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java   | 4 ++--
 .../onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java    | 4 ++--
 .../ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java     | 4 ++--
 .../onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java  | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java    | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java    | 4 ++--
 .../main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java    | 4 ++--
 .../java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java  | 4 ++--
 aai-service/provider/src/main/resources/aai-path.properties         | 4 ++--
 .../onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java   | 4 ++--
 aai-service/provider/src/test/resources/aaiclient.properties        | 4 ++--
 mdsal-resource/features/src/main/resources/features.xml             | 4 ++--
 mdsal-resource/installer/src/assembly/assemble_installer_zip.xml    | 4 ++--
 mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml      | 4 ++--
 .../installer/src/main/resources/scripts/install-feature.sh         | 4 ++--
 .../java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java  | 4 ++--
 .../openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java   | 4 ++--
 .../org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java  | 4 ++--
 .../java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java     | 4 ++--
 mdsal-resource/provider/src/main/resources/crtables.sql             | 4 ++--
 mdsal-resource/provider/src/main/resources/svclogic.properties      | 4 ++--
 resource-assignment/features/src/main/resources/features.xml        | 4 ++--
 .../installer/src/assembly/assemble_installer_zip.xml               | 4 ++--
 resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml | 4 ++--
 .../installer/src/main/resources/scripts/install-feature.sh         | 4 ++--
 .../src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java      | 4 ++--
 .../src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java  | 4 ++--
 .../java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java  | 4 ++--
 .../java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java  | 4 ++--
 .../main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java      | 4 ++--
 .../java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java | 4 ++--
 .../java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java    | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java   | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java   | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java   | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java    | 4 ++--
 .../org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java      | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java       | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java    | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java    | 4 ++--
 .../java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java     | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java  | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java       | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java   | 4 ++--
 .../org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java   | 4 ++--
 .../openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java   | 4 ++--
 .../java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java    | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java | 4 ++--
 .../java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java  | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java  | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java  | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java   | 4 ++--
 .../java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java    | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java | 4 ++--
 .../java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java     | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java  | 4 ++--
 .../java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java  | 4 ++--
 .../org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java   | 4 ++--
 .../java/org/openecomp/sdnc/ra/service/data/ServiceResource.java    | 4 ++--
 .../main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java   | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java   | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java        | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java    | 4 ++--
 .../java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java  | 4 ++--
 .../org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java   | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java      | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java   | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java   | 4 ++--
 .../java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java  | 4 ++--
 .../java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java    | 4 ++--
 .../org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/InitAction.java        | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java   | 4 ++--
 .../java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java     | 4 ++--
 .../java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java     | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java   | 4 ++--
 .../java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java     | 4 ++--
 .../java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java     | 4 ++--
 .../org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java     | 4 ++--
 .../org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java     | 4 ++--
 .../org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java  | 4 ++--
 .../org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java  | 4 ++--
 .../main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java   | 4 ++--
 .../java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java     | 4 ++--
 .../java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java     | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java     | 4 ++--
 .../provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java       | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java      | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java      | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java         | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java         | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java         | 4 ++--
 .../src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java      | 4 ++--
 .../main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java  | 4 ++--
 .../src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java    | 4 ++--
 .../src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java    | 4 ++--
 .../main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java      | 4 ++--
 .../provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java | 4 ++--
 .../src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java         | 4 ++--
 .../provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java | 4 ++--
 .../main/resources/META-INF/spring/resource-assignment-context.xml  | 4 ++--
 .../resources/META-INF/spring/resource-assignment-osgi-context.xml  | 4 ++--
 .../provider/src/main/resources/resource-allocator.properties       | 4 ++--
 .../provider/src/main/resources/sql/001_resource_rule_ddl.sql       | 4 ++--
 .../provider/src/main/resources/sql/002_max_port_speed_ddl.sql      | 4 ++--
 .../provider/src/main/resources/sql/003_max_server_speed_ddl.sql    | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java        | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java  | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java        | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java      | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java      | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java     | 4 ++--
 .../src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java        | 4 ++--
 .../src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java      | 4 ++--
 .../src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java   | 4 ++--
 resource-assignment/provider/src/test/resources/log4j.properties    | 4 ++--
 resource-assignment/provider/src/test/resources/sql/data.sql        | 4 ++--
 resource-assignment/provider/src/test/resources/sql/schema.sql      | 4 ++--
 resource-assignment/provider/src/test/resources/test-context.xml    | 4 ++--
 sql-resource/features/src/main/resources/features.xml               | 4 ++--
 sql-resource/installer/src/assembly/assemble_installer_zip.xml      | 4 ++--
 sql-resource/installer/src/assembly/assemble_mvnrepo_zip.xml        | 4 ++--
 .../installer/src/main/resources/scripts/install-feature.sh         | 4 ++--
 .../main/java/org/openecomp/sdnc/sli/resource/sql/SqlResource.java  | 4 ++--
 .../org/openecomp/sdnc/sli/resource/sql/SqlResourceActivator.java   | 4 ++--
 sql-resource/provider/src/main/resources/svclogic.properties        | 4 ++--
 .../java/org/openecomp/sdnc/sli/resource/sql/SqlResourceTest.java   | 4 ++--
 sql-resource/provider/src/test/resources/simplelogger.properties    | 4 ++--
 sql-resource/provider/src/test/resources/svclogic.properties        | 4 ++--
 231 files changed, 463 insertions(+), 463 deletions(-)

(limited to 'resource-assignment/provider/src/test/resources/sql/data.sql')

diff --git a/aai-service/features/src/main/resources/features.xml b/aai-service/features/src/main/resources/features.xml
index c992710a0..bd3d0bc1d 100644
--- a/aai-service/features/src/main/resources/features.xml
+++ b/aai-service/features/src/main/resources/features.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
   ============LICENSE_START=======================================================
-  ONAP : CCSDK
+  openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/installer/src/assembly/assemble_installer_zip.xml b/aai-service/installer/src/assembly/assemble_installer_zip.xml
index 5f32ff4ce..b6fd65582 100644
--- a/aai-service/installer/src/assembly/assemble_installer_zip.xml
+++ b/aai-service/installer/src/assembly/assemble_installer_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-                        reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml b/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
index 6b7d23f89..2ee224477 100644
--- a/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-                        reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/installer/src/main/resources/scripts/install-feature.sh b/aai-service/installer/src/main/resources/scripts/install-feature.sh
index 214dbbe7e..df03392c8 100644
--- a/aai-service/installer/src/main/resources/scripts/install-feature.sh
+++ b/aai-service/installer/src/main/resources/scripts/install-feature.sh
@@ -4,8 +4,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java
index 4d836b40a..604b236e6 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClient.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java
index 73c2eebbf..f8bfe78f3 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIDeclarations.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java
index d315bad1c..3cc7e5ba4 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIExecutorInterface.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java
index e54d1f7f1..c6145f8ae 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java
index b5e452428..46e03df36 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java
index 45c3d3d20..6ce685db0 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceActivator.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java
index 8d57db43a..ff182f2d8 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceException.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java
index bd2c724a1..ebcd46545 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIServiceUtils.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java
index 6fffc6e8f..8b273df73 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAITrinityService.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java
index 8086228b1..1f5bd7f2e 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CloudRegionRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java
index 994f1b6bf..89ca875ba 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/CustomQueryRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java
index 86e2d5f5e..99036aa7e 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/EchoRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java
index b509650de..0717dd34d 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericQueryRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java
index 1d3cb00f9..e2bf885d9 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java
index 3f33ff6d1..d7bf1d0d4 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/GenericVnfRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java
index 6cddfdb06..e2fd570a3 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv4AddressListRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java
index b8fdda9fd..793155088 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/L3InterfaceIpv6AddressListRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java
index 1accc82c0..ae1eb287f 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LInterfaceRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java
index f5bbde7e3..169f0d1d0 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/LagInterfacePnfRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java
index c93b0f189..37410e00d 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NamedQueryRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java
index c6aeb3119..17d5a0dce 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/NodesQueryRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java
index c4d078bf9..0d3c6f7ac 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfacePnfRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java
index 8a040b2f2..f5436d8fe 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PInterfaceRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java
index a42e045bb..608f2f491 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PathRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java
index 94dfdaf27..11e0a7824 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/PhysicalLinkRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java
index 9ae635c67..61efc7a5e 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/RelationshipRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java
index 95b5c3505..fb1f1aec4 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SelfLinkRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java
index 9e0a6d53f..af7bb184e 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/SubInterfaceRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java
index 705f53d28..5074b46e5 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/UpdateRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java
index 84323176b..2a44a38e4 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/AAIDatum.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java
index 576c15701..40f5f4e4c 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/EchoResponse.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java
index 6a255fcf1..e650003cb 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ErrorResponse.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java
index 9bbca18f5..88325d828 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/RequestError.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java
index f5901a8be..237d95a5a 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResourceVersion.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java
index db3778792..4742cef7a 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessage.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java
index a23878084..8ba5d145b 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ResponseMessages.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java
index b98d3d8fc..bdb09855a 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/ServiceException.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java
index 14ed86677..91a3cae59 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/SubInterface.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java
index 3b03ba472..3bdf70d7a 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/Variables.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java
index 641a8abde..1cad9fdd6 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/KeyDatum.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java
index d97b35239..007096188 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/notify/NotifyEvent.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java
index 6ffc30c45..ad2291608 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Flavor.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java
index 7c171ebd9..7a2d2027e 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Host.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java
index 0e27c5418..7451b41e1 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Image.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java
index 19a9bf6a9..65800e4fb 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/IpAddress.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java
index 8e04e35f5..329571acf 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/Relationship.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java
index 1ac21640c..8e9675289 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipDatum.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java
index 3c46d21bd..81126baf0 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/RelationshipList.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java
index 45d725530..623c19ab7 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/data/v1507/VServer.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java
index e533a164f..e2074e97b 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryRequestData.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java
index 248cd9597..e25254900 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/FormattedQueryResultList.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java
index aa32847c4..efc16b934 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilter.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java
index 265c1866c..c0a3ba255 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/InstanceFilters.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java
index 65350c23d..170fa78a0 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQuery.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java
index 8188acf23..f71702461 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/NamedQueryData.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java
index c6ddbcbca..ba37900ae 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/QueryParameters.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java
index 45d8035e4..efd50533b 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/query/Results.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java
index f3d509987..376da0d01 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Action.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java
index 0cd70012f..67c6246c7 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/ActionDatum.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java
index 43f912dfa..80bb75694 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/Update.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java
index caa1de450..6803ea2c2 100644
--- a/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java
+++ b/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/update/UpdateNodeKey.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/main/resources/aai-path.properties b/aai-service/provider/src/main/resources/aai-path.properties
index b0fb35a56..73ed15cc9 100644
--- a/aai-service/provider/src/main/resources/aai-path.properties
+++ b/aai-service/provider/src/main/resources/aai-path.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java b/aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java
index 9d357d30f..b0345157c 100644
--- a/aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java
+++ b/aai-service/provider/src/test/java/org/onap/ccsdk/sli/adaptors/aai/r1607/R1607AutoGeneratedTest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/aai-service/provider/src/test/resources/aaiclient.properties b/aai-service/provider/src/test/resources/aaiclient.properties
index d1bd26fdb..732a96d0e 100644
--- a/aai-service/provider/src/test/resources/aaiclient.properties
+++ b/aai-service/provider/src/test/resources/aaiclient.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/features/src/main/resources/features.xml b/mdsal-resource/features/src/main/resources/features.xml
index 6ed0b1ebe..85aa6304d 100644
--- a/mdsal-resource/features/src/main/resources/features.xml
+++ b/mdsal-resource/features/src/main/resources/features.xml
@@ -3,8 +3,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-                        reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml b/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
index 5f32ff4ce..b6fd65582 100644
--- a/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
+++ b/mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-                        reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml b/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
index 6b7d23f89..2ee224477 100644
--- a/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-                        reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh b/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
index 214dbbe7e..df03392c8 100644
--- a/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
+++ b/mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
@@ -4,8 +4,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
index 4a89ad8f6..344707f4b 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
index 9be03e9d4..7f6e7fc5b 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
index 9374d2ab4..5d6ee0665 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
index a7b77e5bd..21e7514b6 100644
--- a/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
+++ b/mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/provider/src/main/resources/crtables.sql b/mdsal-resource/provider/src/main/resources/crtables.sql
index f8f57166e..5ee75f4e4 100644
--- a/mdsal-resource/provider/src/main/resources/crtables.sql
+++ b/mdsal-resource/provider/src/main/resources/crtables.sql
@@ -2,8 +2,8 @@
 -- ============LICENSE_START=======================================================
 -- openECOMP : SDN-C
 -- ================================================================================
--- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- reserved.
+-- Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/mdsal-resource/provider/src/main/resources/svclogic.properties b/mdsal-resource/provider/src/main/resources/svclogic.properties
index e113161e8..887697bdb 100644
--- a/mdsal-resource/provider/src/main/resources/svclogic.properties
+++ b/mdsal-resource/provider/src/main/resources/svclogic.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/features/src/main/resources/features.xml b/resource-assignment/features/src/main/resources/features.xml
index 2834914ae..9dd8adaec 100644
--- a/resource-assignment/features/src/main/resources/features.xml
+++ b/resource-assignment/features/src/main/resources/features.xml
@@ -3,8 +3,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/installer/src/assembly/assemble_installer_zip.xml b/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
index 40e2f26a0..b6fd65582 100644
--- a/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
+++ b/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml b/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
index 7304fe500..2ee224477 100644
--- a/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/installer/src/main/resources/scripts/install-feature.sh b/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
index 9b6877185..df03392c8 100644
--- a/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
+++ b/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
@@ -4,8 +4,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
index 5e179dc48..6eb8156f8 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
index 62b88c67a..2c7726790 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
index eb3f33418..a1ac2fd3a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
index c3e35b700..df0ecd1c0 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
index 5ccde824a..c256dc27e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
index 9a619763c..fda097ebc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
index 4e27fd954..fbcee05e7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
index 0e3754527..9c60a38f2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
index b0d0a50c4..ddbbeabdc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
index e6a2c80cc..6fcaf1792 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
index 7245216f3..2ada6356c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
index 847883957..4db6a7307 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
index cf1dd8f8e..f2c0f76d0 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
index cc4adfb3e..109960dcb 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
index fd9ca1e55..103555195 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
index 7ceac9020..0feb2c75c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
index 79428de84..01e2695da 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
index 82e7e01a0..64a6c2719 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
index 1ec079f9b..07e0718c4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
index 57b8f0377..c6e9b758d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
index fe7bd30db..a55bca31d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
index 260d9d016..76f7e3e6b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
index 5a5623c12..7c4593d09 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
index e817d587e..325972c9a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
index 3d11f8e02..e149a94be 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
index eb030f3e6..eb4ee950c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
index ab65b31e4..e637f116e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
index d1287633f..52d8961a2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
index 685f0988d..80aca0b02 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
index 8e3247d11..b2424acb5 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
index b90a0856f..4126d1533 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
index b0c62e5c5..7847d5b54 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
index 052bf9edd..b795533d7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
index d81e391cb..90cd6c5a1 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
index dc32280f7..974e48bbd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
index 1f3aa8ef3..3344355d1 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
index ae2a4e7ce..b3f20800e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
index fbf13fb5d..399862bf6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
index cb3f78ec3..24cd39970 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
index 93c041ebf..befb8b7ef 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
index 1bf2ead02..b9b136a82 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
index ad65c379a..b2caffcf2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
index ac53afe52..cffd6b11b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
index ba497c015..ad6fbb79e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
index c2d614161..2bac62efc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
index 37f9cb81a..204f7eb3d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
index af6eca7e9..cac4ce5d4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
index b0cc7d2cc..805bfa9c6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
index dd6ae9c8c..fcec72f71 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
index c0be2e6b5..9bc18e63d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
index 2042ba9cd..72de3bdb2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
index c2ca99ce8..3f0692dba 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
index 670039f41..268c4d634 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
index 0880929bd..bc335aa30 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
index 55b24b61f..5cb9f376d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
index 72793a40f..be3ac5704 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
index 6734fb54e..d7cb10251 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
index d712b8d0f..fa57dcdd7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
index e657e8b47..780c62ad4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
index ca8ab5407..40b942213 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
index b733a356b..656c7755c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
index d9ea21769..5203a4de0 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
index c057d91f7..dea147bd7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
index 2b5cc0acb..903dc825c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
index e17145e5b..45021ac27 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
index 862c3e443..adac5207f 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
index 00cfb1fc4..9aac5542a 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
index c8dab080b..ab6ee3686 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
index d5bb9e471..d1f567ff0 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
index 737deb1cc..3f751cb7e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
index e70e06c23..17c994144 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
index a116ef507..e02b40418 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
index 7087c18fb..2b576ba8b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
index fe6199ea0..0cf97d6aa 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
index 2710f358f..38e4f1787 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
index 4bbe2ebd6..d91daae99 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
index cbae3d20e..0838c35d2 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
index 5ed07b256..d7e90bf64 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
index 08592819c..69f23e95b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
index 5b5669248..a3d5cce98 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
index ad38372f2..9630fd3ef 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
index aa44afae3..b697053c3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
index 4eab7d9d8..be6e69487 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
index 4a7ee6a7d..522a9bd38 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
index 7283e11c6..4e78a99f7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
index d4291167e..b6fef4b95 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
index aa8d1df12..ffdfb2248 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
index d0075bdbd..ccf843547 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
index 97ee3ba89..61c8f141e 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
index c1763ff21..da21cd22d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
index 8e509f66d..b5f079005 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
index d82701928..2e7a7979d 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
index 181172f2f..5c2ffc0b4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
index ffc119414..ee265c487 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
index 31c0d1155..213283002 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
index ad706ee81..4aa973f14 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
index dcbac3675..f7a2b949c 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
index d4dd65ed4..47f04a957 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
index 355d50814..b8ebc29d3 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
index 4de9868b3..60fc2da60 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- *reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
index 4260b4dc3..eb0d84164 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
index ad14f510a..943c09bfc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
index 9315535f4..83fdef898 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
index 4bec30440..e2f61e7d9 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
index c462bde37..0ab656264 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
index 765c9251c..c6f3b7281 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
index f1e96a8bf..cea781bcd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
index d97cb7d71..6f66830ee 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
index d15a149f2..16344e7e6 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
index 76c3ef76e..a34ab0ecd 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
index 27d0e55b3..076e4cc80 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
index 0253204c7..9ef78eea7 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
index 12ba15867..252e37700 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
index 11560498b..21a0c80d4 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
index b01b31f9f..40af34bdc 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
index 345a6263c..83cc77490 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
index f382a6393..4a26d8c43 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
index f7fa81d18..fdc3892af 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
index a28b0affa..4e262ba9b 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
index 2b90027c6..4060935ae 100644
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
+++ b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
index 9bd3fe11e..5dfb08838 100644
--- a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
+++ b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
@@ -3,8 +3,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
index 195e9a66a..591e5b88e 100644
--- a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
+++ b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
@@ -3,8 +3,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/resources/resource-allocator.properties b/resource-assignment/provider/src/main/resources/resource-allocator.properties
index 1a2cf0c78..887697bdb 100644
--- a/resource-assignment/provider/src/main/resources/resource-allocator.properties
+++ b/resource-assignment/provider/src/main/resources/resource-allocator.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
index d39e24854..8c0b0fb7d 100644
--- a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
@@ -2,8 +2,8 @@
 -- ============LICENSE_START=======================================================
 -- openECOMP : SDN-C
 -- ================================================================================
--- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- reserved.
+-- Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
index d752eb3a4..8d8af4988 100644
--- a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
@@ -2,8 +2,8 @@
 -- ============LICENSE_START=======================================================
 -- openECOMP : SDN-C
 -- ================================================================================
--- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- reserved.
+-- Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
index b33c32a0b..ca0624a24 100644
--- a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
@@ -2,8 +2,8 @@
 -- ============LICENSE_START=======================================================
 -- openECOMP : SDN-C
 -- ================================================================================
--- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- reserved.
+-- Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
index 46ac760ad..8329cd0b7 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
index 2c25c3e11..951b40559 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
index 0d287f2b4..3b4898888 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
index 45bd047a7..b72d5079a 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
index 1dff3589e..913f2d16a 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
index 1442f3ca2..c4d015891 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
index 4ff5bec7f..118137ec6 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
index ba890c72a..7434d939f 100644
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
index a57ab4fc1..fe854bdd1 100644
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/resources/log4j.properties b/resource-assignment/provider/src/test/resources/log4j.properties
index b36b7674f..922ce8615 100644
--- a/resource-assignment/provider/src/test/resources/log4j.properties
+++ b/resource-assignment/provider/src/test/resources/log4j.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
index f840a2322..05f9ef4f4 100644
--- a/resource-assignment/provider/src/test/resources/sql/data.sql
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -2,8 +2,8 @@
 -- ============LICENSE_START=======================================================
 -- openECOMP : SDN-C
 -- ================================================================================
--- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- reserved.
+-- Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/resources/sql/schema.sql b/resource-assignment/provider/src/test/resources/sql/schema.sql
index 03b5bfa7d..a61158aa0 100644
--- a/resource-assignment/provider/src/test/resources/sql/schema.sql
+++ b/resource-assignment/provider/src/test/resources/sql/schema.sql
@@ -2,8 +2,8 @@
 -- ============LICENSE_START=======================================================
 -- openECOMP : SDN-C
 -- ================================================================================
--- Copyright (C) 2017 ONAP Intellectual Property. All rights
--- reserved.
+-- Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/resource-assignment/provider/src/test/resources/test-context.xml b/resource-assignment/provider/src/test/resources/test-context.xml
index 1d21fa4f6..4f7bf4fbf 100644
--- a/resource-assignment/provider/src/test/resources/test-context.xml
+++ b/resource-assignment/provider/src/test/resources/test-context.xml
@@ -3,8 +3,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/features/src/main/resources/features.xml b/sql-resource/features/src/main/resources/features.xml
index adf51f4a6..fe742bf7f 100644
--- a/sql-resource/features/src/main/resources/features.xml
+++ b/sql-resource/features/src/main/resources/features.xml
@@ -3,8 +3,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/installer/src/assembly/assemble_installer_zip.xml b/sql-resource/installer/src/assembly/assemble_installer_zip.xml
index e278872a1..3bed4b5ef 100644
--- a/sql-resource/installer/src/assembly/assemble_installer_zip.xml
+++ b/sql-resource/installer/src/assembly/assemble_installer_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/installer/src/assembly/assemble_mvnrepo_zip.xml b/sql-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
index 1edacdb6d..cb56f2cd4 100644
--- a/sql-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/sql-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -2,8 +2,8 @@
   ============LICENSE_START=======================================================
   openECOMP : SDN-C
   ================================================================================
-  Copyright (C) 2017 ONAP Intellectual Property. All rights
-  						reserved.
+  Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/installer/src/main/resources/scripts/install-feature.sh b/sql-resource/installer/src/main/resources/scripts/install-feature.sh
index 9a47d2225..e986764b9 100644
--- a/sql-resource/installer/src/main/resources/scripts/install-feature.sh
+++ b/sql-resource/installer/src/main/resources/scripts/install-feature.sh
@@ -4,8 +4,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResource.java b/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResource.java
index 9c0007ebe..46802b573 100644
--- a/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResource.java
+++ b/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResource.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceActivator.java b/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceActivator.java
index e1994b2e3..42c4876d1 100644
--- a/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceActivator.java
+++ b/sql-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceActivator.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/provider/src/main/resources/svclogic.properties b/sql-resource/provider/src/main/resources/svclogic.properties
index a7948fc55..edd1a8502 100644
--- a/sql-resource/provider/src/main/resources/svclogic.properties
+++ b/sql-resource/provider/src/main/resources/svclogic.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/provider/src/test/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceTest.java b/sql-resource/provider/src/test/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceTest.java
index 5b35f5aa7..d8ccaf3a7 100644
--- a/sql-resource/provider/src/test/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceTest.java
+++ b/sql-resource/provider/src/test/java/org/openecomp/sdnc/sli/resource/sql/SqlResourceTest.java
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * openECOMP : SDN-C
  * ================================================================================
- * Copyright (C) 2017 ONAP Intellectual Property. All rights
- * 						reserved.
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/provider/src/test/resources/simplelogger.properties b/sql-resource/provider/src/test/resources/simplelogger.properties
index b28e45781..61d82660f 100644
--- a/sql-resource/provider/src/test/resources/simplelogger.properties
+++ b/sql-resource/provider/src/test/resources/simplelogger.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
diff --git a/sql-resource/provider/src/test/resources/svclogic.properties b/sql-resource/provider/src/test/resources/svclogic.properties
index 16ac91c93..82f5697a9 100644
--- a/sql-resource/provider/src/test/resources/svclogic.properties
+++ b/sql-resource/provider/src/test/resources/svclogic.properties
@@ -2,8 +2,8 @@
 # ============LICENSE_START=======================================================
 # openECOMP : SDN-C
 # ================================================================================
-# Copyright (C) 2017 ONAP Intellectual Property. All rights
-# 						reserved.
+# Copyright (C) 2017 AT&T Intellectual Property. 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.
-- 
cgit 1.2.3-korg


From 1ac8baaba4a08c8cc6d18bcd7b45054d79c9b133 Mon Sep 17 00:00:00 2001
From: Marcus G K Williams <marcus.williams@intel.com>
Date: Thu, 17 Aug 2017 10:29:11 -0700
Subject: Update sli-adaptor/resource-assignment pack. names

Update package
names from org.openecomp.sdnc.adaptors.* ->
onap.ccsdk.sli.adaptors.* Update groupIds from
org.openecomp.sdnc.adaptors -> onap.ccsdk.sli.adaptors

Issue-Id: CCSDK-19
Change-Id: I71c794c46bad7f7f6064c4e0538890c9f76d5f16
Signed-off-by: Marcus G K Williams <marcus.williams@intel.com>
---
 .../features/src/main/resources/features.xml       |    4 +-
 .../src/assembly/assemble_installer_zip.xml        |    2 +-
 .../src/assembly/assemble_mvnrepo_zip.xml          |    2 +-
 .../src/main/resources/scripts/install-feature.sh  |    2 +-
 resource-assignment/provider/pom.xml               |    6 +-
 .../ccsdk/sli/adaptors/lock/comp/LockHelper.java   |   35 +
 .../sli/adaptors/lock/comp/LockHelperImpl.java     |  166 ++++
 .../lock/comp/ResourceLockedException.java         |   41 +
 .../adaptors/lock/comp/SynchronizedFunction.java   |   56 ++
 .../sli/adaptors/lock/dao/ResourceLockDao.java     |   43 +
 .../sli/adaptors/lock/dao/ResourceLockDaoImpl.java |  115 +++
 .../ccsdk/sli/adaptors/lock/data/ResourceLock.java |   34 +
 .../ccsdk/sli/adaptors/ra/ReleaseRequestType.java  |   45 +
 .../ccsdk/sli/adaptors/ra/ReserveRequestType.java  |   43 +
 .../ccsdk/sli/adaptors/ra/ResourceAllocator.java   | 1016 ++++++++++++++++++++
 .../adaptors/ra/alloc/AffinityAllocationRule.java  |   68 ++
 .../sli/adaptors/ra/alloc/DbAllocationRule.java    |  155 +++
 .../ra/alloc/ServingSiteAllocationRule.java        |   80 ++
 .../sli/adaptors/ra/alloc/VrfAllocationRule.java   |  111 +++
 .../sli/adaptors/ra/check/AnyVrfPresentCheck.java  |   74 ++
 .../sli/adaptors/ra/check/ExcludeVpeCheck.java     |   57 ++
 .../sli/adaptors/ra/check/HubWithRgCheck.java      |  107 +++
 .../ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java  |  100 ++
 .../sli/adaptors/ra/check/ProvStatusCheck.java     |   49 +
 .../sli/adaptors/ra/check/VlanSpeedCheck.java      |   50 +
 .../ccsdk/sli/adaptors/ra/check/VpeLockCheck.java  |  111 +++
 .../ccsdk/sli/adaptors/ra/comp/AllocationRule.java |   37 +
 .../ra/comp/EndPointAllocationDefinition.java      |   60 ++
 .../sli/adaptors/ra/comp/EndPointAllocator.java    |   35 +
 .../adaptors/ra/comp/EndPointAllocatorImpl.java    |  214 +++++
 .../ccsdk/sli/adaptors/ra/comp/EndPointData.java   |   33 +
 .../ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java |   35 +
 .../ccsdk/sli/adaptors/ra/comp/PreferenceRule.java |   30 +
 .../ccsdk/sli/adaptors/ra/comp/ServiceData.java    |   36 +
 .../adaptors/ra/equip/comp/EquipmentReader.java    |   32 +
 .../ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java |   30 +
 .../sli/adaptors/ra/equip/dao/ServerDaoImpl.java   |   64 ++
 .../sli/adaptors/ra/equip/dao/VpePortDao.java      |   32 +
 .../sli/adaptors/ra/equip/dao/VpePortDaoImpl.java  |   81 ++
 .../sli/adaptors/ra/equip/dao/VplspePortDao.java   |   30 +
 .../adaptors/ra/equip/dao/VplspePortDaoImpl.java   |   70 ++
 .../sli/adaptors/ra/equip/data/EquipmentData.java  |   31 +
 .../sli/adaptors/ra/equip/data/EquipmentLevel.java |   26 +
 .../sli/adaptors/ra/pref/AffinityLinkPref.java     |   85 ++
 .../sli/adaptors/ra/pref/EvcExistingVrfPref.java   |   60 ++
 .../sli/adaptors/ra/reader/AicSiteReader.java      |   49 +
 .../adaptors/ra/reader/UplinkCircuitReader.java    |   54 ++
 .../ccsdk/sli/adaptors/ra/reader/VnfReader.java    |   49 +
 .../sli/adaptors/ra/reader/VpePortReader.java      |   70 ++
 .../ra/rule/comp/AllocationRequestBuilder.java     |   42 +
 .../ra/rule/comp/AllocationRequestBuilderImpl.java |  172 ++++
 .../sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java  |   28 +
 .../adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java  |   85 ++
 .../adaptors/ra/rule/dao/MaxServerSpeedDao.java    |   28 +
 .../ra/rule/dao/MaxServerSpeedDaoImpl.java         |   86 ++
 .../sli/adaptors/ra/rule/dao/ParameterDao.java     |   27 +
 .../sli/adaptors/ra/rule/dao/ParameterDaoImpl.java |   57 ++
 .../sli/adaptors/ra/rule/dao/RangeRuleDao.java     |   32 +
 .../sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java |   70 ++
 .../sli/adaptors/ra/rule/dao/ResourceRuleDao.java  |   38 +
 .../adaptors/ra/rule/dao/ResourceRuleDaoImpl.java  |  117 +++
 .../ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java |   27 +
 .../sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java   |   48 +
 .../ccsdk/sli/adaptors/ra/rule/data/RangeRule.java |   33 +
 .../sli/adaptors/ra/rule/data/ResourceRule.java    |   39 +
 .../adaptors/ra/rule/data/ResourceThreshold.java   |   28 +
 .../sli/adaptors/ra/rule/data/ThresholdStatus.java |   32 +
 .../ra/service/dao/ServiceResourceDao.java         |   38 +
 .../ra/service/dao/ServiceResourceDaoImpl.java     |  110 +++
 .../adaptors/ra/service/data/ServiceResource.java  |   32 +
 .../adaptors/ra/service/data/ServiceStatus.java    |   27 +
 .../sli/adaptors/rm/comp/AllocationFunction.java   |  330 +++++++
 .../sli/adaptors/rm/comp/ReleaseFunction.java      |   88 ++
 .../ccsdk/sli/adaptors/rm/comp/ResourceLoader.java |   39 +
 .../sli/adaptors/rm/comp/ResourceManager.java      |   41 +
 .../sli/adaptors/rm/comp/ResourceManagerImpl.java  |  128 +++
 .../ccsdk/sli/adaptors/rm/dao/ResourceDao.java     |   39 +
 .../sli/adaptors/rm/dao/jdbc/AllocationItem.java   |   37 +
 .../rm/dao/jdbc/AllocationItemJdbcDao.java         |   35 +
 .../rm/dao/jdbc/AllocationItemJdbcDaoImpl.java     |  126 +++
 .../ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java   |   32 +
 .../sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java  |  370 +++++++
 .../sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java  |   39 +
 .../adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java  |  144 +++
 .../sli/adaptors/rm/dao/jdbc/ResourceLoad.java     |   33 +
 .../adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java  |   36 +
 .../rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java       |  112 +++
 .../sli/adaptors/rm/data/AllocationAction.java     |   26 +
 .../ccsdk/sli/adaptors/rm/data/AllocationItem.java |   36 +
 .../sli/adaptors/rm/data/AllocationOutcome.java    |   28 +
 .../sli/adaptors/rm/data/AllocationRequest.java    |   35 +
 .../sli/adaptors/rm/data/AllocationStatus.java     |   27 +
 .../ccsdk/sli/adaptors/rm/data/InitAction.java     |   36 +
 .../sli/adaptors/rm/data/LabelAllocationItem.java  |   27 +
 .../adaptors/rm/data/LabelAllocationOutcome.java   |   28 +
 .../adaptors/rm/data/LabelAllocationRequest.java   |   29 +
 .../ccsdk/sli/adaptors/rm/data/LabelResource.java  |   30 +
 .../sli/adaptors/rm/data/LimitAllocationItem.java  |   27 +
 .../adaptors/rm/data/LimitAllocationOutcome.java   |   29 +
 .../adaptors/rm/data/LimitAllocationRequest.java   |   31 +
 .../ccsdk/sli/adaptors/rm/data/LimitResource.java  |   27 +
 .../rm/data/MultiAssetAllocationOutcome.java       |   30 +
 .../rm/data/MultiAssetAllocationRequest.java       |   32 +
 .../rm/data/MultiResourceAllocationOutcome.java    |   29 +
 .../rm/data/MultiResourceAllocationRequest.java    |   30 +
 .../sli/adaptors/rm/data/RangeAllocationItem.java  |   29 +
 .../adaptors/rm/data/RangeAllocationOutcome.java   |   30 +
 .../adaptors/rm/data/RangeAllocationRequest.java   |   36 +
 .../ccsdk/sli/adaptors/rm/data/RangeResource.java  |   29 +
 .../onap/ccsdk/sli/adaptors/rm/data/Resource.java  |   32 +
 .../ccsdk/sli/adaptors/rm/data/ResourceKey.java    |   50 +
 .../ccsdk/sli/adaptors/rm/data/ResourceLoad.java   |   32 +
 .../ccsdk/sli/adaptors/rm/data/ResourceType.java   |   26 +
 .../onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java |   95 ++
 .../onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java |  334 +++++++
 .../onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java |  110 +++
 .../ccsdk/sli/adaptors/rm/util/ResourceUtil.java   |   49 +
 .../sli/adaptors/util/db/CachedDataSourceWrap.java |  122 +++
 .../ccsdk/sli/adaptors/util/db/ConnectionWrap.java |  338 +++++++
 .../ccsdk/sli/adaptors/util/db/DataSourceWrap.java |   98 ++
 .../adaptors/util/expr/ExpressionEvaluator.java    |  207 ++++
 .../ccsdk/sli/adaptors/util/speed/SpeedUtil.java   |   41 +
 .../onap/ccsdk/sli/adaptors/util/str/StrUtil.java  |  305 ++++++
 .../onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java |   30 +
 .../onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java  |   76 ++
 .../org/openecomp/sdnc/lock/comp/LockHelper.java   |   35 -
 .../openecomp/sdnc/lock/comp/LockHelperImpl.java   |  166 ----
 .../sdnc/lock/comp/ResourceLockedException.java    |   41 -
 .../sdnc/lock/comp/SynchronizedFunction.java       |   56 --
 .../openecomp/sdnc/lock/dao/ResourceLockDao.java   |   43 -
 .../sdnc/lock/dao/ResourceLockDaoImpl.java         |  115 ---
 .../org/openecomp/sdnc/lock/data/ResourceLock.java |   34 -
 .../org/openecomp/sdnc/ra/ReleaseRequestType.java  |   45 -
 .../org/openecomp/sdnc/ra/ReserveRequestType.java  |   43 -
 .../org/openecomp/sdnc/ra/ResourceAllocator.java   | 1016 --------------------
 .../sdnc/ra/alloc/AffinityAllocationRule.java      |   68 --
 .../openecomp/sdnc/ra/alloc/DbAllocationRule.java  |  155 ---
 .../sdnc/ra/alloc/ServingSiteAllocationRule.java   |   80 --
 .../openecomp/sdnc/ra/alloc/VrfAllocationRule.java |  111 ---
 .../sdnc/ra/check/AnyVrfPresentCheck.java          |   74 --
 .../openecomp/sdnc/ra/check/ExcludeVpeCheck.java   |   57 --
 .../openecomp/sdnc/ra/check/HubWithRgCheck.java    |  107 ---
 .../org/openecomp/sdnc/ra/check/OneMVrfCheck.java  |  100 --
 .../openecomp/sdnc/ra/check/ProvStatusCheck.java   |   49 -
 .../openecomp/sdnc/ra/check/VlanSpeedCheck.java    |   50 -
 .../org/openecomp/sdnc/ra/check/VpeLockCheck.java  |  111 ---
 .../org/openecomp/sdnc/ra/comp/AllocationRule.java |   37 -
 .../sdnc/ra/comp/EndPointAllocationDefinition.java |   60 --
 .../openecomp/sdnc/ra/comp/EndPointAllocator.java  |   35 -
 .../sdnc/ra/comp/EndPointAllocatorImpl.java        |  214 -----
 .../org/openecomp/sdnc/ra/comp/EndPointData.java   |   33 -
 .../org/openecomp/sdnc/ra/comp/EquipmentCheck.java |   35 -
 .../org/openecomp/sdnc/ra/comp/PreferenceRule.java |   30 -
 .../org/openecomp/sdnc/ra/comp/ServiceData.java    |   36 -
 .../sdnc/ra/equip/comp/EquipmentReader.java        |   32 -
 .../org/openecomp/sdnc/ra/equip/dao/ServerDao.java |   30 -
 .../openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java |   64 --
 .../openecomp/sdnc/ra/equip/dao/VpePortDao.java    |   32 -
 .../sdnc/ra/equip/dao/VpePortDaoImpl.java          |   81 --
 .../openecomp/sdnc/ra/equip/dao/VplspePortDao.java |   30 -
 .../sdnc/ra/equip/dao/VplspePortDaoImpl.java       |   70 --
 .../sdnc/ra/equip/data/EquipmentData.java          |   31 -
 .../sdnc/ra/equip/data/EquipmentLevel.java         |   26 -
 .../openecomp/sdnc/ra/pref/AffinityLinkPref.java   |   85 --
 .../openecomp/sdnc/ra/pref/EvcExistingVrfPref.java |   60 --
 .../openecomp/sdnc/ra/reader/AicSiteReader.java    |   49 -
 .../sdnc/ra/reader/UplinkCircuitReader.java        |   54 --
 .../org/openecomp/sdnc/ra/reader/VnfReader.java    |   49 -
 .../openecomp/sdnc/ra/reader/VpePortReader.java    |   70 --
 .../ra/rule/comp/AllocationRequestBuilder.java     |   42 -
 .../ra/rule/comp/AllocationRequestBuilderImpl.java |  172 ----
 .../sdnc/ra/rule/dao/MaxPortSpeedDao.java          |   28 -
 .../sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java      |   85 --
 .../sdnc/ra/rule/dao/MaxServerSpeedDao.java        |   28 -
 .../sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java    |   86 --
 .../openecomp/sdnc/ra/rule/dao/ParameterDao.java   |   27 -
 .../sdnc/ra/rule/dao/ParameterDaoImpl.java         |   57 --
 .../openecomp/sdnc/ra/rule/dao/RangeRuleDao.java   |   32 -
 .../sdnc/ra/rule/dao/RangeRuleDaoImpl.java         |   70 --
 .../sdnc/ra/rule/dao/ResourceRuleDao.java          |   38 -
 .../sdnc/ra/rule/dao/ResourceRuleDaoImpl.java      |  117 ---
 .../org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java |   27 -
 .../openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java |   48 -
 .../org/openecomp/sdnc/ra/rule/data/RangeRule.java |   33 -
 .../openecomp/sdnc/ra/rule/data/ResourceRule.java  |   39 -
 .../sdnc/ra/rule/data/ResourceThreshold.java       |   28 -
 .../sdnc/ra/rule/data/ThresholdStatus.java         |   32 -
 .../sdnc/ra/service/dao/ServiceResourceDao.java    |   38 -
 .../ra/service/dao/ServiceResourceDaoImpl.java     |  110 ---
 .../sdnc/ra/service/data/ServiceResource.java      |   32 -
 .../sdnc/ra/service/data/ServiceStatus.java        |   27 -
 .../openecomp/sdnc/rm/comp/AllocationFunction.java |  330 -------
 .../openecomp/sdnc/rm/comp/ReleaseFunction.java    |   88 --
 .../org/openecomp/sdnc/rm/comp/ResourceLoader.java |   39 -
 .../openecomp/sdnc/rm/comp/ResourceManager.java    |   41 -
 .../sdnc/rm/comp/ResourceManagerImpl.java          |  128 ---
 .../org/openecomp/sdnc/rm/dao/ResourceDao.java     |   39 -
 .../openecomp/sdnc/rm/dao/jdbc/AllocationItem.java |   37 -
 .../sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java    |   35 -
 .../rm/dao/jdbc/AllocationItemJdbcDaoImpl.java     |  126 ---
 .../org/openecomp/sdnc/rm/dao/jdbc/Resource.java   |   32 -
 .../sdnc/rm/dao/jdbc/ResourceDaoImpl.java          |  370 -------
 .../sdnc/rm/dao/jdbc/ResourceJdbcDao.java          |   39 -
 .../sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java      |  144 ---
 .../openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java   |   33 -
 .../sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java      |   36 -
 .../sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java  |  112 ---
 .../openecomp/sdnc/rm/data/AllocationAction.java   |   26 -
 .../org/openecomp/sdnc/rm/data/AllocationItem.java |   36 -
 .../openecomp/sdnc/rm/data/AllocationOutcome.java  |   28 -
 .../openecomp/sdnc/rm/data/AllocationRequest.java  |   35 -
 .../openecomp/sdnc/rm/data/AllocationStatus.java   |   27 -
 .../org/openecomp/sdnc/rm/data/InitAction.java     |   36 -
 .../sdnc/rm/data/LabelAllocationItem.java          |   27 -
 .../sdnc/rm/data/LabelAllocationOutcome.java       |   28 -
 .../sdnc/rm/data/LabelAllocationRequest.java       |   29 -
 .../org/openecomp/sdnc/rm/data/LabelResource.java  |   30 -
 .../sdnc/rm/data/LimitAllocationItem.java          |   27 -
 .../sdnc/rm/data/LimitAllocationOutcome.java       |   29 -
 .../sdnc/rm/data/LimitAllocationRequest.java       |   31 -
 .../org/openecomp/sdnc/rm/data/LimitResource.java  |   27 -
 .../sdnc/rm/data/MultiAssetAllocationOutcome.java  |   30 -
 .../sdnc/rm/data/MultiAssetAllocationRequest.java  |   32 -
 .../rm/data/MultiResourceAllocationOutcome.java    |   29 -
 .../rm/data/MultiResourceAllocationRequest.java    |   30 -
 .../sdnc/rm/data/RangeAllocationItem.java          |   29 -
 .../sdnc/rm/data/RangeAllocationOutcome.java       |   30 -
 .../sdnc/rm/data/RangeAllocationRequest.java       |   36 -
 .../org/openecomp/sdnc/rm/data/RangeResource.java  |   29 -
 .../java/org/openecomp/sdnc/rm/data/Resource.java  |   32 -
 .../org/openecomp/sdnc/rm/data/ResourceKey.java    |   50 -
 .../org/openecomp/sdnc/rm/data/ResourceLoad.java   |   32 -
 .../org/openecomp/sdnc/rm/data/ResourceType.java   |   26 -
 .../java/org/openecomp/sdnc/rm/util/LabelUtil.java |   95 --
 .../java/org/openecomp/sdnc/rm/util/LimitUtil.java |  334 -------
 .../java/org/openecomp/sdnc/rm/util/RangeUtil.java |  110 ---
 .../org/openecomp/sdnc/rm/util/ResourceUtil.java   |   49 -
 .../sdnc/util/db/CachedDataSourceWrap.java         |  122 ---
 .../org/openecomp/sdnc/util/db/ConnectionWrap.java |  338 -------
 .../org/openecomp/sdnc/util/db/DataSourceWrap.java |   98 --
 .../sdnc/util/expr/ExpressionEvaluator.java        |  207 ----
 .../org/openecomp/sdnc/util/speed/SpeedUtil.java   |   41 -
 .../java/org/openecomp/sdnc/util/str/StrUtil.java  |  305 ------
 .../java/org/openecomp/sdnc/util/vrf/VpnParam.java |   30 -
 .../java/org/openecomp/sdnc/util/vrf/VrfUtil.java  |   76 --
 .../spring/resource-assignment-context.xml         |   84 +-
 .../spring/resource-assignment-osgi-context.xml    |    6 +-
 .../main/resources/resource-allocator.properties   |   12 +-
 .../main/resources/sql/001_resource_rule_ddl.sql   |    2 +-
 .../main/resources/sql/002_max_port_speed_ddl.sql  |    2 +-
 .../resources/sql/003_max_server_speed_ddl.sql     |    2 +-
 .../org/onap/ccsdk/sli/adaptors/ra/DataSetup.java  |  261 +++++
 .../ccsdk/sli/adaptors/ra/TestIsAvailable.java     |  424 ++++++++
 .../org/onap/ccsdk/sli/adaptors/ra/TestQuery.java  |   85 ++
 .../onap/ccsdk/sli/adaptors/ra/TestRelease.java    |  430 +++++++++
 .../onap/ccsdk/sli/adaptors/ra/TestReserve.java    |  681 +++++++++++++
 .../onap/ccsdk/sli/adaptors/ra/TestReserve2.java   |   77 ++
 .../org/onap/ccsdk/sli/adaptors/rm/DataSetup.java  |  106 ++
 .../jtest/org/openecomp/sdnc/ra/DataSetup.java     |  261 -----
 .../org/openecomp/sdnc/ra/TestIsAvailable.java     |  424 --------
 .../jtest/org/openecomp/sdnc/ra/TestQuery.java     |   85 --
 .../jtest/org/openecomp/sdnc/ra/TestRelease.java   |  430 ---------
 .../jtest/org/openecomp/sdnc/ra/TestReserve.java   |  681 -------------
 .../jtest/org/openecomp/sdnc/ra/TestReserve2.java  |   77 --
 .../jtest/org/openecomp/sdnc/rm/DataSetup.java     |  106 --
 .../jtest/util/org/openecomp/sdnc/ra/TestDb.java   |    4 +-
 .../util/org/openecomp/sdnc/ra/TestTable.java      |    4 +-
 .../provider/src/test/resources/log4j.properties   |    2 +-
 .../provider/src/test/resources/param.txt          |    2 +-
 .../provider/src/test/resources/sql/data.sql       |    2 +-
 .../provider/src/test/resources/sql/schema.sql     |    2 +-
 .../provider/src/test/resources/test-context.xml   |   76 +-
 272 files changed, 11402 insertions(+), 11402 deletions(-)
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/rm/DataSetup.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java

(limited to 'resource-assignment/provider/src/test/resources/sql/data.sql')

diff --git a/resource-assignment/features/src/main/resources/features.xml b/resource-assignment/features/src/main/resources/features.xml
index 9dd8adaec..d3362fba2 100644
--- a/resource-assignment/features/src/main/resources/features.xml
+++ b/resource-assignment/features/src/main/resources/features.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-  			reserved.
+                          reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@
         <feature>spring</feature>
         <feature version="[3.1,4)">spring-jdbc</feature>
         <feature>spring-dm</feature>
-        <bundle start-level="88">mvn:org.openecomp.sdnc.adaptors/resource-assignment-provider/${project.version}</bundle>
+        <bundle start-level="88">mvn:org.onap.ccsdk.sli.adaptors/resource-assignment-provider/${project.version}</bundle>
         <bundle>mvn:mysql/mysql-connector-java/${mysql.connector.version}</bundle>
     </feature>
 
diff --git a/resource-assignment/installer/src/assembly/assemble_installer_zip.xml b/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
index b6fd65582..b81e1d47a 100644
--- a/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
+++ b/resource-assignment/installer/src/assembly/assemble_installer_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-  			reserved.
+                          reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
diff --git a/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml b/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
index 2ee224477..755df5b2a 100644
--- a/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
+++ b/resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
@@ -3,7 +3,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-  			reserved.
+                          reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
diff --git a/resource-assignment/installer/src/main/resources/scripts/install-feature.sh b/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
index df03392c8..2aaab4dfa 100644
--- a/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
+++ b/resource-assignment/installer/src/main/resources/scripts/install-feature.sh
@@ -5,7 +5,7 @@
 # openECOMP : SDN-C
 # ================================================================================
 # Copyright (C) 2017 AT&T Intellectual Property. All rights
-# 			reserved.
+#                         reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/pom.xml b/resource-assignment/provider/pom.xml
index b36753ab5..1b98c628a 100755
--- a/resource-assignment/provider/pom.xml
+++ b/resource-assignment/provider/pom.xml
@@ -92,9 +92,9 @@
                 <extensions>true</extensions>
                 <configuration>
                     <instructions>
-                        <Bundle-SymbolicName>org.openecomp.sdnc.ra</Bundle-SymbolicName>
-                        <Export-Package>org.openecomp.sdnc.ra</Export-Package>
-                        <Import-Package>*,org.openecomp.sdnc.sli.resource.dblib,org.openecomp.sdnc.sli.*,org.osgi.framework.*,org.slf4j.*,com.mysql.jdbc.*</Import-Package>
+                        <Bundle-SymbolicName>org.onap.ccsdk.sli.adaptors.ra</Bundle-SymbolicName>
+                        <Export-Package>org.onap.ccsdk.sli.adaptors.ra</Export-Package>
+                        <Import-Package>*,org.onap.ccsdk.sli.adaptors.resource.dblib,org.onap.ccsdk.sli.adaptors.*,org.osgi.framework.*,org.slf4j.*,com.mysql.jdbc.*</Import-Package>
                         <!--Import-Package>*</Import-Package-->
                         <Embed-Transitive>true</Embed-Transitive>
                     </instructions>
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java
new file mode 100644
index 000000000..d33703df0
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.comp;
+
+import java.util.Collection;
+
+public interface LockHelper {
+
+    void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */);
+
+    void unlock(String resourceName, boolean force);
+
+    void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */);
+
+    void unlock(Collection<String> resourceNameList, boolean force);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
new file mode 100644
index 000000000..4d9bb27de
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
@@ -0,0 +1,166 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.comp;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.lock.dao.ResourceLockDao;
+import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
+
+public class LockHelperImpl implements LockHelper {
+
+    private ResourceLockDao resourceLockDao;
+    private int retryCount = 10;
+    private int lockWait = 5; // Seconds
+
+    @Override
+    public void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */) {
+        lock(Collections.singleton(resourceName), lockRequester, lockTimeout);
+    }
+
+    @Override
+    public void unlock(String resourceName, boolean force) {
+        unlock(Collections.singleton(resourceName), force);
+    }
+
+    @Override
+    public void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
+        for (int i = 0; true; i++) {
+            try {
+                tryLock(resourceNameList, lockRequester, lockTimeout);
+                return;
+            } catch (ResourceLockedException e) {
+                if (i > retryCount)
+                    throw e;
+                try {
+                    Thread.sleep(lockWait * 1000);
+                } catch (InterruptedException ex) {
+                }
+            }
+        }
+    }
+
+    @Override
+    public void unlock(Collection<String> lockNames, boolean force) {
+        if (lockNames == null || lockNames.size() == 0)
+            return;
+
+        resourceLockDao.lockTable();
+
+        try {
+            for (String name : lockNames) {
+                ResourceLock l = resourceLockDao.getByResourceName(name);
+                if (l != null)
+                    if (force || l.lockCount == 1)
+                        resourceLockDao.delete(l.id);
+                    else
+                        resourceLockDao.decrementLockCount(l.id);
+            }
+        } finally {
+            resourceLockDao.unlockTable();
+        }
+    }
+
+    public void tryLock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
+        if (resourceNameList == null || resourceNameList.size() == 0)
+            return;
+
+        lockRequester = generateLockRequester(lockRequester, 100);
+
+        resourceLockDao.lockTable();
+
+        try {
+            // First check if all requested records are available to lock
+
+            Date now = new Date();
+
+            List<ResourceLock> dbLockList = new ArrayList<ResourceLock>();
+            List<String> insertLockNameList = new ArrayList<String>();
+            for (String name : resourceNameList) {
+                ResourceLock l = resourceLockDao.getByResourceName(name);
+
+                boolean canLock =
+                        l == null || now.getTime() > l.expirationTime.getTime() || lockRequester != null &&
+                                lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
+                if (!canLock)
+                    throw new ResourceLockedException(l.resourceName, l.lockHolder, lockRequester);
+
+                if (l != null)
+                    dbLockList.add(l);
+                else
+                    insertLockNameList.add(name);
+            }
+
+            // Update the lock info in DB
+            for (ResourceLock l : dbLockList)
+                resourceLockDao.update(l.id, now, new Date(now.getTime() + lockTimeout * 1000), l.lockCount + 1);
+
+            // Insert records for those that are not yet there
+            for (String lockName : insertLockNameList) {
+                ResourceLock l = new ResourceLock();
+                l.resourceName = lockName;
+                l.lockHolder = lockRequester;
+                l.lockTime = now;
+                l.expirationTime = new Date(now.getTime() + lockTimeout * 1000);
+                l.lockCount = 1;
+                resourceLockDao.add(l);
+            }
+        } finally {
+            resourceLockDao.unlockTable();
+        }
+    }
+
+    private static String generateLockRequester(String name, int maxLength) {
+        if (name == null)
+            name = "";
+        int l1 = name.length();
+        String tname = Thread.currentThread().getName();
+        int l2 = tname.length();
+        if (l1 + l2 + 1 > maxLength) {
+            int maxl1 = maxLength / 2;
+            if (l1 > maxl1) {
+                name = name.substring(0, maxl1);
+                l1 = maxl1;
+            }
+            int maxl2 = maxLength - l1 - 1;
+            if (l2 > maxl2)
+                tname = tname.substring(0, 6) + "..." + tname.substring(l2 - maxl2 + 9);
+        }
+        return tname + '-' + name;
+    }
+
+    public void setResourceLockDao(ResourceLockDao resourceLockDao) {
+        this.resourceLockDao = resourceLockDao;
+    }
+
+    public void setRetryCount(int retryCount) {
+        this.retryCount = retryCount;
+    }
+
+    public void setLockWait(int lockWait /* Seconds */) {
+        this.lockWait = lockWait;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java
new file mode 100644
index 000000000..4b90b265e
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java
@@ -0,0 +1,41 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.comp;
+
+public class ResourceLockedException extends RuntimeException {
+
+    private static final long serialVersionUID = 1L;
+
+    private String lockName, lockHolder, lockRequester;
+
+    public ResourceLockedException(String lockName, String lockHolder, String lockRequester) {
+        this.lockName = lockName;
+        this.lockHolder = lockHolder;
+        this.lockRequester = lockRequester;
+    }
+
+    @Override
+    public String getMessage() {
+        return "Failed to lock [" + lockName + "] for [" + lockRequester + "]. Currently locked by [" + lockHolder +
+                "].";
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java
new file mode 100644
index 000000000..f4df81b8b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java
@@ -0,0 +1,56 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.comp;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+public abstract class SynchronizedFunction {
+
+    private Set<String> synchset;
+    private String lockRequester;
+    private int lockTimeout; // Seconds
+    private LockHelper lockHelper;
+
+    protected SynchronizedFunction(LockHelper lockHelper, Collection<String> synchset, int lockTimeout) {
+        this.lockHelper = lockHelper;
+        this.synchset = new HashSet<String>(synchset);
+        this.lockRequester = generateLockRequester();
+        this.lockTimeout = lockTimeout;
+    }
+
+    protected abstract void _exec();
+
+    public void exec() {
+        lockHelper.lock(synchset, lockRequester, lockTimeout);
+        try {
+            _exec();
+        } finally {
+            lockHelper.unlock(synchset, true);
+        }
+    }
+
+    private static String generateLockRequester() {
+        return "SynchronizedFunction-" + (int) (Math.random() * 1000000);
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
new file mode 100644
index 000000000..bcabb36d1
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.dao;
+
+import java.util.Date;
+
+import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
+
+public interface ResourceLockDao {
+
+    void lockTable();
+
+    void unlockTable();
+
+    void add(ResourceLock l);
+
+    void update(long id, Date lockTime, Date expirationTime, int lockCount);
+
+    ResourceLock getByResourceName(String resourceName);
+
+    void delete(long id);
+
+    void decrementLockCount(long id);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
new file mode 100644
index 000000000..d68317fb7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
@@ -0,0 +1,115 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Date;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
+import org.onap.ccsdk.sli.adaptors.util.db.CachedDataSourceWrap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class ResourceLockDaoImpl implements ResourceLockDao {
+
+    private static final Logger log = LoggerFactory.getLogger(ResourceLockDaoImpl.class);
+
+    private JdbcTemplate jdbcTemplate;
+    private boolean testing = false;
+
+    @Override
+    public void lockTable() {
+        if (!testing) {
+            jdbcTemplate.update("LOCK TABLES RESOURCE_LOCK WRITE");
+        log.info("Table RESOURCE_LOCK locked.");
+    }
+    }
+
+    @Override
+    public void unlockTable() {
+        if (!testing) {
+            jdbcTemplate.update("UNLOCK TABLES");
+        log.info("Table RESOURCE_LOCK unlocked.");
+
+            CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
+            ds.releaseConnection();
+        }
+    }
+
+    @Override
+    public void add(ResourceLock l) {
+        jdbcTemplate.update(
+                "INSERT INTO RESOURCE_LOCK (resource_name, lock_holder, lock_count, lock_time, expiration_time)\n" +
+                        "VALUES (?, ?, ?, ?, ?)",
+                new Object[] { l.resourceName, l.lockHolder, l.lockCount, l.lockTime, l.expirationTime });
+    }
+
+    @Override
+    public void update(long id, Date lockTime, Date expirationTime, int lockCount) {
+        jdbcTemplate.update(
+                "UPDATE RESOURCE_LOCK SET lock_time = ?, expiration_time = ?, lock_count = ? WHERE resource_lock_id = ?",
+                new Object[] { lockTime, expirationTime, lockCount, id });
+    }
+
+    @Override
+    public ResourceLock getByResourceName(String resourceName) {
+        List<ResourceLock> ll = jdbcTemplate.query("SELECT * FROM RESOURCE_LOCK WHERE resource_name = ?",
+                new Object[] { resourceName }, new RowMapper<ResourceLock>() {
+
+                    @Override
+                    public ResourceLock mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        ResourceLock rl = new ResourceLock();
+                        rl.id = rs.getLong("resource_lock_id");
+                        rl.resourceName = rs.getString("resource_name");
+                        rl.lockHolder = rs.getString("lock_holder");
+                        rl.lockCount = rs.getInt("lock_count");
+                        rl.lockTime = rs.getTimestamp("lock_time");
+                        rl.expirationTime = rs.getTimestamp("expiration_time");
+                        return rl;
+                    }
+                });
+        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update("DELETE FROM RESOURCE_LOCK WHERE resource_lock_id = ?", new Object[] { id });
+    }
+
+    @Override
+    public void decrementLockCount(long id) {
+        jdbcTemplate.update("UPDATE RESOURCE_LOCK SET lock_count = lock_count - 1 WHERE resource_lock_id = ?",
+                new Object[] { id });
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    public void setTesting(boolean testing) {
+        this.testing = testing;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java
new file mode 100644
index 000000000..cb434e142
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java
@@ -0,0 +1,34 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.lock.data;
+
+import java.util.Date;
+
+public class ResourceLock {
+
+    public long id;
+    public String resourceName;
+    public String lockHolder;
+    public int lockCount;
+    public Date lockTime;
+    public Date expirationTime;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java
new file mode 100644
index 000000000..d3df91c2d
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java
@@ -0,0 +1,45 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra;
+
+public enum ReleaseRequestType {
+    Cancel, Activate, Disconnect;
+
+    public static ReleaseRequestType convert(Object o) {
+        if (o == null)
+            return null;
+        String s = o.toString();
+        s = s.trim();
+        if (s.length() == 0)
+            return null;
+
+        if (s.equalsIgnoreCase("Cancel"))
+            return Cancel;
+        if (s.equalsIgnoreCase("Activate"))
+            return Activate;
+        if (s.equalsIgnoreCase("Disconnect"))
+            return Disconnect;
+
+        throw new IllegalArgumentException("Invalid request-type: " + s +
+                ". Supported values are Cancel, Activate, Disconnect.");
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java
new file mode 100644
index 000000000..b46b7dede
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra;
+
+public enum ReserveRequestType {
+    New, Change;
+
+    public static ReserveRequestType convert(Object o) {
+        if (o == null)
+            return null;
+        String s = o.toString();
+        s = s.trim();
+        if (s.length() == 0)
+            return null;
+
+        if (s.equalsIgnoreCase("New"))
+            return New;
+        if (s.equalsIgnoreCase("Change"))
+            return Change;
+
+        throw new IllegalArgumentException("Invalid request-type: " + s +
+                ". Supported values are New, Change.");
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
new file mode 100644
index 000000000..d1913b33d
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
@@ -0,0 +1,1016 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocator;
+import org.onap.ccsdk.sli.adaptors.ra.comp.EndPointData;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.dao.ServerDao;
+import org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDao;
+import org.onap.ccsdk.sli.adaptors.ra.equip.dao.VplspePortDao;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+import org.onap.ccsdk.sli.adaptors.ra.rule.comp.AllocationRequestBuilder;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxPortSpeedDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxServerSpeedDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ParameterDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ThresholdStatus;
+import org.onap.ccsdk.sli.adaptors.ra.service.dao.ServiceResourceDao;
+import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceResource;
+import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceStatus;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ResourceAllocator implements SvcLogicResource {
+
+    private static final Logger log = LoggerFactory.getLogger(ResourceAllocator.class);
+
+    public ResourceAllocator() {
+        log.info("ResourceAllocator created.");
+    }
+
+    private ServerDao serverDao;
+    private VpePortDao vpePortDao;
+    private VplspePortDao vplspePortDao;
+    private MaxPortSpeedDao maxPortSpeedDao;
+    private MaxServerSpeedDao maxServerSpeedDao;
+    private ServiceResourceDao serviceResourceDao;
+    private ParameterDao parameterDao;
+
+    private AllocationRequestBuilder allocationRequestBuilder;
+    private ResourceManager resourceManager;
+    private SpeedUtil speedUtil;
+
+    private EndPointAllocator endPointAllocator;
+
+    @Override
+    public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx)
+            throws SvcLogicException {
+        return (QueryStatus.SUCCESS);
+    }
+
+    @Override
+    public QueryStatus update(
+            String resource,
+            String key,
+            Map<String, String> parms,
+            String prefix,
+            SvcLogicContext ctx) throws SvcLogicException {
+
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2) throws SvcLogicException {
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus save(
+            String arg0,
+            boolean arg1,
+            boolean arg2,
+            String arg3,
+            Map<String, String> arg4,
+            String arg5,
+            SvcLogicContext arg6) throws SvcLogicException {
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
+        if (serviceModel != null && serviceModel.trim().length() > 0)
+            return allocateResources(serviceModel, ctx, true, prefix);
+        return allocateResourcesL3SDN(ctx, true, prefix);
+    }
+
+    @Override
+    public QueryStatus query(
+            String resource,
+            boolean localOnly,
+            String select,
+            String key,
+            String prefix,
+            String orderBy,
+            SvcLogicContext ctx) throws SvcLogicException {
+
+        prefix = prefix == null ? "" : prefix + '.';
+
+        if (!resource.equals("NetworkCapacity")) {
+            log.info("resource: " + resource);
+            log.info("key: " + key);
+
+            Resource r = resourceManager.getResource(resource, key);
+            if (r == null)
+                return QueryStatus.NOT_FOUND;
+
+            if (r instanceof LimitResource) {
+                ctx.setAttribute(prefix + "used", String.valueOf(((LimitResource) r).used));
+
+                log.info("Added context attr: " + prefix + "used: " + String.valueOf(((LimitResource) r).used));
+            }
+
+            return QueryStatus.SUCCESS;
+        }
+
+        log.info("key: " + key);
+        log.info("prefix: " + prefix);
+
+        if (key == null)
+            return QueryStatus.SUCCESS;
+
+        if (key.startsWith("'") && key.endsWith("'"))
+            key = key.substring(1, key.length() - 1);
+
+        String endPointPosition = "VPE-Cust";
+
+        String resourceUnionId = key + '/' + endPointPosition;
+        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
+
+        log.info("Resources found for " + resourceUnionId + ": " + rlist.size());
+
+        String assetId = null;
+        for (Resource r : rlist) {
+            log.info("Resource: " + r.resourceKey.resourceName);
+
+            if (r instanceof RangeResource) {
+                RangeResource rr = (RangeResource) r;
+                for (AllocationItem ai : r.allocationItems)
+                    if (ai.resourceUnionId.equals(resourceUnionId)) {
+                        RangeAllocationItem rai = (RangeAllocationItem) ai;
+                        ctx.setAttribute(prefix + r.resourceKey.resourceName, String.valueOf(rai.used.first()));
+
+                        log.info("Added context attr: " + prefix + r.resourceKey.resourceName + ": " +
+                                String.valueOf(rr.used.first()));
+
+                        assetId = r.resourceKey.assetId;
+                        String vpeName = assetId;
+                        int i1 = assetId.indexOf('/');
+                        if (i1 > 0)
+                            vpeName = assetId.substring(0, i1);
+                        ctx.setAttribute(prefix + "vpe-name", vpeName);
+
+                        log.info("Added context attr: " + prefix + "vpe-name: " + vpeName);
+                    }
+            }
+        }
+
+        String affinityLink = "1";
+        if (assetId != null) {
+            for (Resource r : rlist) {
+                if (r instanceof LimitResource) {
+                    LimitResource ll = (LimitResource) r;
+                    if (ll.resourceKey.assetId.startsWith(assetId + '-')) {
+                        int i1 = ll.resourceKey.assetId.lastIndexOf('-');
+                        affinityLink = ll.resourceKey.assetId.substring(i1 + 1);
+                        break;
+                    }
+                }
+            }
+        }
+
+        ctx.setAttribute(prefix + "affinity-link", affinityLink);
+
+        log.info("Added context attr: " + prefix + "affinity-link: " + affinityLink);
+
+        return QueryStatus.SUCCESS;
+    }
+
+    @Override
+    public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx)
+            throws SvcLogicException {
+        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
+        if (serviceModel != null && serviceModel.trim().length() > 0)
+            return allocateResources(serviceModel, ctx, false, prefix);
+        return allocateResourcesL3SDN(ctx, false, prefix);
+    }
+
+    @Override
+    public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
+        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
+        if (serviceInstanceId == null)
+            throw new SvcLogicException("tmp.resource-allocator.service-instance-id is required in ResourceAllocator");
+
+        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
+        if (requestTypeStr == null)
+            throw new SvcLogicException("tmp.resource-allocator.request-type is required in ResourceAllocator");
+
+        ReleaseRequestType requestType = null;
+        try {
+            requestType = ReleaseRequestType.convert(requestTypeStr);
+        } catch (IllegalArgumentException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
+                    ". Supported values are Cancel, Activate, Disconnect.");
+        }
+
+        log.info("Starting release: " + requestType + " for: " + serviceInstanceId);
+
+        ServiceResource activeServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
+        ServiceResource pendingServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
+
+        log.info("Active ServiceResource: ");
+        StrUtil.info(log, activeServiceResource);
+        log.info("Pending ServiceResource: ");
+        StrUtil.info(log, pendingServiceResource);
+
+        if (requestType == ReleaseRequestType.Cancel) {
+            if (pendingServiceResource != null) {
+                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
+
+                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
+            } else {
+                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
+            }
+
+        } else if (requestType == ReleaseRequestType.Activate) {
+            if (pendingServiceResource != null) {
+                if (activeServiceResource != null) {
+                    log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
+
+                    resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
+                    serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
+                }
+
+                log.info("Updating the status of the pending record to active.");
+
+                serviceResourceDao.updateServiceStatus(serviceInstanceId, ServiceStatus.Pending, ServiceStatus.Active);
+            } else {
+                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
+            }
+
+        } else if (requestType == ReleaseRequestType.Disconnect) {
+            if (pendingServiceResource != null) {
+                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
+
+                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
+            }
+            if (activeServiceResource != null) {
+                log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
+
+                resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
+                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
+            }
+        }
+
+        return QueryStatus.SUCCESS;
+    }
+
+    private QueryStatus allocateResourcesL3SDN(SvcLogicContext ctx, boolean checkOnly, String prefix)
+            throws SvcLogicException {
+        prefix = prefix == null ? "" : prefix + '.';
+
+        String aicSiteId = getAicSiteId(ctx);
+        Map<String, Object> service = getServiceData(ctx);
+
+        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
+        if (requestTypeStr == null)
+            requestTypeStr = "New";
+
+        ReserveRequestType requestType = null;
+        try {
+            requestType = ReserveRequestType.convert(requestTypeStr);
+        } catch (IllegalArgumentException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
+                    ". Supported values are New, Change.");
+        }
+
+        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
+
+        ServiceResource activeServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
+        ServiceResource pendingServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
+
+        log.info("Active ServiceResource: ");
+        StrUtil.info(log, activeServiceResource);
+        log.info("Pending ServiceResource: ");
+        StrUtil.info(log, pendingServiceResource);
+
+        ServiceResource sr = new ServiceResource();
+        sr.serviceInstanceId = serviceInstanceId;
+        sr.serviceStatus = ServiceStatus.Pending;
+        sr.serviceChangeNumber = 1;
+        if (pendingServiceResource != null)
+            sr.serviceChangeNumber = pendingServiceResource.serviceChangeNumber + 1;
+        else if (activeServiceResource != null)
+            sr.serviceChangeNumber = activeServiceResource.serviceChangeNumber + 1;
+        sr.resourceSetId = serviceInstanceId + "/" + sr.serviceChangeNumber;
+        sr.resourceUnionId = serviceInstanceId;
+
+        log.info("New ServiceResource: ");
+        StrUtil.info(log, sr);
+
+        List<Map<String, Object>> vpePortData = vpePortDao.getVpePortData(aicSiteId);
+        List<Map<String, Object>> vplspePortData = vplspePortDao.getVplspePortData(aicSiteId);
+        List<Map<String, Object>> serverData = serverDao.getServerData(aicSiteId);
+
+        vpePortData = orderVpe(vpePortData);
+
+        long maxAvailableSpeedVpePort = 0;
+        boolean vpePortFound = false;
+
+        for (Map<String, Object> vpe : vpePortData) {
+            String vpeId = String.valueOf(vpe.get("vpe-id"));
+            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
+            String portId = vpeId + "/" + interfaceName;
+
+            log.info("Checking VPE port: " + portId);
+
+            String provStatus = String.valueOf(vpe.get("provisioning-status"));
+            if (!provStatus.equals("PROV")) {
+                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
+                continue;
+            }
+
+            String imageFile = String.valueOf(vpe.get("image-file-name"));
+            String endPointPosition = "VPE-Cust";
+            long maxPortSpeed = maxPortSpeedDao.getMaxPortSpeed(imageFile, endPointPosition, interfaceName);
+            vpe.put("max-port-speed", maxPortSpeed);
+
+            EquipmentData ed = new EquipmentData();
+            ed.data = vpe;
+            ed.equipmentId = portId;
+            ed.equipmentLevel = EquipmentLevel.Port;
+
+            ServiceData sd = new ServiceData();
+            sd.data = service;
+            sd.serviceModel = "L3SDN";
+            sd.endPointPosition = endPointPosition;
+            sd.resourceUnionId = sr.resourceUnionId;
+            sd.resourceSetId = sr.resourceSetId;
+
+            StrUtil.info(log, ed);
+            StrUtil.info(log, sd);
+
+            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
+                    requestType == ReserveRequestType.Change);
+            AllocationOutcome ao = resourceManager.allocateResources(ar);
+
+            if (ao.status == AllocationStatus.Success) {
+
+                // Assign affinity link
+                if (!checkOnly) {
+                    List<String> affinityLinkIdList = new ArrayList<>();
+                    affinityLinkIdList.add("0");
+                    affinityLinkIdList.add("1");
+                    affinityLinkIdList.add("2");
+                    affinityLinkIdList.add("3");
+
+                    String preferedAffinityLinkId = "0";
+                    long lowestAssignedBw = Long.MAX_VALUE;
+                    for (String affinityLinkId : affinityLinkIdList) {
+                        long used = 0;
+                        String assetId = ed.equipmentId + "-" + affinityLinkId;
+                        Resource r = resourceManager.getResource("Bandwidth", assetId);
+                        if (r != null) {
+                            LimitResource ll = (LimitResource) r;
+                            used = ll.used;
+                        }
+                        if (used < lowestAssignedBw) {
+                            lowestAssignedBw = used;
+                            preferedAffinityLinkId = affinityLinkId;
+                        }
+                        log.info("Assigned bandwidth on affinity link: " + assetId + ": " + used);
+                    }
+
+                    log.info("Prefered affinity link for " + ed.equipmentId + ": " + preferedAffinityLinkId);
+
+                    ctx.setAttribute(prefix + "affinity-link", preferedAffinityLinkId);
+
+                    LimitAllocationRequest ar1 = new LimitAllocationRequest();
+                    ar1.resourceSetId = sd.resourceSetId;
+                    ar1.resourceUnionId = sd.resourceUnionId;
+                    ar1.resourceShareGroupList = null;
+                    ar1.resourceName = "Bandwidth";
+                    ar1.assetId = ed.equipmentId + "-" + preferedAffinityLinkId;
+                    ar1.missingResourceAction = AllocationAction.Succeed_Allocate;
+                    ar1.expiredResourceAction = AllocationAction.Succeed_Allocate;
+                    ar1.replace = true;
+                    ar1.strict = false;
+                    ar1.checkLimit = Long.MAX_VALUE;
+                    ar1.checkCount = 0;
+                    ar1.allocateCount = (Long) sd.data.get("service-speed-kbps");
+
+                    resourceManager.allocateResources(ar1);
+                }
+
+                ctx.setAttribute(prefix + "vpe-name", vpeId);
+
+                vpePortFound = true;
+                break;
+            }
+
+            if (ao instanceof LimitAllocationOutcome) {
+                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
+                long available = lao.limit - lao.used;
+                if (available > maxAvailableSpeedVpePort)
+                    maxAvailableSpeedVpePort = available;
+            }
+        }
+
+        long maxAvailableSpeedVplspePort = 0;
+        boolean vplspePortFound = false;
+
+        for (Map<String, Object> vplspe : vplspePortData) {
+            String vplspeId = String.valueOf(vplspe.get("vplspe-id"));
+            String interfaceName = String.valueOf(vplspe.get("physical-interface-name"));
+            String portId = vplspeId + "/" + interfaceName;
+
+            log.info("Checking VPLSPE port: " + portId);
+
+            String provStatus = String.valueOf(vplspe.get("provisioning-status"));
+            if (!provStatus.equals("PROV")) {
+                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
+                continue;
+            }
+
+            long physicalSpeed = (Long) vplspe.get("physical-interface-speed");
+            String physicalSpeedUnit = String.valueOf(vplspe.get("physical-interface-speed-unit"));
+            long maxPortSpeed = speedUtil.convertToKbps(physicalSpeed, physicalSpeedUnit);
+            vplspe.put("max-port-speed", maxPortSpeed);
+
+            EquipmentData ed = new EquipmentData();
+            ed.data = vplspe;
+            ed.equipmentId = portId;
+            ed.equipmentLevel = EquipmentLevel.Port;
+
+            ServiceData sd = new ServiceData();
+            sd.data = service;
+            sd.serviceModel = "L3SDN";
+            sd.endPointPosition = "IPAG-TOA";
+            sd.resourceUnionId = sr.resourceUnionId;
+            sd.resourceSetId = sr.resourceSetId;
+
+            StrUtil.info(log, ed);
+            StrUtil.info(log, sd);
+
+            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
+                    requestType == ReserveRequestType.Change);
+            AllocationOutcome ao = resourceManager.allocateResources(ar);
+
+            if (ao.status == AllocationStatus.Success) {
+                vplspePortFound = true;
+                break;
+            }
+
+            if (ao instanceof LimitAllocationOutcome) {
+                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
+                long available = lao.limit - lao.used;
+                if (available > maxAvailableSpeedVplspePort)
+                    maxAvailableSpeedVplspePort = available;
+            }
+        }
+
+        long maxAvailableSpeedServer = 0;
+        boolean serverFound = false;
+
+        for (Map<String, Object> server : serverData) {
+            String serverId = String.valueOf(server.get("server-id"));
+            String serverModel = String.valueOf(server.get("server-model"));
+
+            log.info("Checking Server: " + serverId);
+
+            String endPointPosition = "VCE-Cust";
+
+            int serverCount = (Integer) server.get("server-count");
+            if (serverCount == 0)
+                serverCount = 1;
+            String ratioString = parameterDao.getParameter("homing.pserver.sparing.ratio");
+            if (ratioString == null || ratioString.length() == 0)
+                ratioString = "1:1";
+            int primaryServerCount = calculatePrimaryServerCount(serverCount, ratioString);
+            server.put("number-primary-servers", primaryServerCount);
+
+            int evcCount = getEvcCountOnServer(serverId);
+            int evcCountPerServer = (evcCount + primaryServerCount - 1) / primaryServerCount;
+            long maxServerSpeed = maxServerSpeedDao.getMaxServerSpeed(serverModel, evcCountPerServer);
+            server.put("max-server-speed", maxServerSpeed);
+            server.put("evc-count", evcCount);
+            server.put("evc-count-per-server", evcCountPerServer);
+
+            EquipmentData ed = new EquipmentData();
+            ed.data = server;
+            ed.equipmentId = serverId;
+            ed.equipmentLevel = EquipmentLevel.Server;
+
+            ServiceData sd = new ServiceData();
+            sd.data = service;
+            sd.serviceModel = "L3SDN";
+            sd.endPointPosition = endPointPosition;
+            sd.resourceUnionId = sr.resourceUnionId;
+            sd.resourceSetId = sr.resourceSetId;
+
+            StrUtil.info(log, ed);
+            StrUtil.info(log, sd);
+
+            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
+                    requestType == ReserveRequestType.Change);
+            AllocationOutcome ao = resourceManager.allocateResources(ar);
+
+            if (ao.status == AllocationStatus.Success) {
+                serverFound = true;
+
+                if (ao instanceof MultiResourceAllocationOutcome) {
+                    MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
+                    for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
+                        if (ao1 instanceof LimitAllocationOutcome) {
+                            LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
+                            if (lao.request.resourceName.equals("Bandwidth")) {
+                                ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
+                                setThresholdData(ctx, th, sd, ed);
+                            }
+                        }
+                    }
+                }
+
+                break;
+            }
+
+            if (ao instanceof MultiResourceAllocationOutcome) {
+                MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
+                for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
+                    if (ao1 instanceof LimitAllocationOutcome) {
+                        LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
+                        if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Bandwidth")) {
+                            long available = lao.limit - lao.used;
+                            if (available > maxAvailableSpeedServer)
+                                maxAvailableSpeedServer = available;
+                        }
+                        if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Connection")) {
+                            maxAvailableSpeedServer = 0;
+                            break;
+                        }
+
+                        ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
+                        setThresholdData(ctx, th, sd, ed);
+                    }
+                }
+            }
+        }
+
+        if (vpePortFound && vplspePortFound && serverFound) {
+            if (!checkOnly) {
+                if (pendingServiceResource == null) {
+                    log.info("Adding the pending service resource record to DB.");
+                    serviceResourceDao.addServiceResource(sr);
+                } else {
+                    log.info("Releasing previously allocated resources for resource set id: " +
+                            pendingServiceResource.resourceSetId);
+                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+
+                    log.info("Updating the pending service resource record in DB with service change number: " +
+                            sr.serviceChangeNumber);
+                    serviceResourceDao.updateServiceResource(sr);
+                }
+            }
+
+            return QueryStatus.SUCCESS;
+        }
+
+        log.info("Releasing allocated resources (if any) for resource set id: " + sr.resourceSetId);
+        resourceManager.releaseResourceSet(sr.resourceSetId);
+
+        long maxAvailableSpeed = Long.MAX_VALUE;
+        if (!vpePortFound && maxAvailableSpeedVpePort < maxAvailableSpeed)
+            maxAvailableSpeed = maxAvailableSpeedVpePort;
+        if (!vplspePortFound && maxAvailableSpeedVplspePort < maxAvailableSpeed)
+            maxAvailableSpeed = maxAvailableSpeedVplspePort;
+        if (!serverFound && maxAvailableSpeedServer < maxAvailableSpeed)
+            maxAvailableSpeed = maxAvailableSpeedServer;
+
+        setOutputContext(ctx, maxAvailableSpeed, "kbps");
+        return QueryStatus.NOT_FOUND;
+    }
+
+    private List<Map<String, Object>> orderVpe(List<Map<String, Object>> vpePortData) {
+        for (Map<String, Object> vpe : vpePortData) {
+            String vpeId = String.valueOf(vpe.get("vpe-id"));
+            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
+            String portId = vpeId + "/" + interfaceName;
+            Resource r = resourceManager.getResource("Bandwidth", portId);
+            long used = 0;
+            if (r != null) {
+                LimitResource ll = (LimitResource) r;
+                used = ll.used;
+            }
+            vpe.put("used-bandwidth", used);
+
+            log.info("Used bandwidth on VPE: " + vpeId + ": " + used);
+        }
+
+        Collections.sort(vpePortData, new Comparator<Map<String, Object>>() {
+
+            @Override
+            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
+                long used1 = (Long) o1.get("used-bandwidth");
+                long used2 = (Long) o2.get("used-bandwidth");
+                if (used1 < used2)
+                    return -1;
+                if (used1 > used2)
+                    return 1;
+                return 0;
+            }
+        });
+
+        return vpePortData;
+    }
+
+    private void setThresholdData(SvcLogicContext ctx, ThresholdStatus th, ServiceData sd, EquipmentData ed) {
+        if (th == null)
+            return;
+
+        String pp = "tmp.resource-allocator-output.threshold-notification-list.threshold-hotification[0].";
+        ctx.setAttribute("tmp.resource-allocator-output.threshold-notification-list.threshold-hotification_length",
+                "1");
+        ctx.setAttribute(pp + "message", th.resourceThreshold.message);
+        ctx.setAttribute(pp + "resource-rule.service-model", th.resourceRule.serviceModel);
+        ctx.setAttribute(pp + "resource-rule.endpoint-position", th.resourceRule.endPointPosition);
+        ctx.setAttribute(pp + "resource-rule.resource-name", th.resourceRule.resourceName);
+        ctx.setAttribute(pp + "resource-rule.equipment-level", th.resourceRule.equipmentLevel);
+        ctx.setAttribute(pp + "resource-rule.soft-limit-expression", th.resourceRule.softLimitExpression);
+        ctx.setAttribute(pp + "resource-rule.hard-limit-expression", th.resourceRule.hardLimitExpression);
+        ctx.setAttribute(pp + "resource-state.used", String.valueOf(th.used));
+        ctx.setAttribute(pp + "resource-state.limit-value", String.valueOf(th.limitValue));
+        ctx.setAttribute(pp + "resource-state.threshold-value", String.valueOf(th.thresholdValue));
+        ctx.setAttribute(pp + "resource-state.last-added", String.valueOf(th.lastAdded));
+        ctx.setAttribute(pp + "equipment-data.equipment-id", ed.equipmentId);
+        for (String edKey : ed.data.keySet())
+            ctx.setAttribute(pp + "equipment-data." + edKey, String.valueOf(ed.data.get(edKey)));
+    }
+
+    private QueryStatus allocateResources(String serviceModel, SvcLogicContext ctx, boolean checkOnly, String prefix)
+            throws SvcLogicException {
+        prefix = prefix == null ? "" : prefix + '.';
+
+        Map<String, Object> service = getServiceData(ctx);
+        Map<String, Object> ec = getEquipConstraints(ctx);
+
+        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
+        if (requestTypeStr == null)
+            requestTypeStr = "New";
+
+        ReserveRequestType requestType = null;
+        try {
+            requestType = ReserveRequestType.convert(requestTypeStr);
+        } catch (IllegalArgumentException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
+                    ". Supported values are New, Change.");
+        }
+
+        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
+
+        log.info("Starting reserve: " + requestType + ", service-instance-id: " + serviceInstanceId);
+
+        ServiceResource activeServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
+        ServiceResource pendingServiceResource =
+                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
+
+        log.info("Active ServiceResource: ");
+        StrUtil.info(log, activeServiceResource);
+        log.info("Pending ServiceResource: ");
+        StrUtil.info(log, pendingServiceResource);
+
+        int changeNumber = 1;
+        if (pendingServiceResource != null)
+            changeNumber = pendingServiceResource.serviceChangeNumber + 1;
+        else if (activeServiceResource != null)
+            changeNumber = activeServiceResource.serviceChangeNumber + 1;
+
+        ServiceData sd = new ServiceData();
+        sd.data = service;
+        sd.serviceModel = serviceModel;
+        sd.endPointPosition = (String) service.get("end-point-position");
+        sd.resourceShareGroup = (String) service.get("resource-share-group");
+        sd.resourceName = (String) service.get("resource-name");
+        sd.serviceInstanceId = serviceInstanceId;
+
+        StrUtil.info(log, sd);
+
+        List<EndPointData> epList = endPointAllocator.allocateEndPoints(sd, ec, checkOnly,
+                requestType == ReserveRequestType.Change, changeNumber);
+
+        if (epList != null && !epList.isEmpty()) {
+            if (!checkOnly) {
+                EndPointData ep = epList.get(0);
+
+                if (sd.resourceName == null) {
+                ServiceResource sr = new ServiceResource();
+                sr.serviceInstanceId = serviceInstanceId;
+                sr.serviceStatus = ServiceStatus.Pending;
+                sr.serviceChangeNumber = changeNumber;
+                sr.resourceSetId = ep.resourceSetId;
+                sr.resourceUnionId = ep.resourceUnionId;
+
+                log.info("New ServiceResource: ");
+                StrUtil.info(log, sr);
+
+                if (pendingServiceResource == null) {
+                    log.info("Adding the pending service resource record to DB.");
+                    serviceResourceDao.addServiceResource(sr);
+                } else {
+                    log.info("Releasing previously allocated resources for resource set id: " +
+                            pendingServiceResource.resourceSetId);
+                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
+
+                    log.info("Updating the pending service resource record in DB with service change number: " +
+                            sr.serviceChangeNumber);
+                    serviceResourceDao.updateServiceResource(sr);
+                }
+            }
+
+                for (EndPointData ep1 : epList)
+                    if (ep1.data != null && !ep1.data.isEmpty())
+                        for (String key : ep1.data.keySet()) {
+                            String value = String.valueOf(ep1.data.get(key));
+                            ctx.setAttribute(prefix + key, value);
+
+                            log.info("Added context attr: " + prefix + key + ": " + value);
+                        }
+            }
+
+            return QueryStatus.SUCCESS;
+        }
+
+        log.info("Capacity not found for EVC: " + serviceInstanceId);
+
+        return QueryStatus.NOT_FOUND;
+    }
+
+    private int getEvcCountOnServer(String serverId) {
+        LimitResource l = (LimitResource) resourceManager.getResource("Connection", serverId);
+        if (l != null)
+            return (int) l.used;
+        return 0;
+    }
+
+    private String getAicSiteId(SvcLogicContext ctx) throws SvcLogicException {
+        String aicSiteId = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
+        if (aicSiteId == null)
+            throw new SvcLogicException("tmp.resource-allocator.aic-site-id is required in ResourceAllocator");
+        return aicSiteId;
+    }
+
+    private Map<String, Object> getServiceData(SvcLogicContext ctx) throws SvcLogicException {
+        Map<String, Object> sd = new HashMap<String, Object>();
+
+        String endPointPosition = ctx.getAttribute("tmp.resource-allocator.end-point-position");
+        if (endPointPosition != null && endPointPosition.trim().length() > 0)
+            sd.put("end-point-position", endPointPosition.trim());
+
+        String resourceName = ctx.getAttribute("tmp.resource-allocator.resource-name");
+        if (resourceName != null && resourceName.trim().length() > 0)
+            sd.put("resource-name", resourceName.trim());
+
+        String resourceShareGroup = ctx.getAttribute("tmp.resource-allocator.resource-share-group");
+        if (resourceShareGroup != null && resourceShareGroup.trim().length() > 0)
+            sd.put("resource-share-group", resourceShareGroup.trim());
+
+        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
+        if (serviceInstanceId == null)
+            serviceInstanceId = "checkServiceInstance";
+        sd.put("service-instance-id", serviceInstanceId);
+
+        String speedStr = ctx.getAttribute("tmp.resource-allocator.speed");
+        if (speedStr != null && speedStr.trim().length() > 0) {
+        long speed = 0;
+        try {
+            speed = Long.parseLong(speedStr);
+        } catch (NumberFormatException e) {
+            throw new SvcLogicException("Invalid tmp.resource-allocator.speed. Must be a number.");
+        }
+        String unit = ctx.getAttribute("tmp.resource-allocator.speed-unit");
+        if (unit == null || unit.trim().length() == 0)
+            throw new SvcLogicException("tmp.resource-allocator.speed-unit is required in ResourceAllocator");
+        long serviceSpeedKbps = speedUtil.convertToKbps(speed, unit);
+
+        sd.put("service-speed-kbps", serviceSpeedKbps);
+        }
+
+        String vpnId = ctx.getAttribute("tmp.resource-allocator.vpn-id");
+        if (vpnId != null && vpnId.trim().length() > 0)
+            sd.put("vpn-id", vpnId.trim());
+
+        String vpnIdList = ctx.getAttribute("tmp.resource-allocator.vpn-id-list");
+        if (vpnIdList != null && vpnIdList.trim().length() > 0)
+            sd.put("vpn-id-list", vpnIdList.trim());
+
+        String vrfName = ctx.getAttribute("tmp.resource-allocator.vrf-name");
+        if (vrfName != null && vrfName.trim().length() > 0)
+            sd.put("vrf-name", vrfName.trim());
+
+        String vrfNameList = ctx.getAttribute("tmp.resource-allocator.vrf-name-list");
+        if (vrfNameList != null && vrfNameList.trim().length() > 0)
+            sd.put("vrf-name-list", vrfNameList.trim());
+
+        String v4multicast = ctx.getAttribute("tmp.resource-allocator.v4-multicast");
+        if (v4multicast != null && v4multicast.trim().length() > 0)
+            sd.put("v4-multicast", v4multicast.trim());
+
+        String v6multicast = ctx.getAttribute("tmp.resource-allocator.v6-multicast");
+        if (v6multicast != null && v6multicast.trim().length() > 0)
+            sd.put("v6-multicast", v6multicast.trim());
+
+        String v4ServingSite = ctx.getAttribute("tmp.resource-allocator.v4-serving-site");
+        if (v4ServingSite != null && v4ServingSite.trim().length() > 0)
+            sd.put("v4-serving-site", v4ServingSite.trim());
+
+        String v6ServingSite = ctx.getAttribute("tmp.resource-allocator.v6-serving-site");
+        if (v6ServingSite != null && v6ServingSite.trim().length() > 0)
+            sd.put("v6-serving-site", v6ServingSite.trim());
+
+        return sd;
+    }
+
+    private Map<String, Object> getEquipConstraints(SvcLogicContext ctx) throws SvcLogicException {
+        Map<String, Object> mm = new HashMap<String, Object>();
+
+        String vrfRequired = ctx.getAttribute("tmp.resource-allocator.vrf-required");
+        if (vrfRequired != null && vrfRequired.trim().length() > 0)
+            mm.put("vrf-required", vrfRequired.trim());
+
+        String clli = ctx.getAttribute("tmp.resource-allocator.clli");
+        if (clli == null || clli.trim().length() == 0)
+            clli = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
+        if (clli != null) {
+        mm.put("clli", clli.trim());
+            mm.put("aic-site-id", clli.trim());
+        }
+
+        String vpeName = ctx.getAttribute("tmp.resource-allocator.vpe-name");
+        if (vpeName != null && vpeName.trim().length() > 0)
+            mm.put("vpe-name", vpeName.trim());
+
+        String vnfName = ctx.getAttribute("tmp.resource-allocator.device-name");
+        if (vnfName != null && vnfName.trim().length() > 0)
+            mm.put("vnf-name", vnfName.trim());
+
+        String excludeVpeList = ctx.getAttribute("tmp.resource-allocator.exclude-vpe-list");
+        if (excludeVpeList != null && excludeVpeList.trim().length() > 0)
+            mm.put("exclude-vpe-list", excludeVpeList.trim());
+
+        String uplinkCircuitCountStr =
+                ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length");
+        if (uplinkCircuitCountStr != null) {
+            long uplinkCircuitCount = 0;
+            try {
+                uplinkCircuitCount = Long.parseLong(uplinkCircuitCountStr);
+            } catch (NumberFormatException e) {
+                throw new SvcLogicException(
+                        "Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length. Must be a number.");
+            }
+            List<Map<String, Object>> uplinkCircuitList = new ArrayList<>();
+            for (int i = 0; i < uplinkCircuitCount; i++) {
+                String uplinkCircuitId = ctx.getAttribute(
+                        "tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i + "].uplink-circuit-id");
+                String uplinkCircuitBandwidthStr =
+                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
+                                "].uplink-circuit-bandwidth");
+                String uplinkCircuitBandwidthUnit =
+                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
+                                "].uplink-circuit-bandwidth-unit");
+
+                long uplinkCircuitBandwidth = 0;
+                try {
+                    uplinkCircuitBandwidth = Long.parseLong(uplinkCircuitBandwidthStr);
+                } catch (NumberFormatException e) {
+                    throw new SvcLogicException("Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" +
+                            i + "].uplink-circuit-id. Must be a number.");
+                }
+
+                long uplinkCircuitBandwidthKbps =
+                        speedUtil.convertToKbps(uplinkCircuitBandwidth, uplinkCircuitBandwidthUnit);
+
+                Map<String, Object> uplinkCircuit = new HashMap<String, Object>();
+                uplinkCircuit.put("uplink-circuit-id", uplinkCircuitId);
+                uplinkCircuit.put("uplink-circuit-bandwidth", uplinkCircuitBandwidthKbps);
+                uplinkCircuitList.add(uplinkCircuit);
+            }
+            mm.put("uplink-circuit-list", uplinkCircuitList);
+        }
+
+        return mm;
+    }
+
+    private void setOutputContext(SvcLogicContext ctx, long maxAvailableSpeed, String unit) {
+        ctx.setAttribute("tmp.resource-allocator-output.max-available-speed", String.valueOf(maxAvailableSpeed));
+        ctx.setAttribute("tmp.resource-allocator-output.speed-unit", unit);
+    }
+
+    private int calculatePrimaryServerCount(int serverCount, String ratioString) throws SvcLogicException {
+        String[] ss = ratioString.split(":");
+        if (ss.length != 2)
+            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
+
+        int n = 1, m = 1;
+        try {
+            n = Integer.parseInt(ss[0]);
+            m = Integer.parseInt(ss[1]);
+        } catch (Exception e) {
+            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
+        }
+
+        return (serverCount - 1) * n / (n + m) + 1;
+    }
+
+    public void setServerDao(ServerDao serverDao) {
+        this.serverDao = serverDao;
+    }
+
+    public void setVpePortDao(VpePortDao vpePortDao) {
+        this.vpePortDao = vpePortDao;
+    }
+
+    public void setVplspePortDao(VplspePortDao vplspePortDao) {
+        this.vplspePortDao = vplspePortDao;
+    }
+
+    public void setMaxPortSpeedDao(MaxPortSpeedDao maxPortSpeedDao) {
+        this.maxPortSpeedDao = maxPortSpeedDao;
+    }
+
+    public void setMaxServerSpeedDao(MaxServerSpeedDao maxServerSpeedDao) {
+        this.maxServerSpeedDao = maxServerSpeedDao;
+    }
+
+    public void setAllocationRequestBuilder(AllocationRequestBuilder allocationRequestBuilder) {
+        this.allocationRequestBuilder = allocationRequestBuilder;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
+    }
+
+    public void setServiceResourceDao(ServiceResourceDao serviceResourceDao) {
+        this.serviceResourceDao = serviceResourceDao;
+    }
+
+    public void setEndPointAllocator(EndPointAllocator endPointAllocator) {
+        this.endPointAllocator = endPointAllocator;
+    }
+
+    public void setParameterDao(ParameterDao parameterDao) {
+        this.parameterDao = parameterDao;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java
new file mode 100644
index 000000000..0da7acb79
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java
@@ -0,0 +1,68 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.alloc;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AffinityAllocationRule implements AllocationRule {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(AffinityAllocationRule.class);
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        String affinityLink = (String) equipmentData.data.get("affinity-link");
+        if (affinityLink == null)
+            affinityLink = "1";
+
+        long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceShareGroupList = null;
+        ar.resourceName = "Bandwidth";
+        ar.assetId = equipmentData.equipmentId + "-" + affinityLink;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = Long.MAX_VALUE;
+        ar.checkCount = 0;
+        ar.allocateCount = serviceSpeed;
+        return ar;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
new file mode 100644
index 000000000..a0b698d73
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
@@ -0,0 +1,155 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.alloc;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.util.expr.ExpressionEvaluator;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DbAllocationRule implements AllocationRule {
+
+    private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
+
+    private ResourceRuleDao resourceRuleDao;
+    private RangeRuleDao rangeRuleDao;
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
+                endPointPosition, equipmentData.equipmentLevel);
+        List<RangeRule> rangeRuleList =
+                rangeRuleDao.getRangeRules(serviceData.serviceModel, endPointPosition, equipmentData.equipmentLevel);
+
+        List<AllocationRequest> arlist = new ArrayList<AllocationRequest>();
+
+        for (ResourceRule rr : resourceRuleList) {
+            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.resourceName))
+                continue;
+            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
+                    equipmentData, checkOnly, change);
+            arlist.add(ar1);
+        }
+        for (RangeRule rr : rangeRuleList) {
+            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.rangeName))
+                continue;
+            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
+                    equipmentData, checkOnly, change);
+            arlist.add(ar1);
+        }
+
+        if (arlist.isEmpty())
+            return null;
+
+        if (arlist.size() == 1)
+            return arlist.get(0);
+
+        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
+        ar.stopOnFirstFailure = false;
+        ar.allocationRequestList = arlist;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            ResourceRule resourceRule,
+            String resourceUnionId,
+            String resourceSetId,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, resourceRule);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceName = resourceRule.resourceName;
+        if (serviceData.resourceShareGroup != null)
+            ar.resourceShareGroupList = Collections.singleton(serviceData.resourceShareGroup);
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = ExpressionEvaluator.evalLong(
+                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);;
+        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
+        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            RangeRule rangeRule,
+            String resourceUnionId,
+            String resourceSetId,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, rangeRule);
+
+        RangeAllocationRequest ar = new RangeAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceName = rangeRule.rangeName;
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.check = true;
+        ar.allocate = !checkOnly;
+        ar.checkMin = rangeRule.minValue;
+        ar.checkMax = rangeRule.maxValue;
+        return ar;
+    }
+
+    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
+        this.resourceRuleDao = resourceRuleDao;
+    }
+
+    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
+        this.rangeRuleDao = rangeRuleDao;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java
new file mode 100644
index 000000000..b1c4ac449
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java
@@ -0,0 +1,80 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.alloc;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.util.vrf.VpnParam;
+import org.onap.ccsdk.sli.adaptors.util.vrf.VrfUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ServingSiteAllocationRule implements AllocationRule {
+
+    private static final Logger log = LoggerFactory.getLogger(ServingSiteAllocationRule.class);
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return null;
+
+        log.info("vrfName: " + vrfName);
+
+        String v4ServingSiteStr = (String) serviceData.data.get("v4-serving-site");
+        String v6ServingSiteStr = (String) serviceData.data.get("v6-serving-site");
+        boolean v4ServingSite = v4ServingSiteStr != null &&
+                (v4ServingSiteStr.equalsIgnoreCase("Y") || v4ServingSiteStr.equalsIgnoreCase("true"));
+        boolean v6ServingSite = v6ServingSiteStr != null &&
+                (v6ServingSiteStr.equalsIgnoreCase("Y") || v6ServingSiteStr.equalsIgnoreCase("true"));
+        if (!v4ServingSite && !v6ServingSite)
+            return null;
+
+        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceName = "ServingSite";
+        ar.assetId = equipmentData.equipmentId + "-" + vpnp.vpnId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = 1;
+        ar.checkCount = 1;
+        ar.allocateCount = 1;
+
+        return ar;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java
new file mode 100644
index 000000000..74bfe6634
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java
@@ -0,0 +1,111 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.alloc;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class VrfAllocationRule implements AllocationRule {
+
+    private static final Logger log = LoggerFactory.getLogger(VrfAllocationRule.class);
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return null;
+
+        log.info("vrfName: " + vrfName);
+
+        Set<String> resourceShareGroupList = new HashSet<>();
+        resourceShareGroupList.add(vrfName);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = resourceSetId;
+        ar.resourceUnionId = resourceUnionId;
+        ar.resourceShareGroupList = resourceShareGroupList;
+        ar.resourceName = "VRF";
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = 999999999;
+        ar.checkCount = 1;
+        ar.allocateCount = 1;
+
+        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
+        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
+        boolean v4Multicast = v4MulticastStr != null &&
+                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
+        boolean v6Multicast = v6MulticastStr != null &&
+                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
+        if (v4Multicast || v6Multicast) {
+            LimitAllocationRequest ar2 = new LimitAllocationRequest();
+            ar2.resourceSetId = resourceSetId;
+            ar2.resourceUnionId = resourceUnionId;
+            ar2.resourceShareGroupList = resourceShareGroupList;
+            ar2.resourceName = "MVRF";
+            ar2.assetId = equipmentData.equipmentId;
+            ar2.missingResourceAction = AllocationAction.Succeed_Allocate;
+            ar2.expiredResourceAction = AllocationAction.Succeed_Allocate;
+            ar2.replace = true;
+            ar2.strict = false;
+            ar2.checkLimit = 999999999;
+            ar2.checkCount = 1;
+            ar2.allocateCount = 1;
+
+            MultiResourceAllocationRequest mar = new MultiResourceAllocationRequest();
+            mar.resourceSetId = resourceSetId;
+            mar.resourceUnionId = resourceUnionId;
+            mar.resourceShareGroupList = resourceShareGroupList;
+            mar.assetId = equipmentData.equipmentId;
+            mar.missingResourceAction = AllocationAction.Succeed_Allocate;
+            mar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+            mar.allocationRequestList = new ArrayList<>();
+            mar.allocationRequestList.add(ar);
+            mar.allocationRequestList.add(ar2);
+
+            return mar;
+        }
+
+        return ar;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java
new file mode 100644
index 000000000..6f4de2693
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AnyVrfPresentCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(AnyVrfPresentCheck.class);
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfNameListStr = (String) serviceData.data.get("vrf-name-list");
+        if (vrfNameListStr == null)
+            vrfNameListStr = (String) serviceData.data.get("vrf-name");
+        if (vrfNameListStr == null)
+            return true;
+
+        String vrfRequiredStr = (String) equipmentConstraints.get("vrf-required");
+        if (vrfRequiredStr == null || !vrfRequiredStr.equalsIgnoreCase("true"))
+            return true;
+
+        String[] vrfNameList = vrfNameListStr.split(",");
+
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                for (String vrfName : vrfNameList)
+                    if (ai.resourceShareGroupList.contains(vrfName))
+                        return true;
+
+        log.info("Skipping VPE " + equipData.equipmentId +
+                ": Existing VRF is required, but there is no existing VRF on the VPE for any of the requested VPNs.");
+        return false;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java
new file mode 100644
index 000000000..020c165ab
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java
@@ -0,0 +1,57 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ExcludeVpeCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(ExcludeVpeCheck.class);
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String excludeVpeListStr = (String) equipmentConstraints.get("exclude-vpe-list");
+        if (excludeVpeListStr == null)
+            return true;
+
+        String vpeName = (String) equipData.data.get("vpe-id");
+
+        String[] excludeVpeList = excludeVpeListStr.split(",");
+        for (String excludeVpe : excludeVpeList)
+            if (excludeVpe.equals(vpeName)) {
+                log.info("Skipping VPE " + equipData.equipmentId + ": Present in the exclude VPE list.");
+                return false;
+            }
+
+        return true;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java
new file mode 100644
index 000000000..22fdeca33
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java
@@ -0,0 +1,107 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.util.vrf.VpnParam;
+import org.onap.ccsdk.sli.adaptors.util.vrf.VrfUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class HubWithRgCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(HubWithRgCheck.class);
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return true;
+
+        // Check if this is HUB. If not, this check is not applicable
+        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
+        if (vpnp.siteType == null || !vpnp.siteType.equals("HUB"))
+            return true;
+
+        boolean rgPresent = vpnp.routeGroupName != null;
+
+        // First check if a new VRF would be required. If not, we are good
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null) {
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceShareGroupList.contains(vrfName))
+                    return true;
+
+            String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
+
+            // Check if there is already another HUB VRF with RG presence that does not match the requested
+            for (AllocationItem ai : r.allocationItems) {
+
+                // Skip the allocation item for the current service instance, if there, in case it is a change order
+                if (ai.resourceUnionId.equals(resourceUnionId))
+                    continue;
+
+                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
+                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
+                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
+
+                    if (vpnp2.siteType == null || !vpnp2.siteType.equals("HUB"))
+                        continue;
+
+                    boolean rgPresent2 = vpnp2.routeGroupName != null;
+
+                    if (rgPresent && !rgPresent2) {
+                        log.info("Skipping VPE " + equipData.equipmentId +
+                                ": This request requires new HUB with RG VRF, " +
+                                "but there is already another HUB VRF with no RG: " + vrfName2 + ".");
+                        return false;
+                    }
+                    if (!rgPresent && rgPresent2) {
+                        log.info("Skipping VPE " + equipData.equipmentId +
+                                ": This request requires new HUB VRF with no RG, " +
+                                "but there is already another HUB with RG VRF: " + vrfName2 + ".");
+                        return false;
+                    }
+                }
+            }
+        }
+
+        return true;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java
new file mode 100644
index 000000000..e54d89cb1
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java
@@ -0,0 +1,100 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.util.vrf.VpnParam;
+import org.onap.ccsdk.sli.adaptors.util.vrf.VrfUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class OneMVrfCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(OneMVrfCheck.class);
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return true;
+
+        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
+        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
+        boolean v4Multicast = v4MulticastStr != null &&
+                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
+        boolean v6Multicast = v6MulticastStr != null &&
+                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
+        if (!v4Multicast && !v6Multicast)
+            return true;
+
+        // First check if a new VRF would be required. If not, we are good
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceShareGroupList.contains(vrfName))
+                    return true;
+
+        String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
+
+        // Check if there is already another multicast VRF for the same VPN
+        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
+        r = resourceManager.getResource("MVRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null) {
+            for (AllocationItem ai : r.allocationItems) {
+
+                // Skip the allocation item for the current service instance, if there, in case it is a change order
+                if (ai.resourceUnionId.equals(resourceUnionId))
+                    continue;
+
+                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
+                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
+                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
+                    if (vpnp.vpnId.equals(vpnp2.vpnId)) {
+                        log.info("Skipping VPE " + equipData.equipmentId +
+                                ": This request requires new multicast VRF, " +
+                                "but there is already another multicast VRF for the same VPN: " + vrfName2 + ".");
+                        return false;
+                    }
+                }
+            }
+        }
+
+        return true;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java
new file mode 100644
index 000000000..f851b53b6
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ProvStatusCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(ProvStatusCheck.class);
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String provStatus = (String) equipData.data.get("provisioning-status");
+        if (provStatus == null || !provStatus.equals("PROV")) {
+            log.info("Skipping VPE " + equipData.equipmentId + ": Not in PROV status.");
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java
new file mode 100644
index 000000000..28e6278de
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class VlanSpeedCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(VlanSpeedCheck.class);
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vpeName = (String) equipData.data.get("vpe-id");
+        Long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
+        if (serviceSpeed != null && serviceSpeed > 0 && serviceSpeed < 1000) {
+            log.info("Skipping VPE " + vpeName + ": Service speed < 1Mbps is not supported.");
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java
new file mode 100644
index 000000000..503e1ffc2
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java
@@ -0,0 +1,111 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.check;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.VpeLockDao;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class VpeLockCheck implements EquipmentCheck {
+
+    private static final Logger log = LoggerFactory.getLogger(VpeLockCheck.class);
+
+    private VpeLockDao vpeLockDao;
+    private ResourceManager resourceManager;
+
+    @Override
+    public boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return true;
+
+        String vpeName = (String) equipData.data.get("vpe-id");
+        String vpeLock = vpeLockDao.getVpeLock(vpeName);
+        if (vpeLock == null)
+            return true;
+
+        if (vpeLock.equals("vpe-total-lock")) {
+            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock + " on it.");
+            return false;
+        }
+
+        if (vpeLock.equals("vpe-vrf-lock") && requiresNewVrf(equipData.equipmentId, vrfName)) {
+            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
+                    " on it and it requires a new VRF for VPN: " + vrfName + ".");
+            return false;
+        }
+
+        if (vpeLock.equals("vpe-mvrf-lock") && requiresNewMVrf(equipData.equipmentId, vrfName)) {
+            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
+                    " on it and it requires a new multicast VRF for VPN: " + vrfName + ".");
+            return false;
+        }
+
+        return true;
+    }
+
+    boolean requiresNewVrf(String equipmentId, String vrfName) {
+        Resource r = resourceManager.getResource("VRF", equipmentId);
+        if (r == null || r.allocationItems == null)
+            return true;
+
+        for (AllocationItem ai : r.allocationItems) {
+            if (ai.resourceShareGroupList.contains(vrfName))
+                return false;
+        }
+
+        return true;
+    }
+
+    boolean requiresNewMVrf(String equipmentId, String vrfName) {
+        Resource r = resourceManager.getResource("MVRF", equipmentId);
+        if (r == null || r.allocationItems == null)
+            return true;
+
+        for (AllocationItem ai : r.allocationItems) {
+            if (ai.resourceShareGroupList.contains(vrfName))
+                return false;
+        }
+
+        return true;
+    }
+
+    public void setVpeLockDao(VpeLockDao vpeLockDao) {
+        this.vpeLockDao = vpeLockDao;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
new file mode 100644
index 000000000..831cac0c3
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
@@ -0,0 +1,37 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+
+public interface AllocationRule {
+
+    AllocationRequest buildAllocationRequest(
+            String resourceUnionId,
+            String resourceSetId,
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java
new file mode 100644
index 000000000..589fafcd6
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
+
+public class EndPointAllocationDefinition {
+
+    public String serviceModel;
+    public String endPointPosition;
+    public EquipmentReader equipmentReader;
+    public List<EquipmentCheck> equipmentCheckList;
+    public List<PreferenceRule> preferenceRuleList;
+    public List<AllocationRule> allocationRuleList;
+
+    public void setServiceModel(String serviceModel) {
+        this.serviceModel = serviceModel;
+    }
+
+    public void setEndPointPosition(String endPointPosition) {
+        this.endPointPosition = endPointPosition;
+    }
+
+    public void setEquipmentReader(EquipmentReader equipmentReader) {
+        this.equipmentReader = equipmentReader;
+    }
+
+    public void setEquipmentCheckList(List<EquipmentCheck> equipmentCheckList) {
+        this.equipmentCheckList = equipmentCheckList;
+    }
+
+    public void setPreferenceRuleList(List<PreferenceRule> preferenceRuleList) {
+        this.preferenceRuleList = preferenceRuleList;
+    }
+
+    public void setAllocationRuleList(List<AllocationRule> allocationRuleList) {
+        this.allocationRuleList = allocationRuleList;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
new file mode 100644
index 000000000..08713cd76
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.List;
+import java.util.Map;
+
+public interface EndPointAllocator {
+
+    List<EndPointData> allocateEndPoints(
+            ServiceData serviceData,
+            Map<String, Object> equipmentConstraints,
+            boolean checkOnly,
+            boolean change,
+            int changeNumber);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
new file mode 100644
index 000000000..0f488bc67
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
@@ -0,0 +1,214 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang.NotImplementedException;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class EndPointAllocatorImpl implements EndPointAllocator {
+
+    private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
+
+    private Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap;
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public List<EndPointData> allocateEndPoints(
+            ServiceData serviceData,
+            Map<String, Object> equipmentConstraints,
+            boolean checkOnly,
+            boolean change,
+            int changeNumber) {
+        List<EndPointAllocationDefinition> defList = endPointAllocationDefinitionMap.get(serviceData.serviceModel);
+        if (defList == null)
+            throw new NotImplementedException("Service model: " + serviceData.serviceModel + " not supported");
+
+        List<EndPointData> epList = new ArrayList<>();
+        for (EndPointAllocationDefinition def : defList) {
+            if (serviceData.endPointPosition != null && !serviceData.endPointPosition.equals(def.endPointPosition))
+                continue;
+
+            log.info(
+                    "Starting allocation of end point: " + def.endPointPosition + ": " + serviceData.serviceInstanceId);
+
+            String resourceUnionId = serviceData.serviceInstanceId + '/' + def.endPointPosition;
+            String resourceSetId = resourceUnionId + '/' + changeNumber;
+
+            String equipmentId = (String) equipmentConstraints.get("equipment-id");
+            if (equipmentId == null) {
+                EndPointData epExisting = readEndPoint(resourceUnionId, resourceSetId);
+                if (epExisting != null && epExisting.equipmentId != null) {
+                    equipmentConstraints.put("equipment-id", epExisting.equipmentId);
+
+                    log.info("Trying assignment on the current equipment: " + epExisting.equipmentId);
+                }
+            }
+
+            List<EquipmentData> equipList = def.equipmentReader.readEquipment(equipmentConstraints);
+            if (equipList == null || equipList.isEmpty()) {
+                log.info("Equipment not found for " + def.endPointPosition);
+                break;
+            }
+
+            if (def.equipmentCheckList != null) {
+                for (EquipmentCheck filter : def.equipmentCheckList) {
+                    List<EquipmentData> newEquipList = new ArrayList<>();
+                    for (EquipmentData equipData : equipList)
+                        if (filter.checkEquipment(def.endPointPosition, serviceData, equipData, equipmentConstraints))
+                            newEquipList.add(equipData);
+                    equipList = newEquipList;
+                }
+                if (equipList.isEmpty()) {
+                    log.info("No equipment meets the requiremets for the service for: " + def.endPointPosition);
+                    break;
+                }
+            }
+
+            if (equipList.size() > 1 && def.preferenceRuleList != null && !def.preferenceRuleList.isEmpty()) {
+
+                List<PrefEquipment> prefEquipList = new ArrayList<>();
+                for (EquipmentData equipData : equipList) {
+                    PrefEquipment prefEquip = new PrefEquipment();
+                    prefEquip.equipData = equipData;
+                    prefEquip.prefNumbers = new long[def.preferenceRuleList.size()];
+                    prefEquipList.add(prefEquip);
+
+                    int i = 0;
+                    for (PreferenceRule prefRule : def.preferenceRuleList)
+                        prefEquip.prefNumbers[i++] =
+                                prefRule.assignOrderNumber(def.endPointPosition, serviceData, equipData);
+                }
+
+                Collections.sort(prefEquipList);
+
+                equipList = new ArrayList<>();
+                for (PrefEquipment prefEquip : prefEquipList)
+                    equipList.add(prefEquip.equipData);
+            }
+
+            for (EquipmentData equipData : equipList) {
+                boolean allgood = true;
+                if (def.allocationRuleList != null)
+                    for (AllocationRule allocationRule : def.allocationRuleList) {
+                        AllocationRequest ar = allocationRule.buildAllocationRequest(resourceUnionId, resourceSetId,
+                                def.endPointPosition, serviceData, equipData, checkOnly, change);
+                        if (ar != null) {
+                            AllocationOutcome ao = resourceManager.allocateResources(ar);
+                            if (ao.status != AllocationStatus.Success) {
+                                allgood = false;
+                                break;
+                            }
+                        }
+                    }
+                if (allgood) {
+                    EndPointData ep = readEndPoint(resourceUnionId, resourceSetId);
+                    epList.add(ep);
+                    break;
+                }
+            }
+        }
+
+        return epList;
+    }
+
+    private EndPointData readEndPoint(String resourceUnionId, String resourceSetId) {
+        EndPointData ep = new EndPointData();
+        ep.resourceUnionId = resourceUnionId;
+        ep.resourceSetId = resourceSetId;
+
+        int i1 = resourceUnionId.indexOf('/');
+        if (i1 > 0)
+            ep.endPointPosition = resourceUnionId.substring(i1 + 1);
+
+        ep.data = new HashMap<>();
+
+        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
+        for (Resource r : rlist) {
+            if (r instanceof RangeResource) {
+                RangeResource rr = (RangeResource) r;
+                for (AllocationItem ai : r.allocationItems)
+                    if (ai.resourceUnionId.equals(resourceUnionId)) {
+                        RangeAllocationItem rai = (RangeAllocationItem) ai;
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName, rai.used.first());
+                    }
+            }
+            if (r instanceof LimitResource) {
+                LimitResource rr = (LimitResource) r;
+                for (AllocationItem ai : r.allocationItems)
+                    if (ai.resourceUnionId.equals(resourceUnionId)) {
+                        LimitAllocationItem rai = (LimitAllocationItem) ai;
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".allocated", rai.used);
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".used", rr.used);
+                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".assetId",
+                                r.resourceKey.assetId);
+                    }
+            }
+        }
+
+        return ep;
+    }
+
+    private static class PrefEquipment implements Comparable<PrefEquipment> {
+
+        public long[] prefNumbers;
+        public EquipmentData equipData;
+
+        @Override
+        public int compareTo(PrefEquipment o) {
+            for (int i = 0; i < prefNumbers.length; i++) {
+                if (prefNumbers[i] < o.prefNumbers[i])
+                    return -1;
+                if (prefNumbers[i] > o.prefNumbers[i])
+                    return 1;
+            }
+            return 0;
+        }
+    }
+
+    public void setEndPointAllocationDefinitionMap(
+            Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap) {
+        this.endPointAllocationDefinitionMap = endPointAllocationDefinitionMap;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java
new file mode 100644
index 000000000..dc1cb0a63
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.Map;
+
+public class EndPointData {
+
+    public String resourceSetId;
+    public String resourceUnionId;
+    public String endPointPosition;
+    public String equipmentId;
+    public Map<String, Object> data;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java
new file mode 100644
index 000000000..70f2abde8
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+
+public interface EquipmentCheck {
+
+    boolean checkEquipment(
+            String endPointPosition,
+            ServiceData serviceData,
+            EquipmentData equipData,
+            Map<String, Object> equipmentConstraints);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java
new file mode 100644
index 000000000..ca8a37191
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+
+public interface PreferenceRule {
+
+    // Smaller order number is preferred
+    int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java
new file mode 100644
index 000000000..238ea1d13
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.Map;
+
+public class ServiceData {
+
+    public String serviceModel;
+    public String serviceInstanceId;
+    public String resourceSetId;
+    public String resourceUnionId;
+    public String resourceShareGroup;
+    public String endPointPosition;
+    public String resourceName;
+    public Map<String, Object> data;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java
new file mode 100644
index 000000000..03f96e272
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.comp;
+
+import java.util.List;
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+
+public interface EquipmentReader {
+
+    List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java
new file mode 100644
index 000000000..f9f7ee3d9
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
+
+import java.util.List;
+import java.util.Map;
+
+public interface ServerDao {
+
+    List<Map<String, Object>> getServerData(String aicSiteId);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java
new file mode 100644
index 000000000..f51dc1402
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java
@@ -0,0 +1,64 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+public class ServerDaoImpl implements ServerDao {
+
+    private static final Logger log = LoggerFactory.getLogger(ServerDaoImpl.class);
+
+    private static final String GET_SERVER_COUNT_SQL = "SELECT count(*) FROM PSERVER WHERE aic_site_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public List<Map<String, Object>> getServerData(String aicSiteId) {
+        List<Map<String, Object>> ll = new ArrayList<Map<String, Object>>();
+        Map<String, Object> sd = new HashMap<String, Object>();
+        sd.put("aic-site-id", aicSiteId);
+        sd.put("server-id", aicSiteId + "/Server1");
+        sd.put("server-model", "Unknown");
+        sd.put("server-count", getServerCount(aicSiteId));
+        ll.add(sd);
+        return ll;
+    }
+
+    private int getServerCount(String aicSiteId) {
+        int n = jdbcTemplate.queryForInt(GET_SERVER_COUNT_SQL, aicSiteId);
+
+        log.info("Number of servers in " + aicSiteId + ": " + n);
+
+        return n;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java
new file mode 100644
index 000000000..1a86c6f80
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
+
+import java.util.List;
+import java.util.Map;
+
+public interface VpePortDao {
+
+    List<Map<String, Object>> getVpePortData(String aicSiteId);
+
+    List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java
new file mode 100644
index 000000000..05d2e76d7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java
@@ -0,0 +1,81 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class VpePortDaoImpl implements VpePortDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(VpePortDaoImpl.class);
+
+    private static final String GET_SQL = "SELECT * FROM VPE_POOL WHERE aic_site_id = ?";
+    private static final String GET2_SQL = "SELECT * FROM VPE_POOL WHERE vpe_name = ?";
+    private static final String GET3_SQL =
+            "SELECT * FROM VPE_POOL WHERE substring(aic_site_id, 1, 8) = substring(?, 1, 8)";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public List<Map<String, Object>> getVpePortData(String aicSiteId) {
+        return jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new VpePortRowMapper());
+    }
+
+    @Override
+    public List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName) {
+        String sql = vpeName != null ? GET2_SQL : GET3_SQL;
+        Object[] param = new Object[] { vpeName != null ? vpeName : aicSiteId };
+
+        return jdbcTemplate.query(sql, param, new VpePortRowMapper());
+    }
+
+    private static class VpePortRowMapper implements RowMapper<Map<String, Object>> {
+
+        @Override
+        public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
+            Map<String, Object> mm = new HashMap<String, Object>();
+            mm.put("vpe-id", rs.getString("vpe_name"));
+            mm.put("aic-site-id", rs.getString("aic_site_id"));
+            mm.put("availability-zone", rs.getString("availability_zone"));
+            mm.put("image-file-name", rs.getString("image_filename"));
+            mm.put("vendor", rs.getString("vendor"));
+            mm.put("provisioning-status", rs.getString("provisioning_status"));
+            mm.put("physical-interface-name", rs.getString("physical_intf_name"));
+            mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
+            mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
+            return mm;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java
new file mode 100644
index 000000000..20cb83ff2
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
+
+import java.util.List;
+import java.util.Map;
+
+public interface VplspePortDao {
+
+    List<Map<String, Object>> getVplspePortData(String aicSiteId);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java
new file mode 100644
index 000000000..6c3d368b2
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class VplspePortDaoImpl implements VplspePortDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(VplspePortDaoImpl.class);
+
+    private static final String GET_SQL = "SELECT * FROM VPLSPE_POOL WHERE aic_site_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public List<Map<String, Object>> getVplspePortData(String aicSiteId) {
+        List<Map<String, Object>> ll =
+                jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new RowMapper<Map<String, Object>>() {
+
+                    @Override
+                    public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        Map<String, Object> mm = new HashMap<String, Object>();
+                        mm.put("vplspe-id", rs.getString("vplspe_name"));
+                        mm.put("aic-site-id", rs.getString("aic_site_id"));
+                        mm.put("availability-zone", rs.getString("availability_zone"));
+                        mm.put("image-file-name", rs.getString("image_filename"));
+                        mm.put("vendor", rs.getString("vendor"));
+                        mm.put("provisioning-status", rs.getString("provisioning_status"));
+                        mm.put("physical-interface-name", rs.getString("physical_intf_name"));
+                        mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
+                        mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
+                        return mm;
+                    }
+                });
+        return ll;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java
new file mode 100644
index 000000000..15342a697
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java
@@ -0,0 +1,31 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.data;
+
+import java.util.Map;
+
+public class EquipmentData {
+
+    public String equipmentId;
+    public EquipmentLevel equipmentLevel;
+    public Map<String, Object> data;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java
new file mode 100644
index 000000000..c77e36851
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java
@@ -0,0 +1,26 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.equip.data;
+
+public enum EquipmentLevel {
+    Port, Device, Server, Site
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java
new file mode 100644
index 000000000..0e510ac1a
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java
@@ -0,0 +1,85 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.pref;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.PreferenceRule;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AffinityLinkPref implements PreferenceRule {
+
+    private static final Logger log = LoggerFactory.getLogger(AffinityLinkPref.class);
+
+    private ResourceManager resourceManager;
+    private List<String> affinityLinkIdList;
+
+    public AffinityLinkPref() {
+        // Set default values for affinity link ids (can be overridden by the spring config)
+        affinityLinkIdList = new ArrayList<>();
+        affinityLinkIdList.add("1");
+        affinityLinkIdList.add("2");
+    }
+
+    @Override
+    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
+
+        // This class does not really assign order number, but instead sets the affinity link with the lowest
+        // assigned bandwidth in the equipment data
+
+        String preferedAffinityLinkId = "1";
+        long lowestAssignedBw = Long.MAX_VALUE;
+        for (String affinityLinkId : affinityLinkIdList) {
+            String assetId = equipData.equipmentId + "-" + affinityLinkId;
+            Resource r = resourceManager.getResource("Bandwidth", assetId);
+            if (r != null) {
+                LimitResource ll = (LimitResource) r;
+                if (ll.used < lowestAssignedBw) {
+                    lowestAssignedBw = ll.used;
+                    preferedAffinityLinkId = affinityLinkId;
+                }
+                log.info("Assigned bandwidth on affinity link: " + assetId + ": " + ll.used);
+            }
+        }
+
+        equipData.data.put("affinity-link", preferedAffinityLinkId);
+
+        log.info("Prefered affinity link for " + equipData.equipmentId + ": " + preferedAffinityLinkId);
+
+        return 0;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+
+    public void setAffinityLinkIdList(List<String> affinityLinkIdList) {
+        this.affinityLinkIdList = affinityLinkIdList;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java
new file mode 100644
index 000000000..559f79689
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.pref;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.PreferenceRule;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class EvcExistingVrfPref implements PreferenceRule {
+
+    private static final Logger log = LoggerFactory.getLogger(EvcExistingVrfPref.class);
+
+    private ResourceManager resourceManager;
+
+    @Override
+    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
+        String vrfName = (String) serviceData.data.get("vrf-name");
+        if (vrfName == null)
+            return 0;
+
+        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
+        if (r != null && r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceShareGroupList.contains(vrfName)) {
+                    log.info("VRF for VPN: " + vrfName + " found on VPE: " + equipData.equipmentId);
+                    return 1;
+                }
+
+        log.info("VRF for VPN: " + vrfName + " NOT found on VPE: " + equipData.equipmentId);
+        return 2;
+    }
+
+    public void setResourceManager(ResourceManager resourceManager) {
+        this.resourceManager = resourceManager;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java
new file mode 100644
index 000000000..1faf254f4
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.reader;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+
+public class AicSiteReader implements EquipmentReader {
+
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        String aicSiteId = (String) equipmentConstraints.get("aic-site-id");
+
+        EquipmentData equipData = new EquipmentData();
+        equipData.equipmentLevel = EquipmentLevel.Site;
+        equipData.equipmentId = aicSiteId;
+        equipData.data = new HashMap<String, Object>();
+
+        List<EquipmentData> equipList = new ArrayList<>();
+        equipList.add(equipData);
+
+        return equipList;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java
new file mode 100644
index 000000000..4943c506b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java
@@ -0,0 +1,54 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.reader;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+
+public class UplinkCircuitReader implements EquipmentReader {
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        List<EquipmentData> equipList = new ArrayList<>();
+
+        List<Map<String, Object>> uplinkCircuitList =
+                (List<Map<String, Object>>) equipmentConstraints.get("uplink-circuit-list");
+        if (uplinkCircuitList == null || uplinkCircuitList.isEmpty())
+            return equipList;
+
+        for (Map<String, Object> uplinkCircuit : uplinkCircuitList) {
+            EquipmentData equipData = new EquipmentData();
+            equipData.equipmentLevel = EquipmentLevel.Device;
+            equipData.equipmentId = (String) uplinkCircuit.get("uplink-circuit-id");
+            equipData.data = uplinkCircuit;
+            equipList.add(equipData);
+        }
+
+        return equipList;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java
new file mode 100644
index 000000000..d5d3d005f
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.reader;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+
+public class VnfReader implements EquipmentReader {
+
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        String vnfName = (String) equipmentConstraints.get("vnf-name");
+
+        EquipmentData equipData = new EquipmentData();
+        equipData.equipmentLevel = EquipmentLevel.Device;
+        equipData.equipmentId = vnfName;
+        equipData.data = new HashMap<String, Object>();
+
+        List<EquipmentData> equipList = new ArrayList<>();
+        equipList.add(equipData);
+
+        return equipList;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java
new file mode 100644
index 000000000..59328f976
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.reader;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
+import org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDao;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+
+public class VpePortReader implements EquipmentReader {
+
+    private VpePortDao vpePortDao;
+
+    @Override
+    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
+        String clli = (String) equipmentConstraints.get("clli");
+        String vpeName = (String) equipmentConstraints.get("vpe-name");
+        if (vpeName == null) {
+            String equipmentId = (String) equipmentConstraints.get("equipment-id");
+            if (equipmentId != null) {
+                int i1 = equipmentId.indexOf('/');
+                if (i1 > 0)
+                    equipmentId = equipmentId.substring(0, i1);
+                vpeName = equipmentId;
+            }
+        }
+
+        List<Map<String, Object>> vpeDataList = vpePortDao.getVpePortData(clli, vpeName);
+
+        List<EquipmentData> equipList = new ArrayList<>();
+        for (Map<String, Object> vpeData : vpeDataList) {
+            EquipmentData equipData = new EquipmentData();
+            equipData.equipmentLevel = EquipmentLevel.Port;
+            equipData.equipmentId =
+                    (String) vpeData.get("vpe-id") + '/' + (String) vpeData.get("physical-interface-name");
+            equipData.data = vpeData;
+
+            equipList.add(equipData);
+        }
+
+        return equipList;
+    }
+
+    public void setVpePortDao(VpePortDao vpePortDao) {
+        this.vpePortDao = vpePortDao;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java
new file mode 100644
index 000000000..e4361f1d9
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java
@@ -0,0 +1,42 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.comp;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ThresholdStatus;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
+
+public interface AllocationRequestBuilder {
+
+    AllocationRequest buildAllocationRequest(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change);
+
+    ThresholdStatus getThresholdStatus(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            LimitAllocationOutcome limitAllocationOutcome);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java
new file mode 100644
index 000000000..ab0ef3b67
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java
@@ -0,0 +1,172 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.comp;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDao;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceThreshold;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ThresholdStatus;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.util.expr.ExpressionEvaluator;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AllocationRequestBuilderImpl implements AllocationRequestBuilder {
+
+    private static final Logger log = LoggerFactory.getLogger(AllocationRequestBuilderImpl.class);
+
+    private ResourceRuleDao resourceRuleDao;
+    private RangeRuleDao rangeRuleDao;
+
+    @Override
+    public AllocationRequest buildAllocationRequest(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
+                serviceData.endPointPosition, equipmentData.equipmentLevel);
+        List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceData.serviceModel,
+                serviceData.endPointPosition, equipmentData.equipmentLevel);
+        if (resourceRuleList.isEmpty() && rangeRuleList.isEmpty())
+            return null;
+        if (resourceRuleList.size() == 1 && rangeRuleList.isEmpty())
+            return buildAllocationRequest(resourceRuleList.get(0), serviceData, equipmentData, checkOnly, change);
+
+        if (resourceRuleList.isEmpty() && rangeRuleList.size() == 1)
+            return buildAllocationRequest(rangeRuleList.get(0), serviceData, equipmentData, checkOnly, change);
+
+        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
+        ar.stopOnFirstFailure = false;
+        ar.allocationRequestList = new ArrayList<AllocationRequest>();
+        for (ResourceRule rr : resourceRuleList) {
+            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
+            ar.allocationRequestList.add(ar1);
+        }
+        for (RangeRule rr : rangeRuleList) {
+            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
+            ar.allocationRequestList.add(ar1);
+        }
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            ResourceRule resourceRule,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, resourceRule);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.resourceSetId = serviceData.resourceSetId;
+        ar.resourceUnionId = serviceData.resourceUnionId;
+        ar.resourceName = resourceRule.resourceName;
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.strict = false;
+        ar.checkLimit = ExpressionEvaluator.evalLong(
+                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);
+        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
+        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(
+            RangeRule rangeRule,
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            boolean checkOnly,
+            boolean change) {
+        StrUtil.info(log, rangeRule);
+
+        RangeAllocationRequest ar = new RangeAllocationRequest();
+        ar.resourceSetId = serviceData.resourceSetId;
+        ar.resourceUnionId = serviceData.resourceUnionId;
+        ar.resourceName = rangeRule.rangeName;
+        ar.assetId = equipmentData.equipmentId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = true;
+        ar.check = true;
+        ar.allocate = !checkOnly;
+        ar.checkMin = rangeRule.minValue;
+        ar.checkMax = rangeRule.maxValue;
+        return ar;
+    }
+
+    @Override
+    public ThresholdStatus getThresholdStatus(
+            ServiceData serviceData,
+            EquipmentData equipmentData,
+            LimitAllocationOutcome limitAllocationOutcome) {
+        ResourceRule rr = resourceRuleDao.getResourceRule(serviceData.serviceModel, serviceData.endPointPosition,
+                equipmentData.equipmentLevel, limitAllocationOutcome.request.resourceName);
+        if (rr == null || rr.thresholdList == null || rr.thresholdList.isEmpty())
+            return null;
+
+        ThresholdStatus thresholdStatus = null;
+        long maxThresholdValue = 0;
+        for (ResourceThreshold th : rr.thresholdList) {
+            long thresholdValue = ExpressionEvaluator.evalLong(th.expression, equipmentData.data);
+
+            if (thresholdValue > maxThresholdValue) {
+                maxThresholdValue = thresholdValue;
+
+                if (limitAllocationOutcome.used >= thresholdValue) {
+                    thresholdStatus = new ThresholdStatus();
+                    thresholdStatus.resourceRule = rr;
+                    thresholdStatus.resourceThreshold = th;
+                    thresholdStatus.limitValue = limitAllocationOutcome.limit;
+                    thresholdStatus.thresholdValue = thresholdValue;
+                    thresholdStatus.used = limitAllocationOutcome.used;
+                    thresholdStatus.lastAdded = limitAllocationOutcome.allocatedCount;
+                }
+            }
+        }
+
+        return thresholdStatus;
+    }
+
+    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
+        this.resourceRuleDao = resourceRuleDao;
+    }
+
+    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
+        this.rangeRuleDao = rangeRuleDao;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java
new file mode 100644
index 000000000..8adf25113
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+public interface MaxPortSpeedDao {
+
+    // Returns max speed in kbps
+    long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java
new file mode 100644
index 000000000..481c6f45f
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java
@@ -0,0 +1,85 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class MaxPortSpeedDaoImpl implements MaxPortSpeedDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(MaxPortSpeedDaoImpl.class);
+
+    private final static String GET_SQL =
+            "SELECT * FROM MAX_PORT_SPEED WHERE image_file_name = ? AND end_point_position = ? AND interface_name = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private long defaultMaxPortSpeed = 5000000;
+    private SpeedUtil speedUtil;
+
+    @Override
+    public long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName) {
+        List<MaxPortSpeed> maxPortSpeedList =
+                jdbcTemplate.query(GET_SQL, new Object[] { imageFile, endPointPosition, interfaceName },
+                        new RowMapper<MaxPortSpeed>() {
+
+                            @Override
+                            public MaxPortSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
+                                MaxPortSpeed mps = new MaxPortSpeed();
+                                mps.maxSpeed = rs.getLong("max_speed");
+                                mps.unit = rs.getString("unit");
+                                return mps;
+                            }
+                        });
+
+        if (maxPortSpeedList.isEmpty())
+            return defaultMaxPortSpeed;
+
+        MaxPortSpeed mps = maxPortSpeedList.get(0);
+        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
+    }
+
+    private static class MaxPortSpeed {
+
+        public long maxSpeed;
+        public String unit;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    public void setDefaultMaxPortSpeed(long defaultMaxPortSpeed) {
+        this.defaultMaxPortSpeed = defaultMaxPortSpeed;
+    }
+
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java
new file mode 100644
index 000000000..607cc0a3b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+public interface MaxServerSpeedDao {
+
+    // Returns max speed in kbps
+    long getMaxServerSpeed(String serverModel, int evcCount);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java
new file mode 100644
index 000000000..445166bb6
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java
@@ -0,0 +1,86 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class MaxServerSpeedDaoImpl implements MaxServerSpeedDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(MaxServerSpeedDaoImpl.class);
+
+    private final static String GET_SQL =
+            "SELECT * FROM MAX_SERVER_SPEED\n" +
+            "WHERE (server_model = ? OR server_model = 'ALL') AND evc_count >= ?\n" +
+            "ORDER BY evc_count";
+
+    private JdbcTemplate jdbcTemplate;
+    private long defaultMaxServerSpeed = 1600000;
+    private SpeedUtil speedUtil;
+
+    @Override
+    public long getMaxServerSpeed(String serverModel, int evcCount) {
+        List<MaxServerSpeed> maxServerSpeedList =
+                jdbcTemplate.query(GET_SQL, new Object[] { serverModel, evcCount }, new RowMapper<MaxServerSpeed>() {
+
+                    @Override
+                    public MaxServerSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        MaxServerSpeed mps = new MaxServerSpeed();
+                        mps.maxSpeed = rs.getLong("max_speed");
+                        mps.unit = rs.getString("unit");
+                        return mps;
+                    }
+                });
+
+        if (maxServerSpeedList.isEmpty())
+            return defaultMaxServerSpeed;
+
+        MaxServerSpeed mps = maxServerSpeedList.get(0);
+        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
+    }
+
+    private static class MaxServerSpeed {
+
+        public long maxSpeed;
+        public String unit;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    public void setDefaultMaxServerSpeed(long defaultMaxServerSpeed) {
+        this.defaultMaxServerSpeed = defaultMaxServerSpeed;
+    }
+
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java
new file mode 100644
index 000000000..724ee199c
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+public interface ParameterDao {
+
+    String getParameter(String name);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java
new file mode 100644
index 000000000..eb061f99b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java
@@ -0,0 +1,57 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+public class ParameterDaoImpl implements ParameterDao {
+
+    private static final Logger log = LoggerFactory.getLogger(ParameterDaoImpl.class);
+
+    private final static String GET_SQL = "SELECT * FROM PARAMETERS WHERE name = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public String getParameter(String name) {
+        List<Map<String, Object>> ll = jdbcTemplate.queryForList(GET_SQL, name);
+
+        if (ll == null || ll.isEmpty()) {
+            log.info("Parameter: " + name + " not found in DB");
+            return null;
+        }
+
+        String v = (String) ll.get(0).get("value");
+        log.info("Parameter from DB: " + name + "='" + v + "'");
+
+        return v;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
new file mode 100644
index 000000000..ad1498d06
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
+
+public interface RangeRuleDao {
+
+    List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
new file mode 100644
index 000000000..29a4aea28
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class RangeRuleDaoImpl implements RangeRuleDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
+
+    private static final String GET_SQL =
+            "SELECT * FROM RANGE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel) {
+        List<RangeRule> rangeRuleList =
+                jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, endPointPosition, equipLevel.toString() },
+                        new RowMapper<RangeRule>() {
+
+                            @Override
+                            public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
+                                RangeRule rl = new RangeRule();
+                                rl.id = rs.getLong("range_rule_id");
+                                rl.rangeName = rs.getString("range_name");
+                                rl.serviceModel = rs.getString("service_model");
+                                rl.endPointPosition = rs.getString("end_point_position");
+                                rl.equipmentLevel = rs.getString("equipment_level");
+                                rl.minValue = rs.getInt("min_value");
+                                rl.maxValue = rs.getInt("max_value");
+                                return rl;
+                            }
+                        });
+        return rangeRuleList;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
new file mode 100644
index 000000000..9d879fbe6
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
+
+public interface ResourceRuleDao {
+
+    List<ResourceRule> getResourceRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
+
+    ResourceRule getResourceRule(
+            String serviceModel,
+            String endPointPosition,
+            EquipmentLevel equipLevel,
+            String resourceName);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
new file mode 100644
index 000000000..0e765f385
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
@@ -0,0 +1,117 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
+import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceThreshold;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class ResourceRuleDaoImpl implements ResourceRuleDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceRuleDaoImpl.class);
+
+    private static final String GET1_SQL =
+            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
+    private static final String GET2_SQL =
+            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ? AND resource_name = ?";
+    private static final String THRESHOLD_SQL = "SELECT * FROM RESOURCE_THRESHOLD WHERE resource_rule_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    ResourceRuleRowMapper resourceRuleRowMapper = new ResourceRuleRowMapper();
+    ResourceThresholdRowMapper resourceThresholdRowMapper = new ResourceThresholdRowMapper();
+
+    @Override
+    public List<ResourceRule> getResourceRules(
+            String serviceModel,
+            String endPointPosition,
+            EquipmentLevel equipLevel) {
+        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET1_SQL,
+                new Object[] { serviceModel, endPointPosition, equipLevel.toString() }, resourceRuleRowMapper);
+
+        for (ResourceRule rr : resourceRuleList)
+            rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
+
+        return resourceRuleList;
+    }
+
+    @Override
+    public ResourceRule getResourceRule(
+            String serviceModel,
+            String endPointPosition,
+            EquipmentLevel equipLevel,
+            String resourceName) {
+        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET2_SQL,
+                new Object[] { serviceModel, endPointPosition, equipLevel.toString(), resourceName },
+                resourceRuleRowMapper);
+
+        if (resourceRuleList == null || resourceRuleList.isEmpty())
+            return null;
+
+        ResourceRule rr = resourceRuleList.get(0);
+        rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
+
+        return rr;
+    }
+
+    private static class ResourceRuleRowMapper implements RowMapper<ResourceRule> {
+
+        @Override
+        public ResourceRule mapRow(ResultSet rs, int rowNum) throws SQLException {
+            ResourceRule rl = new ResourceRule();
+            rl.id = rs.getLong("resource_rule_id");
+            rl.resourceName = rs.getString("resource_name");
+            rl.serviceModel = rs.getString("service_model");
+            rl.endPointPosition = rs.getString("end_point_position");
+            rl.serviceExpression = rs.getString("service_expression");
+            rl.equipmentLevel = rs.getString("equipment_level");
+            rl.equipmentExpression = rs.getString("equipment_expression");
+            rl.allocationExpression = rs.getString("allocation_expression");
+            rl.softLimitExpression = rs.getString("soft_limit_expression");
+            rl.hardLimitExpression = rs.getString("hard_limit_expression");
+            return rl;
+        }
+    }
+
+    private static class ResourceThresholdRowMapper implements RowMapper<ResourceThreshold> {
+
+        @Override
+        public ResourceThreshold mapRow(ResultSet rs, int rowNum) throws SQLException {
+            ResourceThreshold th = new ResourceThreshold();
+            th.expression = rs.getString("threshold_expression");
+            th.message = rs.getString("threshold_message");
+            return th;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java
new file mode 100644
index 000000000..b51cb2e8c
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+public interface VpeLockDao {
+
+    String getVpeLock(String vpeName);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java
new file mode 100644
index 000000000..443f50666
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java
@@ -0,0 +1,48 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
+
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+public class VpeLockDaoImpl implements VpeLockDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(VpeLockDaoImpl.class);
+
+    private final static String GET_SQL = "SELECT vpn_lock FROM VPE_LOCK WHERE vpe_name = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public String getVpeLock(String vpeName) {
+        List<String> ll = jdbcTemplate.queryForList(GET_SQL, String.class, vpeName);
+        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
new file mode 100644
index 000000000..383c28308
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.data;
+
+public class RangeRule {
+
+    public long id;
+    public String rangeName;
+    public String serviceModel;
+    public String endPointPosition;
+    public String equipmentLevel;
+    public int minValue;
+    public int maxValue;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java
new file mode 100644
index 000000000..17e0196b2
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.data;
+
+import java.util.List;
+
+public class ResourceRule {
+
+    public long id;
+    public String resourceName;
+    public String serviceModel;
+    public String endPointPosition;
+    public String serviceExpression;
+    public String equipmentLevel;
+    public String equipmentExpression;
+    public String allocationExpression;
+    public String softLimitExpression;
+    public String hardLimitExpression;
+    public List<ResourceThreshold> thresholdList;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java
new file mode 100644
index 000000000..3f07d9f6b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.data;
+
+public class ResourceThreshold {
+
+    public String expression;
+    public String message;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java
new file mode 100644
index 000000000..5bc8d3450
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.rule.data;
+
+public class ThresholdStatus {
+
+    public ResourceRule resourceRule;
+    public ResourceThreshold resourceThreshold;
+    public long limitValue;
+    public long thresholdValue;
+    public long used;
+    public long lastAdded;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java
new file mode 100644
index 000000000..9f923a5c7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.service.dao;
+
+import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceResource;
+import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceStatus;
+
+public interface ServiceResourceDao {
+
+    ServiceResource getServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
+
+    void addServiceResource(ServiceResource serviceResource);
+
+    void updateServiceResource(ServiceResource serviceResource);
+
+    void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
+
+    void updateServiceStatus(String serviceInstanceId, ServiceStatus serviceStatus, ServiceStatus newServiceStatus);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java
new file mode 100644
index 000000000..b0e2046f8
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java
@@ -0,0 +1,110 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.service.dao;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceResource;
+import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.RowMapper;
+
+public class ServiceResourceDaoImpl implements ServiceResourceDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ServiceResourceDaoImpl.class);
+
+    private static final String GET_SQL =
+            "SELECT * FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
+
+    private static final String ADD_SQL = "INSERT INTO SERVICE_RESOURCE (\n"
+            + "  service_instance_id, service_status, service_change_number, resource_set_id, resource_union_id)\n"
+            + "VALUES (?, ?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL =
+            "UPDATE SERVICE_RESOURCE SET service_change_number = ?, resource_set_id = ?\n"
+                    + "WHERE service_instance_id = ? AND service_status = ?";
+
+    private static final String DELETE_SQL =
+            "DELETE FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
+
+    private static final String UPDATE_STATUS_SQL =
+            "UPDATE SERVICE_RESOURCE SET service_status = ? WHERE service_instance_id = ? AND service_status = ?";
+
+    private JdbcTemplate jdbcTemplate;
+
+    @Override
+    public ServiceResource getServiceResource(final String serviceInstanceId, final ServiceStatus serviceStatus) {
+        List<ServiceResource> serviceResourceList =
+                jdbcTemplate.query(GET_SQL, new Object[] { serviceInstanceId, serviceStatus.toString() },
+                        new RowMapper<ServiceResource>() {
+
+                            @Override
+                            public ServiceResource mapRow(ResultSet rs, int rowNum) throws SQLException {
+                                ServiceResource sr = new ServiceResource();
+                                sr.id = rs.getLong("service_resource_id");
+                                sr.serviceInstanceId = serviceInstanceId;
+                                sr.serviceStatus = serviceStatus;
+                                sr.serviceChangeNumber = rs.getInt("service_change_number");
+                                sr.resourceSetId = rs.getString("resource_set_id");
+                                sr.resourceUnionId = rs.getString("resource_union_id");
+                                return sr;
+                            }
+                        });
+        if (serviceResourceList.isEmpty())
+            return null;
+        return serviceResourceList.get(0);
+    }
+
+    @Override
+    public void addServiceResource(ServiceResource serviceResource) {
+        jdbcTemplate.update(ADD_SQL, serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString(),
+                serviceResource.serviceChangeNumber, serviceResource.resourceSetId, serviceResource.resourceUnionId);
+    }
+
+    @Override
+    public void updateServiceResource(ServiceResource serviceResource) {
+        jdbcTemplate.update(UPDATE_SQL, serviceResource.serviceChangeNumber, serviceResource.resourceSetId,
+                serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString());
+    }
+
+    @Override
+    public void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus) {
+        jdbcTemplate.update(DELETE_SQL, serviceInstanceId, serviceStatus.toString());
+    }
+
+    @Override
+    public void updateServiceStatus(
+            String serviceInstanceId,
+            ServiceStatus serviceStatus,
+            ServiceStatus newServiceStatus) {
+        jdbcTemplate.update(UPDATE_STATUS_SQL, newServiceStatus.toString(), serviceInstanceId, serviceStatus.toString());
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java
new file mode 100644
index 000000000..519e79194
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.service.data;
+
+public class ServiceResource {
+
+    public long id;
+    public String serviceInstanceId;
+    public ServiceStatus serviceStatus;
+    public int serviceChangeNumber;
+    public String resourceSetId;
+    public String resourceUnionId;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java
new file mode 100644
index 000000000..9fd1b37f8
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.service.data;
+
+public enum ServiceStatus {
+
+    Active, Pending
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
new file mode 100644
index 000000000..bda496a11
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
@@ -0,0 +1,330 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.comp;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
+import org.onap.ccsdk.sli.adaptors.lock.comp.ResourceLockedException;
+import org.onap.ccsdk.sli.adaptors.lock.comp.SynchronizedFunction;
+import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiAssetAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiAssetAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
+import org.onap.ccsdk.sli.adaptors.rm.util.LabelUtil;
+import org.onap.ccsdk.sli.adaptors.rm.util.LimitUtil;
+import org.onap.ccsdk.sli.adaptors.rm.util.RangeUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+class AllocationFunction extends SynchronizedFunction {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(AllocationFunction.class);
+
+    private ResourceDao resourceDao;
+
+    private String applicationId;
+    private AllocationRequest request;
+    private AllocationOutcome outcome;
+
+    private List<Resource> updateList = new ArrayList<Resource>();
+
+    public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, String applicationId,
+            AllocationRequest request, int lockTimeout) {
+        super(lockHelper, getLockNames(request), lockTimeout);
+        this.applicationId = applicationId;
+        this.resourceDao = resourceDao;
+        this.request = request;
+    }
+
+    private static Collection<String> getLockNames(AllocationRequest request) {
+        Set<String> lockResourceNames = new HashSet<String>();
+        addLockNames(lockResourceNames, request);
+        return lockResourceNames;
+    }
+
+    private static void addLockNames(Set<String> lockResourceNames, AllocationRequest request) {
+        if (request instanceof MultiAssetAllocationRequest) {
+            MultiAssetAllocationRequest req = (MultiAssetAllocationRequest) request;
+            if (req.assetIdList != null)
+                lockResourceNames.addAll(req.assetIdList);
+        } else if (request instanceof MultiResourceAllocationRequest) {
+            MultiResourceAllocationRequest req = (MultiResourceAllocationRequest) request;
+            if (req.allocationRequestList != null)
+                for (AllocationRequest request1 : req.allocationRequestList)
+                    addLockNames(lockResourceNames, request1);
+        } else if (request.assetId != null)
+            lockResourceNames.add(request.assetId);
+    }
+
+    @Override
+    public void _exec() throws ResourceLockedException {
+        outcome = allocate(request);
+        if (outcome.status == AllocationStatus.Success)
+            for (Resource r : updateList)
+                resourceDao.saveResource(r);
+    }
+
+    private AllocationOutcome allocate(AllocationRequest allocationRequest) throws ResourceLockedException {
+        if (allocationRequest instanceof MultiAssetAllocationRequest)
+            return allocateMultiAsset((MultiAssetAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof MultiResourceAllocationRequest)
+            return allocateMultiResource((MultiResourceAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof LimitAllocationRequest)
+            return allocateLimit((LimitAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof LabelAllocationRequest)
+            return allocateLabel((LabelAllocationRequest) allocationRequest);
+        if (allocationRequest instanceof RangeAllocationRequest)
+            return allocateRange((RangeAllocationRequest) allocationRequest);
+        return null;
+    }
+
+    private MultiAssetAllocationOutcome allocateMultiAsset(MultiAssetAllocationRequest req) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    private MultiResourceAllocationOutcome allocateMultiResource(MultiResourceAllocationRequest req) {
+        MultiResourceAllocationOutcome out = new MultiResourceAllocationOutcome();
+        out.request = req;
+        out.allocationOutcomeList = new ArrayList<AllocationOutcome>();
+        out.status = AllocationStatus.Success;
+
+        if (req.allocationRequestList != null)
+            for (AllocationRequest req1 : req.allocationRequestList) {
+                AllocationOutcome out1 = allocate(req1);
+                out.allocationOutcomeList.add(out1);
+                if (out1.status != AllocationStatus.Success)
+                    out.status = AllocationStatus.Failure;
+            }
+
+        return out;
+    }
+
+    private LimitAllocationOutcome allocateLimit(LimitAllocationRequest req) {
+        LimitAllocationOutcome out = new LimitAllocationOutcome();
+        out.request = req;
+
+        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
+        if (r == null) {
+            r = new LimitResource();
+            r.resourceKey = new ResourceKey();
+            r.resourceKey.assetId = req.assetId;
+            r.resourceKey.resourceName = req.resourceName;
+            r.resourceType = ResourceType.Limit;
+        } else {
+            if (r.resourceType != ResourceType.Limit) {
+                out.status = AllocationStatus.ResourceNotFound;
+                return out;
+            }
+            LimitUtil.recalculate((LimitResource) r);
+        }
+
+        LimitResource l = (LimitResource) r;
+        if (LimitUtil.checkLimit(l, req)) {
+            out.status = AllocationStatus.Success;
+            if (req.allocateCount > 0) {
+                out.allocatedCount = LimitUtil.allocateLimit(l, req, applicationId);
+                updateList.add(l);
+            }
+        } else
+            out.status = AllocationStatus.Failure;
+
+        out.used = l.used;
+        out.limit = req.checkLimit;
+
+        return out;
+    }
+
+    private LabelAllocationOutcome allocateLabel(LabelAllocationRequest req) {
+        LabelAllocationOutcome out = new LabelAllocationOutcome();
+
+        out.request = req;
+
+        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
+        if (r == null) {
+            r = new LabelResource();
+            r.resourceKey = new ResourceKey();
+            r.resourceKey.assetId = req.assetId;
+            r.resourceKey.resourceName = req.resourceName;
+            r.resourceType = ResourceType.Label;
+        } else {
+            if (r.resourceType != ResourceType.Label) {
+                out.status = AllocationStatus.ResourceNotFound;
+                return out;
+            }
+            LabelUtil.recalculate((LabelResource) r);
+        }
+
+        LabelResource l = (LabelResource) r;
+        if (LabelUtil.checkLabel(l, req)) {
+            out.status = AllocationStatus.Success;
+            out.currentLabel = l.label;
+            if (req.allocate) {
+                out.allocatedLabel = LabelUtil.allocateLabel(l, req, applicationId);
+                updateList.add(l);
+            }
+        } else
+            out.status = AllocationStatus.Failure;
+
+        return out;
+    }
+
+    private RangeAllocationOutcome allocateRange(RangeAllocationRequest req) {
+        RangeAllocationOutcome out = new RangeAllocationOutcome();
+
+        out.request = req;
+
+        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
+        if (r == null) {
+            r = new RangeResource();
+            r.resourceKey = new ResourceKey();
+            r.resourceKey.assetId = req.assetId;
+            r.resourceKey.resourceName = req.resourceName;
+            r.resourceType = ResourceType.Range;
+        } else {
+            if (r.resourceType != ResourceType.Range) {
+                out.status = AllocationStatus.ResourceNotFound;
+                return out;
+            }
+            RangeUtil.recalculate((RangeResource) r);
+        }
+
+        RangeResource rr = (RangeResource) r;
+        SortedSet<Integer> foundNumbers = null;
+        if (!req.check) {
+            out.status = AllocationStatus.Success;
+            foundNumbers = req.requestedNumbers;
+        } else {
+            if (req.requestedNumbers != null && req.requestedNumbers.size() > 0) {
+                foundNumbers = req.requestedNumbers;
+                out.status = AllocationStatus.Success;
+                for (int n : foundNumbers)
+                    if (!RangeUtil.checkRange(rr, req, n)) {
+                        out.status = AllocationStatus.Failure;
+                        break;
+                    }
+            } else {
+                foundNumbers = new TreeSet<Integer>();
+                int foundCount = 0;
+
+                // First try to reuse the numbers already taken by the same resource union
+                SortedSet<Integer> uu = RangeUtil.getUsed(rr, req.resourceUnionId);
+                if (uu != null && !uu.isEmpty()) {
+                    if (uu.size() >= req.requestedCount) {
+                        // Just take the first req.requestedCount numbers from uu
+                        Iterator<Integer> i = uu.iterator();
+                        while (foundCount < req.requestedCount) {
+                            foundNumbers.add(i.next());
+                            foundCount++;
+                        }
+                    } else {
+                        // Additional numbers are requested. Try to find them starting from
+                        // the minimum we have in uu (the first element) towards the min
+                        // parameter, and then starting from the maximum in uu (the last
+                        // element) towards the max parameter.
+                        // NOTE: In case of request for sequential numbers, the parameters
+                        // alignBlockSize and alignModulus are ignored. It would be harder
+                        // to take them into account, and currently it is not needed.
+
+                        int uumin = uu.first() - 1;
+                        int uumax = uu.last() + 1;
+                        foundNumbers.addAll(uu);
+                        foundCount = uu.size();
+                        for (int n = uumin; foundCount < req.requestedCount && n >= req.checkMin; n--) {
+                            if (RangeUtil.checkRange(rr, req, n)) {
+                                foundNumbers.add(n);
+                                foundCount++;
+                            } else if (req.sequential)
+                                break;
+                        }
+                        for (int n = uumax; foundCount < req.requestedCount && n <= req.checkMax; n++) {
+                            if (RangeUtil.checkRange(rr, req, n)) {
+                                foundNumbers.add(n);
+                                foundCount++;
+                            } else if (req.sequential)
+                                break;
+                        }
+
+                        // If we could not find enough numbers trying to reuse currently
+                        // allocated, reset foundNumbers and foundCount, continue with
+                        // the normal allocation of new numbers.
+                        if (foundCount < req.requestedCount) {
+                            foundNumbers = new TreeSet<Integer>();
+                            foundCount = 0;
+                        }
+                    }
+                }
+
+                for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++)
+                    if (RangeUtil.checkRange(rr, req, n)) {
+                        foundNumbers.add(n);
+                        foundCount++;
+                    } else if (req.sequential)
+                        foundCount = 0;
+
+                out.status = foundCount == req.requestedCount ? AllocationStatus.Success : AllocationStatus.Failure;
+            }
+        }
+
+        if (out.status == AllocationStatus.Success) {
+            out.allocated = foundNumbers;
+            if (req.allocate) {
+                RangeUtil.allocateRange(rr, out.allocated, req, applicationId);
+                updateList.add(rr);
+            }
+        } else
+            out.allocated = new TreeSet<Integer>();
+
+        out.used = rr.used;
+
+        return out;
+    }
+
+    public AllocationOutcome getAllocationOutcome() {
+        return outcome;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java
new file mode 100644
index 000000000..c0dec8bb7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java
@@ -0,0 +1,88 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.comp;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
+import org.onap.ccsdk.sli.adaptors.lock.comp.ResourceLockedException;
+import org.onap.ccsdk.sli.adaptors.lock.comp.SynchronizedFunction;
+import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.rm.util.ResourceUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+class ReleaseFunction extends SynchronizedFunction {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ReleaseFunction.class);
+
+    private ResourceDao resourceDao;
+
+    private String resourceSetId, resourceUnionId;
+
+    public ReleaseFunction(LockHelper lockHelper, ResourceDao resourceDao, String resourceSetId,
+            String resourceUnionId, Collection<String> lockNames, int lockTimeout) {
+        super(lockHelper, lockNames, lockTimeout);
+        this.resourceDao = resourceDao;
+        this.resourceSetId = resourceSetId;
+        this.resourceUnionId = resourceUnionId;
+    }
+
+    @Override
+    public void _exec() throws ResourceLockedException {
+        List<Resource> resourceList =
+                resourceSetId != null
+                        ? resourceDao.getResourceSet(resourceSetId) : resourceDao.getResourceUnion(resourceUnionId);
+        for (Resource r : resourceList) {
+            boolean updated = false;
+            if (r.allocationItems != null) {
+                Iterator<AllocationItem> i = r.allocationItems.iterator();
+                while (i.hasNext()) {
+                    AllocationItem ai = i.next();
+                    if (resourceSetId != null) {
+                        if (resourceSetId.equals(ai.resourceSetId)) {
+                            i.remove();
+                            updated = true;
+                        }
+
+                    } else if (resourceUnionId != null) {
+
+                        if (resourceUnionId.equals(ai.resourceUnionId)) {
+                            i.remove();
+                            updated = true;
+                        }
+
+                    }
+                }
+            }
+            if (updated) {
+                ResourceUtil.recalculate(r);
+                resourceDao.saveResource(r);
+            }
+        }
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java
new file mode 100644
index 000000000..2d4df68b5
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.comp;
+
+import java.util.Collection;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+
+public interface ResourceLoader {
+
+    void loadResource(String applicationId, Resource resource, boolean force);
+
+    void loadResources(String applicationId, Collection<Resource> resourceList, boolean force);
+
+    void loadResourcesForAsset(String applicationId, String assetId, Collection<Resource> resourceList, boolean force);
+
+    void deleteResource(String applicationId, String assetId, String resourceName);
+
+    void deleteResourcesForAsset(String applicationId, String assetId);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java
new file mode 100644
index 000000000..8aaa28687
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java
@@ -0,0 +1,41 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.comp;
+
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+
+public interface ResourceManager {
+
+    Resource getResource(String resourceName, String assetId);
+
+    List<Resource> getResourceUnion(String resourceUnionId);
+
+    AllocationOutcome allocateResources(AllocationRequest allocationRequest);
+
+    void releaseResourceSet(String resourceSetId);
+
+    void releaseResourceUnion(String resourceUnionId);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
new file mode 100644
index 000000000..2884e989f
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
@@ -0,0 +1,128 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.comp;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
+import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.rm.util.ResourceUtil;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ResourceManagerImpl implements ResourceManager {
+
+    private static final Logger log = LoggerFactory.getLogger(ResourceManagerImpl.class);
+
+    private LockHelper lockHelper;
+    private ResourceDao resourceDao;
+
+    private String applicationId;
+    private int lockTimeout = 10 * 60; // Default 10 min
+
+    public ResourceManagerImpl() {
+        log.info("ResourceManager created.");
+    }
+
+    @Override
+    public Resource getResource(String resourceName, String assetId) {
+        Resource r = resourceDao.getResource(assetId, resourceName);
+        ResourceUtil.recalculate(r);
+        return r;
+    }
+
+    @Override
+    public List<Resource> getResourceUnion(String resourceUnionId) {
+        List<Resource> rlist = resourceDao.getResourceUnion(resourceUnionId);
+        for (Resource r : rlist)
+            ResourceUtil.recalculate(r);
+        return rlist;
+    }
+
+    @Override
+    public AllocationOutcome allocateResources(AllocationRequest allocationRequest) {
+        if (allocationRequest == null)
+            throw new IllegalArgumentException("allocateResources called with null argument");
+
+        AllocationFunction allocationFunction =
+                new AllocationFunction(lockHelper, resourceDao, applicationId, allocationRequest, lockTimeout);
+        allocationFunction.exec();
+        AllocationOutcome allocationOutcome = allocationFunction.getAllocationOutcome();
+
+        StrUtil.info(log, allocationOutcome);
+
+        return allocationOutcome;
+    }
+
+    @Override
+    public void releaseResourceSet(String resourceSetId) {
+        List<Resource> resourceList = resourceDao.getResourceSet(resourceSetId);
+        if (resourceList == null || resourceList.isEmpty())
+            return;
+
+        Set<String> lockNames = getLockNames(resourceList);
+        ReleaseFunction releaseFunction =
+                new ReleaseFunction(lockHelper, resourceDao, resourceSetId, null, lockNames, lockTimeout);
+        releaseFunction.exec();
+    }
+
+    @Override
+    public void releaseResourceUnion(String resourceUnionId) {
+        List<Resource> resourceList = resourceDao.getResourceUnion(resourceUnionId);
+        if (resourceList == null || resourceList.isEmpty())
+            return;
+
+        Set<String> lockNames = getLockNames(resourceList);
+        ReleaseFunction releaseFunction =
+                new ReleaseFunction(lockHelper, resourceDao, null, resourceUnionId, lockNames, lockTimeout);
+        releaseFunction.exec();
+    }
+
+    private Set<String> getLockNames(List<Resource> resourceList) {
+        Set<String> lockNames = new HashSet<String>();
+        for (Resource r : resourceList)
+            lockNames.add(r.resourceKey.assetId);
+        return lockNames;
+    }
+
+    public void setResourceDao(ResourceDao resourceDao) {
+        this.resourceDao = resourceDao;
+    }
+
+    public void setLockTimeout(int lockTimeout) {
+        this.lockTimeout = lockTimeout;
+    }
+
+    public void setApplicationId(String applicationId) {
+        this.applicationId = applicationId;
+    }
+
+    public void setLockHelper(LockHelper lockHelper) {
+        this.lockHelper = lockHelper;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java
new file mode 100644
index 000000000..18d6d45c7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao;
+
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+
+public interface ResourceDao {
+
+    Resource getResource(String assetId, String resourceName);
+
+    void saveResource(Resource resource);
+
+    void deleteResource(String assetId, String resourceName);
+
+    List<Resource> getResourceSet(String resourceSetId);
+
+    List<Resource> getResourceUnion(String resourceUnionId);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java
new file mode 100644
index 000000000..25d8bf97e
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java
@@ -0,0 +1,37 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.util.Date;
+
+public class AllocationItem {
+
+    public long id;
+    public long resourceId;
+    public String applicationId;
+    public String resourceSetId, resourceUnionId;
+    public String resourceShareGroupList;
+    public long ltUsed;
+    public String llLabel;
+    public String rrUsed;
+    public Date allocationTime;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java
new file mode 100644
index 000000000..fab61b39a
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.util.List;
+
+public interface AllocationItemJdbcDao {
+
+    void add(AllocationItem ai);
+
+    List<AllocationItem> getAllocationItems(long resourceId);
+
+    void update(AllocationItem ai);
+
+    void delete(long id);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
new file mode 100644
index 000000000..354dd4e0b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
@@ -0,0 +1,126 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.PreparedStatementCreator;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.jdbc.support.GeneratedKeyHolder;
+import org.springframework.jdbc.support.KeyHolder;
+
+public class AllocationItemJdbcDaoImpl implements AllocationItemJdbcDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
+
+    private static final String INSERT_SQL = "INSERT INTO ALLOCATION_ITEM (\n"
+            + "  resource_id, application_id, resource_set_id, resource_union_id, resource_share_group_list,\n"
+            + "  lt_used, ll_label, rr_used, allocation_time)\nVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL = "UPDATE ALLOCATION_ITEM SET\n"
+            + "  resource_share_group_list = ?, lt_used = ?, ll_label = ?, rr_used = ?, allocation_time = ?\n"
+            + "WHERE allocation_item_id = ?";
+
+    private static final String DELETE_SQL = "DELETE FROM ALLOCATION_ITEM WHERE allocation_item_id = ?";
+
+    private static final String GET_SQL = "SELECT * FROM ALLOCATION_ITEM WHERE resource_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private AllocationItemRowMapper allocationItemRowMapper = new AllocationItemRowMapper();
+
+    @Override
+    public void add(final AllocationItem ai) {
+        PreparedStatementCreator psc = new PreparedStatementCreator() {
+
+            @Override
+            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
+                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "allocation_item_id" });
+                ps.setLong(1, ai.resourceId);
+                ps.setString(2, ai.applicationId);
+                ps.setString(3, ai.resourceSetId);
+                ps.setString(4, ai.resourceUnionId);
+                ps.setString(5, ai.resourceShareGroupList);
+                ps.setLong(6, ai.ltUsed);
+                ps.setString(7, ai.llLabel);
+                ps.setString(8, ai.rrUsed);
+                ps.setTimestamp(9, new Timestamp(ai.allocationTime.getTime()));
+                return ps;
+            }
+        };
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(psc, keyHolder);
+        ai.id = keyHolder.getKey().longValue();
+    }
+
+    @Override
+    public void update(AllocationItem ai) {
+        Long ltUsed = ai.ltUsed <= 0 ? null : ai.ltUsed;
+        jdbcTemplate.update(UPDATE_SQL, ai.resourceShareGroupList, ltUsed, ai.llLabel, ai.rrUsed, ai.allocationTime,
+                ai.id);
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update(DELETE_SQL, id);
+    }
+
+    @Override
+    public List<AllocationItem> getAllocationItems(long resourceId) {
+        if (resourceId <= 0)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, allocationItemRowMapper);
+    }
+
+    private static class AllocationItemRowMapper implements RowMapper<AllocationItem> {
+
+        @Override
+        public AllocationItem mapRow(ResultSet rs, int n) throws SQLException {
+            AllocationItem ai = new AllocationItem();
+            ai.id = rs.getLong("allocation_item_id");
+            ai.resourceId = rs.getLong("resource_id");
+            ai.applicationId = rs.getString("application_id");
+            ai.resourceSetId = rs.getString("resource_set_id");
+            ai.resourceUnionId = rs.getString("resource_union_id");
+            ai.resourceShareGroupList = rs.getString("resource_share_group_list");
+            ai.ltUsed = rs.getLong("lt_used");
+            ai.llLabel = rs.getString("ll_label");
+            ai.rrUsed = rs.getString("rr_used");
+            ai.allocationTime = rs.getTimestamp("allocation_time");
+            return ai;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java
new file mode 100644
index 000000000..4b0c82f92
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+public class Resource {
+
+    public long id;
+    public String assetId, name, type;
+    public long ltUsed;
+    public String llLabel;
+    public int llReferenceCount;
+    public String rrUsed;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java
new file mode 100644
index 000000000..9ee3cc188
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java
@@ -0,0 +1,370 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+
+import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
+
+public class ResourceDaoImpl implements ResourceDao {
+
+    private ResourceJdbcDao resourceJdbcDao;
+    private ResourceLoadJdbcDao resourceLoadJdbcDao;
+    private AllocationItemJdbcDao allocationItemJdbcDao;
+
+    @Override
+    public org.onap.ccsdk.sli.adaptors.rm.data.Resource getResource(String assetId, String resourceName) {
+        Resource rEntity = resourceJdbcDao.getResource(assetId, resourceName);
+        org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResource(rEntity);
+
+        if (r != null) {
+            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
+            r.allocationItems = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem>();
+            for (AllocationItem aiEntity : aiEntityList) {
+                org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
+                r.allocationItems.add(ai);
+            }
+
+            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
+            r.resourceLoadList = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad>();
+            for (ResourceLoad rlEntity : rlEntityList) {
+                org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
+                r.resourceLoadList.add(rl);
+            }
+        }
+
+        return r;
+    }
+
+    @Override
+    public void saveResource(org.onap.ccsdk.sli.adaptors.rm.data.Resource resource) {
+        if (resource == null)
+            return;
+
+        org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.Resource resourceEntity =
+                resourceJdbcDao.getResource(resource.resourceKey.assetId, resource.resourceKey.resourceName);
+        if (resourceEntity == null) {
+            resourceEntity = createResourceEntity(resource);
+            resourceJdbcDao.add(resourceEntity);
+            if (resource.allocationItems != null)
+                for (org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai : resource.allocationItems) {
+                    AllocationItem aiEntity = createAllocationItemEntity(resourceEntity.id, ai);
+                    allocationItemJdbcDao.add(aiEntity);
+                }
+            if (resource.resourceLoadList != null)
+                for (org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl : resource.resourceLoadList) {
+                    ResourceLoad rlEntity = createResourceLoadEntity(resourceEntity.id, rl);
+                    resourceLoadJdbcDao.add(rlEntity);
+                }
+        } else {
+            updateResourceEntity(resourceEntity, resource);
+            resourceJdbcDao.update(resourceEntity);
+
+            List<AllocationItem> oldAiEntityList = allocationItemJdbcDao.getAllocationItems(resourceEntity.id);
+            if (resource.allocationItems != null)
+                for (org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem newai : resource.allocationItems) {
+                    AllocationItem foundAiEntity = null;
+                    for (AllocationItem oldAiEntity : oldAiEntityList)
+                        if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
+                            foundAiEntity = oldAiEntity;
+                            break;
+                        }
+                    if (foundAiEntity != null) {
+                        updateAllocationItemEntity(foundAiEntity, newai);
+                        allocationItemJdbcDao.update(foundAiEntity);
+                    } else {
+                        AllocationItem newAiEntity = createAllocationItemEntity(resourceEntity.id, newai);
+                        allocationItemJdbcDao.add(newAiEntity);
+                    }
+                }
+            for (AllocationItem oldAiEntity : oldAiEntityList) {
+                boolean found = false;
+                if (resource.allocationItems != null)
+                    for (org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem newai : resource.allocationItems)
+                        if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
+                            found = true;
+                            break;
+                        }
+                if (!found)
+                    allocationItemJdbcDao.delete(oldAiEntity.id);
+            }
+
+            List<ResourceLoad> oldRlEntityList = resourceLoadJdbcDao.getResourceLoads(resourceEntity.id);
+            if (resource.resourceLoadList != null)
+                for (org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad newrl : resource.resourceLoadList) {
+                    ResourceLoad foundRlEntity = null;
+                    for (ResourceLoad oldRlEntity : oldRlEntityList)
+                        if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
+                            foundRlEntity = oldRlEntity;
+                            break;
+                        }
+                    if (foundRlEntity != null) {
+                        updateResourceLoadEntity(foundRlEntity, newrl);
+                        resourceLoadJdbcDao.update(foundRlEntity);
+                    } else {
+                        ResourceLoad newRlEntity = createResourceLoadEntity(resourceEntity.id, newrl);
+                        resourceLoadJdbcDao.add(newRlEntity);
+                    }
+                }
+            for (ResourceLoad oldRlEntity : oldRlEntityList) {
+                boolean found = false;
+                if (resource.resourceLoadList != null)
+                    for (org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad newrl : resource.resourceLoadList)
+                        if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
+                            found = true;
+                            break;
+                        }
+                if (!found)
+                    resourceLoadJdbcDao.delete(oldRlEntity.id);
+            }
+        }
+    }
+
+    @Override
+    public void deleteResource(String assetId, String resourceName) {
+        org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.Resource resourceEntity = resourceJdbcDao.getResource(assetId, resourceName);
+        if (resourceEntity != null)
+            resourceJdbcDao.delete(resourceEntity.id);
+    }
+
+    @Override
+    public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> getResourceSet(String resourceSetId) {
+        List<Resource> rEntityList = resourceJdbcDao.getResourceSet(resourceSetId);
+        List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.Resource>();
+        for (Resource rEntity : rEntityList) {
+            org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResource(rEntity);
+            rlist.add(r);
+
+            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
+            r.allocationItems = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem>();
+            for (AllocationItem aiEntity : aiEntityList) {
+                org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
+                r.allocationItems.add(ai);
+            }
+
+            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
+            r.resourceLoadList = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad>();
+            for (ResourceLoad rlEntity : rlEntityList) {
+                org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
+                r.resourceLoadList.add(rl);
+            }
+        }
+        return rlist;
+    }
+
+    @Override
+    public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> getResourceUnion(String resourceUnionId) {
+        List<Resource> rEntityList = resourceJdbcDao.getResourceUnion(resourceUnionId);
+        List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.Resource>();
+        for (Resource rEntity : rEntityList) {
+            org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResource(rEntity);
+            rlist.add(r);
+
+            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
+            r.allocationItems = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem>();
+            for (AllocationItem aiEntity : aiEntityList) {
+                org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
+                r.allocationItems.add(ai);
+            }
+
+            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
+            r.resourceLoadList = new ArrayList<org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad>();
+            for (ResourceLoad rlEntity : rlEntityList) {
+                org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
+                r.resourceLoadList.add(rl);
+            }
+        }
+        return rlist;
+    }
+
+    private Resource createResourceEntity(org.onap.ccsdk.sli.adaptors.rm.data.Resource resource) {
+        Resource resourceEntity = new Resource();
+        resourceEntity.assetId = resource.resourceKey.assetId;
+        resourceEntity.name = resource.resourceKey.resourceName;
+        resourceEntity.type = resource.resourceType.toString();
+        if (resource.resourceType == ResourceType.Limit)
+            resourceEntity.ltUsed = ((LimitResource) resource).used;
+        else if (resource.resourceType == ResourceType.Label) {
+            resourceEntity.llLabel = ((LabelResource) resource).label;
+            resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
+        } else if (resource.resourceType == ResourceType.Range)
+            resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
+
+        return resourceEntity;
+    }
+
+    private ResourceLoad createResourceLoadEntity(long resourceId, org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl) {
+        ResourceLoad rlEntity = new ResourceLoad();
+        rlEntity.resourceId = resourceId;
+        rlEntity.applicationId = rl.applicationId;
+        rlEntity.loadTime = rl.resourceLoadTime;
+        rlEntity.expirationTime = rl.resourceExpirationTime;
+        return rlEntity;
+    }
+
+    private void updateResourceLoadEntity(ResourceLoad rlEntity, org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl) {
+        rlEntity.loadTime = rl.resourceLoadTime;
+        rlEntity.expirationTime = rl.resourceExpirationTime;
+    }
+
+    private AllocationItem createAllocationItemEntity(long resourceId, org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai) {
+        AllocationItem aiEntity = new AllocationItem();
+        aiEntity.resourceId = resourceId;
+        aiEntity.resourceSetId = ai.resourceSetId;
+        aiEntity.resourceUnionId = ai.resourceUnionId;
+        aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
+        aiEntity.applicationId = ai.applicationId;
+        aiEntity.allocationTime = ai.allocationTime;
+        if (ai.resourceType == ResourceType.Limit)
+            aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
+        else if (ai.resourceType == ResourceType.Label)
+            aiEntity.llLabel = ((LabelAllocationItem) ai).label;
+        else if (ai.resourceType == ResourceType.Range)
+            aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
+        return aiEntity;
+    }
+
+    private void updateAllocationItemEntity(AllocationItem aiEntity, org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai) {
+        aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
+        aiEntity.allocationTime = ai.allocationTime;
+        if (ai.resourceType == ResourceType.Limit)
+            aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
+        else if (ai.resourceType == ResourceType.Label)
+            aiEntity.llLabel = ((LabelAllocationItem) ai).label;
+        else if (ai.resourceType == ResourceType.Range)
+            aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
+    }
+
+    private void updateResourceEntity(Resource resourceEntity, org.onap.ccsdk.sli.adaptors.rm.data.Resource resource) {
+        if (resource.resourceType == ResourceType.Limit)
+            resourceEntity.ltUsed = ((LimitResource) resource).used;
+        else if (resource.resourceType == ResourceType.Label) {
+            resourceEntity.llLabel = ((LabelResource) resource).label;
+            resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
+        } else if (resource.resourceType == ResourceType.Range)
+            resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
+    }
+
+    private org.onap.ccsdk.sli.adaptors.rm.data.Resource createResource(Resource resourceEntity) {
+        if (resourceEntity == null)
+            return null;
+
+        org.onap.ccsdk.sli.adaptors.rm.data.Resource r = null;
+        ResourceType type = ResourceType.valueOf(resourceEntity.type);
+        if (type == ResourceType.Limit) {
+            LimitResource l = new LimitResource();
+            l.used = resourceEntity.ltUsed;
+            r = l;
+        } else if (type == ResourceType.Label) {
+            LabelResource l = new LabelResource();
+            l.label = resourceEntity.llLabel;
+            l.referenceCount = resourceEntity.llReferenceCount;
+            r = l;
+        } else if (type == ResourceType.Range) {
+            RangeResource rr = new RangeResource();
+            rr.used =
+                    StrUtil.listInt(resourceEntity.rrUsed, "Invalid data found in DB in for Resource Id: " +
+                            resourceEntity.id + ": RESOURCE.RR_USED: " + resourceEntity.rrUsed);
+            r = rr;
+        }
+
+        r.resourceType = type;
+        r.resourceKey = new ResourceKey();
+        r.resourceKey.assetId = resourceEntity.assetId;
+        r.resourceKey.resourceName = resourceEntity.name;
+
+        return r;
+    }
+
+    private org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem createAllocationItem(
+            org.onap.ccsdk.sli.adaptors.rm.data.Resource r,
+            AllocationItem aiEntity) {
+        if (r == null || aiEntity == null)
+            return null;
+
+        org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = null;
+        if (r.resourceType == ResourceType.Limit) {
+            LimitAllocationItem lai = new LimitAllocationItem();
+            lai.used = aiEntity.ltUsed;
+            ai = lai;
+        } else if (r.resourceType == ResourceType.Label) {
+            LabelAllocationItem lai = new LabelAllocationItem();
+            lai.label = aiEntity.llLabel;
+            ai = lai;
+        } else if (r.resourceType == ResourceType.Range) {
+            RangeAllocationItem rai = new RangeAllocationItem();
+            rai.used =
+                    StrUtil.listInt(aiEntity.rrUsed, "Invalid data found in DB in for Allocation Item Id: " +
+                            aiEntity.id + ": ALLOCATION_ITEM.RR_USED: " + aiEntity.rrUsed);
+            ai = rai;
+        }
+
+        ai.resourceType = r.resourceType;
+        ai.resourceKey = r.resourceKey;
+        ai.resourceSetId = aiEntity.resourceSetId;
+        ai.resourceUnionId = aiEntity.resourceUnionId;
+        if (aiEntity.resourceShareGroupList != null)
+            ai.resourceShareGroupList = new HashSet<String>(StrUtil.listStr(aiEntity.resourceShareGroupList));
+        ai.applicationId = aiEntity.applicationId;
+        ai.allocationTime = aiEntity.allocationTime;
+
+        return ai;
+    }
+
+    private org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad createResourceLoad(
+            org.onap.ccsdk.sli.adaptors.rm.data.Resource r,
+            ResourceLoad rlEntity) {
+        if (rlEntity == null)
+            return null;
+
+        org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = new org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad();
+        rl.resourceKey = r.resourceKey;
+        rl.applicationId = rlEntity.applicationId;
+        rl.resourceLoadTime = rlEntity.loadTime;
+        rl.resourceExpirationTime = rlEntity.expirationTime;
+
+        return rl;
+    }
+
+    public void setResourceJdbcDao(ResourceJdbcDao resourceJdbcDao) {
+        this.resourceJdbcDao = resourceJdbcDao;
+    }
+
+    public void setResourceLoadJdbcDao(ResourceLoadJdbcDao resourceLoadJdbcDao) {
+        this.resourceLoadJdbcDao = resourceLoadJdbcDao;
+    }
+
+    public void setAllocationItemJdbcDao(AllocationItemJdbcDao allocationItemJdbcDao) {
+        this.allocationItemJdbcDao = allocationItemJdbcDao;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java
new file mode 100644
index 000000000..b32f34082
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.util.List;
+
+public interface ResourceJdbcDao {
+
+    Resource getResource(String assetId, String resourceName);
+
+    List<Resource> getResourceSet(String resourceSetId);
+
+    List<Resource> getResourceUnion(String resourceUnionId);
+
+    void add(Resource r);
+
+    void delete(long id);
+
+    void update(Resource r);
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java
new file mode 100644
index 000000000..6d4455e7e
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java
@@ -0,0 +1,144 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Collections;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.PreparedStatementCreator;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.jdbc.support.GeneratedKeyHolder;
+import org.springframework.jdbc.support.KeyHolder;
+
+public class ResourceJdbcDaoImpl implements ResourceJdbcDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
+
+    private static final String RESOURCE_SQL = "SELECT * FROM RESOURCE WHERE asset_id = ? AND resource_name = ?";
+
+    private static final String RESOURCE_SET_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
+            + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_set_id = ?)";
+
+    private static final String RESOURCE_UNION_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
+            + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_union_id = ?)";
+
+    private static final String INSERT_SQL = "INSERT INTO RESOURCE (\n"
+            + "  asset_id, resource_name, resource_type, lt_used, ll_label, ll_reference_count, rr_used)\n"
+            + "VALUES (?, ?, ?, ?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL = "UPDATE RESOURCE SET\n"
+            + "  lt_used = ?, ll_label = ?, ll_reference_count = ?, rr_used = ?\nWHERE resource_id = ?";
+
+    private static final String DELETE_SQL = "DELETE FROM RESOURCE WHERE resource_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private ResourceRowMapper resourceRowMapper = new ResourceRowMapper();
+
+    @Override
+    public Resource getResource(String assetId, String resourceName) {
+        if (assetId == null || assetId.trim().length() == 0 || resourceName == null ||
+                resourceName.trim().length() == 0)
+            return null;
+
+        List<Resource> ll = jdbcTemplate.query(RESOURCE_SQL, new Object[] { assetId, resourceName }, resourceRowMapper);
+        return ll.isEmpty() ? null : ll.get(0);
+    }
+
+    @Override
+    public List<Resource> getResourceSet(String resourceSetId) {
+        if (resourceSetId == null)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(RESOURCE_SET_SQL, new Object[] { resourceSetId }, resourceRowMapper);
+    }
+
+    @Override
+    public List<Resource> getResourceUnion(String resourceUnionId) {
+        if (resourceUnionId == null)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(RESOURCE_UNION_SQL, new Object[] { resourceUnionId }, resourceRowMapper);
+    }
+
+    @Override
+    public void add(final Resource r) {
+        PreparedStatementCreator psc = new PreparedStatementCreator() {
+
+            @Override
+            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
+                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_id" });
+                ps.setString(1, r.assetId);
+                ps.setString(2, r.name);
+                ps.setString(3, r.type);
+                ps.setLong(4, r.ltUsed);
+                ps.setString(5, r.llLabel);
+                ps.setInt(6, r.llReferenceCount);
+                ps.setString(7, r.rrUsed);
+                return ps;
+            }
+        };
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(psc, keyHolder);
+        r.id = keyHolder.getKey().longValue();
+    }
+
+    @Override
+    public void update(Resource r) {
+        Long ltUsed = r.ltUsed <= 0 ? null : r.ltUsed;
+        Integer llRefCount = r.llReferenceCount <= 0 ? null : r.llReferenceCount;
+        jdbcTemplate.update(UPDATE_SQL, ltUsed, r.llLabel, llRefCount, r.rrUsed, r.id);
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update(DELETE_SQL, id);
+    }
+
+    private static class ResourceRowMapper implements RowMapper<Resource> {
+
+        @Override
+        public Resource mapRow(ResultSet rs, int arg1) throws SQLException {
+            Resource r = new Resource();
+            r.id = rs.getLong("resource_id");
+            r.assetId = rs.getString("asset_id");
+            r.name = rs.getString("resource_name");
+            r.type = rs.getString("resource_type");
+            r.ltUsed = rs.getLong("lt_used");
+            r.llLabel = rs.getString("ll_label");
+            r.llReferenceCount = rs.getInt("ll_reference_count");
+            r.rrUsed = rs.getString("rr_used");
+            return r;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java
new file mode 100644
index 000000000..0f45bbfcb
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.util.Date;
+
+public class ResourceLoad {
+
+    public long id;
+    public long resourceId;
+    public String applicationId;
+    public Date loadTime;
+    public Date expirationTime;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java
new file mode 100644
index 000000000..789670c4b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.util.List;
+
+public interface ResourceLoadJdbcDao {
+
+    void add(ResourceLoad rl);
+
+    List<ResourceLoad> getResourceLoads(long resourceId);
+
+    void update(ResourceLoad rl);
+
+    void delete(long id);
+
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
new file mode 100644
index 000000000..632a5fbec
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
@@ -0,0 +1,112 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.Collections;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.PreparedStatementCreator;
+import org.springframework.jdbc.core.RowMapper;
+import org.springframework.jdbc.support.GeneratedKeyHolder;
+import org.springframework.jdbc.support.KeyHolder;
+
+public class ResourceLoadJdbcDaoImpl implements ResourceLoadJdbcDao {
+
+    @SuppressWarnings("unused")
+    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
+
+    private static final String INSERT_SQL = "INSERT INTO RESOURCE_LOAD (\n"
+            + "  resource_id, application_id, resource_load_time, resource_expiration_time)\nVALUES (?, ?, ?, ?)";
+
+    private static final String UPDATE_SQL = "UPDATE RESOURCE_LOAD SET\n"
+            + "  resource_load_time = ?, resource_expiration_time = ?\nWHERE resource_id = ?";
+
+    private static final String DELETE_SQL = "DELETE FROM RESOURCE_LOAD WHERE resource_load_id = ?";
+
+    private static final String GET_SQL = "SELECT * FROM RESOURCE_LOAD WHERE resource_id = ?";
+
+    private JdbcTemplate jdbcTemplate;
+    private ResourceLoadRowMapper resourceLoadRowMapper = new ResourceLoadRowMapper();
+
+    @Override
+    public void add(final ResourceLoad rl) {
+        PreparedStatementCreator psc = new PreparedStatementCreator() {
+
+            @Override
+            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
+                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_load_id" });
+                ps.setLong(1, rl.resourceId);
+                ps.setString(2, rl.applicationId);
+                ps.setTimestamp(3, new Timestamp(rl.loadTime.getTime()));
+                ps.setTimestamp(4, new Timestamp(rl.expirationTime.getTime()));
+                return ps;
+            }
+        };
+        KeyHolder keyHolder = new GeneratedKeyHolder();
+        jdbcTemplate.update(psc, keyHolder);
+        rl.id = keyHolder.getKey().longValue();
+    }
+
+    @Override
+    public void update(ResourceLoad rl) {
+        jdbcTemplate.update(UPDATE_SQL, rl.loadTime, rl.expirationTime, rl.id);
+    }
+
+    @Override
+    public void delete(long id) {
+        jdbcTemplate.update(DELETE_SQL, id);
+    }
+
+    @Override
+    public List<ResourceLoad> getResourceLoads(long resourceId) {
+        if (resourceId <= 0)
+            return Collections.emptyList();
+
+        return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, resourceLoadRowMapper);
+    }
+
+    private static class ResourceLoadRowMapper implements RowMapper<ResourceLoad> {
+
+        @Override
+        public ResourceLoad mapRow(ResultSet rs, int n) throws SQLException {
+            ResourceLoad rl = new ResourceLoad();
+            rl.id = rs.getLong("allocation_item_id");
+            rl.resourceId = rs.getLong("resource_id");
+            rl.applicationId = rs.getString("application_id");
+            rl.loadTime = rs.getTimestamp("resource_load_time");
+            rl.expirationTime = rs.getTimestamp("resource_expiration_time");
+            return rl;
+        }
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java
new file mode 100644
index 000000000..edc1916b5
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java
@@ -0,0 +1,26 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public enum AllocationAction {
+    Fail, Succeed_DoNothing, Succeed_Allocate
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java
new file mode 100644
index 000000000..f8e6a75a1
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.Date;
+import java.util.Set;
+
+public abstract class AllocationItem {
+
+    public ResourceKey resourceKey;
+    public ResourceType resourceType;
+    public String resourceSetId;
+    public String resourceUnionId;
+    public Set<String> resourceShareGroupList;
+    public String applicationId;
+    public Date allocationTime;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java
new file mode 100644
index 000000000..048f4f4ac
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class AllocationOutcome {
+
+    public AllocationStatus status = null;
+    public AllocationRequest request = null;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
new file mode 100644
index 000000000..25a4fbba9
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.Set;
+
+public class AllocationRequest {
+
+    public String resourceUnionId = null;
+    public String resourceSetId = null;
+    public Set<String> resourceShareGroupList = null;
+    public String resourceName = null;
+    public String assetId = null;
+    public AllocationAction missingResourceAction = AllocationAction.Succeed_Allocate;
+    public AllocationAction expiredResourceAction = AllocationAction.Succeed_Allocate;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java
new file mode 100644
index 000000000..bef9a1114
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public enum AllocationStatus {
+
+    Success, Failure, NotTried, ResourceNotFound, ResourceExpired
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java
new file mode 100644
index 000000000..f6fc7c9b3
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public enum InitAction {
+    CheckInit("Initialize if needed"), ForceInit("Always Initialize"), NoInit("No initialization");
+
+    private String str;
+
+    private InitAction(String str) {
+        this.str = str;
+    }
+
+    public String getInitActionStr() {
+        return str;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java
new file mode 100644
index 000000000..d41bfd62a
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LabelAllocationItem extends AllocationItem {
+
+    public String label;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java
new file mode 100644
index 000000000..9c9f9145d
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LabelAllocationOutcome extends AllocationOutcome {
+
+    public String allocatedLabel = null;
+    public String currentLabel = null;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java
new file mode 100644
index 000000000..97751fc01
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LabelAllocationRequest extends AllocationRequest {
+
+    public String label = null;
+    public boolean check = false;
+    public boolean allocate = false;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java
new file mode 100644
index 000000000..d09dba267
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LabelResource extends Resource {
+
+    public static final String BLOCKED = "__BLOCKED__";
+
+    public String label;
+    public int referenceCount;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java
new file mode 100644
index 000000000..ad1674f7b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LimitAllocationItem extends AllocationItem {
+
+    public long used;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java
new file mode 100644
index 000000000..d635e3605
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LimitAllocationOutcome extends AllocationOutcome {
+
+    public long allocatedCount = 0;
+    public long used = 0;
+    public long limit = 0;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java
new file mode 100644
index 000000000..06c0e8393
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java
@@ -0,0 +1,31 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LimitAllocationRequest extends AllocationRequest {
+
+    public long checkCount = 0;
+    public long allocateCount = 0;
+    public long checkLimit = -1;
+    public boolean replace = false;
+    public boolean strict = false;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java
new file mode 100644
index 000000000..2fd9b6cae
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class LimitResource extends Resource {
+
+    public long used = 0;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java
new file mode 100644
index 000000000..2d7b11c31
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.List;
+
+public class MultiAssetAllocationOutcome extends AllocationOutcome {
+
+    public List<String> goodAssetIdList;
+    public List<AllocationOutcome> allocationOutcomeList;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java
new file mode 100644
index 000000000..366201f35
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.List;
+
+public class MultiAssetAllocationRequest extends AllocationRequest {
+
+    public List<String> assetIdList = null;
+    public AllocationRequest allocationRequest = null;
+    public int requestedCount = 0;
+    public boolean sequential = false;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java
new file mode 100644
index 000000000..f71c247da
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.List;
+
+public class MultiResourceAllocationOutcome extends AllocationOutcome {
+
+    public List<AllocationOutcome> allocationOutcomeList;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java
new file mode 100644
index 000000000..3244c2340
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.List;
+
+public class MultiResourceAllocationRequest extends AllocationRequest {
+
+    public List<AllocationRequest> allocationRequestList = null;
+    public boolean stopOnFirstFailure = true;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java
new file mode 100644
index 000000000..8e62ef653
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.SortedSet;
+
+public class RangeAllocationItem extends AllocationItem {
+
+    public SortedSet<Integer> used;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java
new file mode 100644
index 000000000..3b675c221
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.SortedSet;
+
+public class RangeAllocationOutcome extends AllocationOutcome {
+
+    public SortedSet<Integer> allocated = null;
+    public SortedSet<Integer> used = null;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
new file mode 100644
index 000000000..b42960d9d
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.SortedSet;
+
+public class RangeAllocationRequest extends AllocationRequest {
+
+    public int checkMin = 0;
+    public int checkMax = 0;
+    public boolean check = false;
+    public boolean allocate = false;
+    public boolean replace = false;
+    public SortedSet<Integer> requestedNumbers = null;
+    public int requestedCount = 1;
+    public boolean sequential = false;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java
new file mode 100644
index 000000000..c39cb37ea
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java
@@ -0,0 +1,29 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.SortedSet;
+
+public class RangeResource extends Resource {
+
+    public SortedSet<Integer> used;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java
new file mode 100644
index 000000000..59706f4d5
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.Collection;
+
+public abstract class Resource {
+
+    public ResourceKey resourceKey;
+    public ResourceType resourceType;
+    public Collection<AllocationItem> allocationItems;
+    public Collection<ResourceLoad> resourceLoadList;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java
new file mode 100644
index 000000000..b1f8d5910
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class ResourceKey {
+
+    public String assetId;
+    public String resourceName;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || !(o instanceof ResourceKey))
+            return false;
+        ResourceKey rk = (ResourceKey) o;
+        if (assetId == null || resourceName == null)
+            return false;
+        return assetId.equals(rk.assetId) && resourceName.equals(rk.resourceName);
+    }
+
+    @Override
+    public int hashCode() {
+        return (int) ((long) System.identityHashCode(assetId) + (long) System.identityHashCode(resourceName));
+    }
+
+    @Override
+    public String toString() {
+        return "(" + assetId + ", " + resourceName + ")";
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java
new file mode 100644
index 000000000..1ff1962af
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+import java.util.Date;
+
+public class ResourceLoad {
+
+    public ResourceKey resourceKey;
+    public String applicationId;
+    public Date resourceLoadTime;
+    public Date resourceExpirationTime;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java
new file mode 100644
index 000000000..60896e492
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java
@@ -0,0 +1,26 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public enum ResourceType {
+    Limit, Label, Range
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
new file mode 100644
index 000000000..7cc541dd7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
@@ -0,0 +1,95 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.util;
+
+import java.util.ArrayList;
+import java.util.Date;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
+
+public class LabelUtil {
+
+    public static boolean checkLabel(LabelResource l, LabelAllocationRequest req) {
+        if (req.check && req.label != null && l.allocationItems != null && !l.allocationItems.isEmpty()) {
+            for (AllocationItem ai : l.allocationItems) {
+                LabelAllocationItem lai = (LabelAllocationItem) ai;
+                if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label))
+                    return false;
+            }
+        }
+        return true;
+    }
+
+    public static String allocateLabel(LabelResource l, LabelAllocationRequest req, String applicationId) {
+        if (!req.allocate)
+            return null;
+
+        LabelAllocationItem lai = (LabelAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
+        if (lai == null) {
+            lai = new LabelAllocationItem();
+            lai.resourceType = ResourceType.Label;
+            lai.resourceKey = new ResourceKey();
+            lai.resourceKey.assetId = req.assetId;
+            lai.resourceKey.resourceName = req.resourceName;
+            lai.applicationId = applicationId;
+            lai.resourceSetId = req.resourceSetId;
+            lai.resourceUnionId = req.resourceUnionId;
+            lai.resourceShareGroupList = req.resourceShareGroupList;
+
+            if (l.allocationItems == null)
+                l.allocationItems = new ArrayList<AllocationItem>();
+            l.allocationItems.add(lai);
+        }
+
+        lai.label = req.label;
+        lai.allocationTime = new Date();
+
+        recalculate(l);
+
+        return lai.label;
+    }
+
+    public static void recalculate(LabelResource l) {
+        l.label = null;
+        l.referenceCount = 0;
+        if (l.allocationItems != null)
+            for (AllocationItem ai : l.allocationItems) {
+                LabelAllocationItem lai = (LabelAllocationItem) ai;
+                if (lai.label != null) {
+                    l.referenceCount++;
+                    if (l.label == null)
+                        l.label = lai.label;
+                    else if (!l.label.equals(lai.label))
+                        l.label = "__BLOCKED__";
+                }
+            }
+    }
+
+    private static boolean eq(Object o1, Object o2) {
+        return o1 == null ? o2 == null : o1.equals(o2);
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
new file mode 100644
index 000000000..8f284b595
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
@@ -0,0 +1,334 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.util;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class LimitUtil {
+
+    private static final Logger log = LoggerFactory.getLogger(LimitUtil.class);
+
+    public static boolean checkLimit(LimitResource l, LimitAllocationRequest req) {
+        if (req.checkCount <= 0)
+            return true;
+
+        long checkCount = req.checkCount;
+        long currentUsage = 0;
+        if (req.resourceSetId != null) {
+            LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
+            if (lai != null)
+                currentUsage = lai.used;
+        }
+        if (!req.replace)
+            checkCount += currentUsage;
+
+        long used = calculateLimitUsage(l, 0, null, null);
+        long wouldUse = calculateLimitUsage(l, checkCount, req.resourceUnionId, req.resourceShareGroupList);
+
+        // If usage is not increasing by this request, only check the limit if
+        // strictCheck is true.
+        if (wouldUse <= used && !req.strict)
+            return true;
+
+        return wouldUse <= req.checkLimit;
+    }
+
+    private static long calculateLimitUsage(
+            LimitResource l,
+            long checkCount,
+            String resourceUnionId,
+            Set<String> resourceShareGroupList) {
+        if ((l.allocationItems == null || l.allocationItems.isEmpty()) &&
+                (resourceUnionId == null || resourceUnionId.length() == 0))
+            return 0;
+
+        long t1 = System.currentTimeMillis();
+        boolean logit = false;
+        String rn = "Resource: " + l.resourceKey.resourceName + " - " + l.resourceKey.assetId;
+
+        // In order to best utilize the resource, we need to take not the sum of all allocation items, but
+        // instead the maximum usage that could happen at any moment of time (given not all allocation items are active
+        // at the same time), also taking into account possible resource sharing.
+        // Thus we need to find all combinations of allocation items that can be active at the same time (allocation
+        // items with the same first union cannot be active at the same time), compute the usage for each (again,
+        // taking into account resource sharing), and take the maximum.
+        //
+        // Example:
+        // Let's have the following allocation items:
+        // ai1: sdid1, vrf1 - usage 5
+        // ai2: sdid2, vrf1 - usage 10
+        // ai3: sdid3, vrf2 - usage 15
+        // ai4: sdid1, vrf3 - usage 20
+        // ai5: sdid3, vrf1 - usage 25
+        // The following combinations of active allocation items are possible:
+        // 1) ai1, ai2, ai3
+        // 2) ai1, ai2, ai5
+        // 3) ai2, ai3, ai4
+        // 4) ai2, ai3, ai5
+        // Here is how we calculate the usage for combination 1:
+        // ai1 and ai2 contain the same resource union vrf1, so they share the resource - we take the max of usage,
+        // so we have:
+        // max(5, 10) + 15 = 25
+        // Similarly, we calculate the usage of the other combinations:
+        // 2) max(5, 10, 25) = 25
+        // 3) 10 + 15 + 20 = 45
+        // 4) max(10, 25) + 15 = 40
+        // So, the result in this case is:
+        // max(25, 25, 45, 40) = 45
+        //
+        // We might have a problem with this approach, if we have a lot of combinations. Assuming we have at most 2
+        // allocation items with the same resource union (sdid), the number of combinations would be
+        // 2 ^ n
+        // where n is the number of allocation items that have the same resource union (sdid). That would be
+        // the number of change orders currently in progress.
+        //
+        // Here is one optimization that we can do:
+        // If we have allocation items that have all resource unions the same, we don't need to generate combinations
+        // with each of them, we can just take the one of them with the maximum usage, as it is clear that the others
+        // will not lead to a bigger usage.
+        // For example, if we had the following allocation items:
+        // ai1: sdid1, vrf1 - usage 10
+        // ai2: sdid1, vrf1 - usage 20
+        // We only need to take the combinations with ai2, as they will always lead to bigger usage than the remaining
+        // combinations with ai1.
+
+        // First, group the allocation items by the first resource union, using the LimitUsage structure
+        int regularChangeCount = 0;
+        Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<String, List<LimitUsage>>();
+        if (l.allocationItems != null)
+            for (AllocationItem ai : l.allocationItems) {
+                LimitAllocationItem lai = (LimitAllocationItem) ai;
+                boolean regularChange =
+                        addLimitUsage(limitUsageMap, lai.resourceUnionId, lai.resourceShareGroupList, lai.used);
+                if (regularChange)
+                    regularChangeCount++;
+            }
+        if (checkCount > 0 && resourceUnionId != null) {
+            boolean regularChange = addLimitUsage(limitUsageMap, resourceUnionId, resourceShareGroupList, checkCount);
+            if (regularChange)
+                regularChangeCount++;
+        }
+
+        // Generate all the combinations, containing one LimitUsage object for each firstResourceUnion
+        int significantChangeCount = 0;
+        List<List<LimitUsage>> allCombinations = new ArrayList<List<LimitUsage>>();
+        for (String firstResourceUnion : limitUsageMap.keySet()) {
+            List<LimitUsage> limitUsageList = limitUsageMap.get(firstResourceUnion);
+            if (limitUsageList.size() > 1)
+                significantChangeCount++;
+            if (allCombinations.isEmpty()) {
+                for (LimitUsage limitUsage : limitUsageList) {
+                    List<LimitUsage> newCombination = new ArrayList<LimitUsage>();
+                    newCombination.add(limitUsage);
+                    allCombinations.add(newCombination);
+                }
+            } else {
+                if (limitUsageList.size() == 1) {
+                    // No new combinations are generated - just add this one to all combinations we have until now
+                    for (List<LimitUsage> combination : allCombinations)
+                        combination.add(limitUsageList.get(0));
+                } else {
+                    // We have to duplicate each of the current combinations for each element of limitUsageList
+                    List<List<LimitUsage>> newAllCombinations = new ArrayList<List<LimitUsage>>();
+                    for (List<LimitUsage> combination : allCombinations)
+                        for (LimitUsage limitUsage : limitUsageList) {
+                            List<LimitUsage> newCombination = new ArrayList<LimitUsage>(combination);
+                            newCombination.add(limitUsage);
+                            newAllCombinations.add(newCombination);
+                        }
+                    allCombinations = newAllCombinations;
+                }
+            }
+        }
+
+        // Now, go through all combinations and calculate its usage, get the maximum
+        long maxUsage = 0;
+        for (List<LimitUsage> combination : allCombinations) {
+            long usage = calculateUsage(combination);
+            if (usage > maxUsage)
+                maxUsage = usage;
+        }
+
+        long t2 = System.currentTimeMillis();
+        if (logit) {
+            log.debug(rn + ": Calculating usage completed:");
+            log.debug(rn + ":     Regular changes: " + regularChangeCount);
+            log.debug(rn + ":     Significant changes: " + significantChangeCount);
+            log.debug(rn + ":     Combinations: " + allCombinations.size());
+            log.debug(rn + ":     Usage: " + maxUsage);
+            log.debug(rn + ":     Time: " + (t2 - t1));
+        }
+
+        return maxUsage;
+    }
+
+    private static boolean addLimitUsage(
+            Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap,
+            String resourceUnionId,
+            Set<String> resourceShareGroupList,
+            long used) {
+        List<LimitUsage> limitUsageList = limitUsageMap.get(resourceUnionId);
+        if (limitUsageList == null) {
+            limitUsageList = new ArrayList<LimitUsage>();
+            limitUsageMap.put(resourceUnionId, limitUsageList);
+        }
+        // See if we already have the same shareResourceUnionSet in the list. In such case just update the usage
+        // to the bigger value.
+        LimitUsage limitUsage = null;
+        for (LimitUsage limitUsage1 : limitUsageList) {
+            if ((limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty()) &&
+                    (resourceShareGroupList == null || resourceShareGroupList.isEmpty())) {
+                limitUsage = limitUsage1;
+                break;
+            }
+            if (limitUsage1.resourceShareGroupList != null &&
+                    limitUsage1.resourceShareGroupList.equals(resourceShareGroupList)) {
+                limitUsage = limitUsage1;
+                break;
+            }
+        }
+        if (limitUsage != null) {
+            if (limitUsage.usage < used)
+                limitUsage.usage = used;
+            return true;
+        }
+
+        limitUsage = new LimitUsage();
+        limitUsage.resourceUnion = resourceUnionId;
+        limitUsage.resourceShareGroupList = resourceShareGroupList;
+        limitUsage.usage = used;
+        limitUsageList.add(limitUsage);
+        return false;
+    }
+
+    private static class LimitUsage {
+
+        @SuppressWarnings("unused")
+        public String resourceUnion;
+        public Set<String> resourceShareGroupList;
+        public long usage;
+    }
+
+    private static boolean hasCommonSharedResource(LimitUsage limitUsage1, LimitUsage limitUsage2) {
+        if (limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty())
+            return false;
+        if (limitUsage2.resourceShareGroupList == null || limitUsage2.resourceShareGroupList.isEmpty())
+            return false;
+
+        for (String resourceUnion : limitUsage1.resourceShareGroupList)
+            if (limitUsage2.resourceShareGroupList.contains(resourceUnion))
+                return true;
+
+        return false;
+    }
+
+    private static long calculateUsage(List<LimitUsage> combination) {
+        // All LimitUsage objects that have a common value in their sharedResourceUnionSet reuse the resource, so
+        // split the combination in sets that have common value. Then the usage of each set will be the maximum of
+        // the usages of the LimitUsage objects in the set. The usage of the combination will be the sum of the usages
+        // of all sets.
+        List<List<LimitUsage>> sharedSets = new ArrayList<List<LimitUsage>>();
+        for (LimitUsage limitUsage : combination) {
+            // See if we can put limitUsage in any of the existing sets - is it has a common resource union with
+            // any of the LimitUsage objects in a set.
+            boolean found = false;
+            for (List<LimitUsage> sharedSet : sharedSets) {
+                for (LimitUsage limitUsage1 : sharedSet) {
+                    if (hasCommonSharedResource(limitUsage, limitUsage1)) {
+                        found = true;
+                        break;
+                    }
+                }
+                if (found) {
+                    sharedSet.add(limitUsage);
+                    break;
+                }
+            }
+            if (!found) {
+                // Start a new set
+                List<LimitUsage> newSharedSet = new ArrayList<LimitUsage>();
+                newSharedSet.add(limitUsage);
+                sharedSets.add(newSharedSet);
+            }
+        }
+
+        long sum = 0;
+        for (List<LimitUsage> sharedSet : sharedSets) {
+            float max = 0;
+            for (LimitUsage limitUsage : sharedSet)
+                if (max < limitUsage.usage)
+                    max = limitUsage.usage;
+            sum += max;
+        }
+
+        return sum;
+    }
+
+    public static long allocateLimit(LimitResource l, LimitAllocationRequest req, String applicationId) {
+        if (req.allocateCount <= 0)
+            return 0;
+        long uu = l.used;
+
+        LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
+        if (lai == null) {
+            lai = new LimitAllocationItem();
+            lai.resourceType = ResourceType.Limit;
+            lai.resourceKey = new ResourceKey();
+            lai.resourceKey.assetId = req.assetId;
+            lai.resourceKey.resourceName = req.resourceName;
+            lai.applicationId = applicationId;
+            lai.resourceSetId = req.resourceSetId;
+            lai.resourceUnionId = req.resourceUnionId;
+            lai.resourceShareGroupList = req.resourceShareGroupList;
+            lai.used = req.allocateCount;
+
+            if (l.allocationItems == null)
+                l.allocationItems = new ArrayList<AllocationItem>();
+            l.allocationItems.add(lai);
+        } else
+            lai.used = req.replace ? req.allocateCount : lai.used + req.allocateCount;
+
+        lai.allocationTime = new Date();
+
+        recalculate(l);
+
+        return l.used - uu;
+    }
+
+    public static void recalculate(LimitResource l) {
+        l.used = calculateLimitUsage(l, 0, null, null);
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
new file mode 100644
index 000000000..f01d35784
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
@@ -0,0 +1,110 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.util;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
+
+public class RangeUtil {
+
+    public static void recalculate(RangeResource r) {
+        r.used = new TreeSet<Integer>();
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems) {
+                RangeAllocationItem rai = (RangeAllocationItem) ai;
+                if (rai.used != null)
+                    r.used.addAll(rai.used);
+            }
+    }
+
+    public static boolean checkRange(RangeResource r, RangeAllocationRequest req, int num) {
+        if (num < req.checkMin || num > req.checkMax)
+            return false;
+
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems) {
+                RangeAllocationItem rai = (RangeAllocationItem) ai;
+                if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num))
+                    return false;
+            }
+
+        return true;
+    }
+
+    private static boolean eq(Object o1, Object o2) {
+        return o1 == null ? o2 == null : o1.equals(o2);
+    }
+
+    public static SortedSet<Integer> getUsed(RangeResource r, String resourceUnionId) {
+        SortedSet<Integer> used = new TreeSet<Integer>();
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems) {
+                RangeAllocationItem rai = (RangeAllocationItem) ai;
+                if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null)
+                    used.addAll(rai.used);
+            }
+        return used;
+    }
+
+    public static void allocateRange(
+            RangeResource rr,
+            SortedSet<Integer> requestedNumbers,
+            RangeAllocationRequest req,
+            String applicationId) {
+        if (!req.allocate)
+            return;
+
+        RangeAllocationItem rai = (RangeAllocationItem) ResourceUtil.getAllocationItem(rr, req.resourceSetId);
+        if (rai == null) {
+            rai = new RangeAllocationItem();
+            rai.resourceType = ResourceType.Range;
+            rai.resourceKey = new ResourceKey();
+            rai.resourceKey.assetId = req.assetId;
+            rai.resourceKey.resourceName = req.resourceName;
+            rai.applicationId = applicationId;
+            rai.resourceSetId = req.resourceSetId;
+            rai.resourceUnionId = req.resourceUnionId;
+            rai.resourceShareGroupList = req.resourceShareGroupList;
+            rai.used = requestedNumbers;
+
+            if (rr.allocationItems == null)
+                rr.allocationItems = new ArrayList<AllocationItem>();
+            rr.allocationItems.add(rai);
+        } else if (req.replace)
+            rai.used = requestedNumbers;
+        else
+            rai.used.addAll(requestedNumbers);
+
+        rai.allocationTime = new Date();
+
+        recalculate(rr);
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
new file mode 100644
index 000000000..ae7c21575
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.util;
+
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
+
+public class ResourceUtil {
+
+    public static AllocationItem getAllocationItem(Resource r, String resourceSetId) {
+        if (r.allocationItems != null)
+            for (AllocationItem ai : r.allocationItems)
+                if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId))
+                    return ai;
+        return null;
+    }
+
+    public static void recalculate(Resource r) {
+        if (r == null)
+            return;
+
+        if (r.resourceType == ResourceType.Limit)
+            LimitUtil.recalculate((LimitResource) r);
+        else if (r.resourceType == ResourceType.Label)
+            LabelUtil.recalculate((LabelResource) r);
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
new file mode 100644
index 000000000..0e46868bc
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
@@ -0,0 +1,122 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.db;
+
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+
+import javax.sql.DataSource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CachedDataSourceWrap implements DataSource {
+
+    private static final Logger log = LoggerFactory.getLogger(CachedDataSourceWrap.class);
+
+    private ThreadLocal<ConnectionWrap> con = new ThreadLocal<>();
+
+    private DataSource dataSource;
+
+    @Override
+    public PrintWriter getLogWriter() throws SQLException {
+        return dataSource.getLogWriter();
+    }
+
+    @Override
+    public void setLogWriter(PrintWriter out) throws SQLException {
+        dataSource.setLogWriter(out);
+    }
+
+    @Override
+    public void setLoginTimeout(int seconds) throws SQLException {
+        dataSource.setLoginTimeout(seconds);
+    }
+
+    @Override
+    public int getLoginTimeout() throws SQLException {
+        return dataSource.getLoginTimeout();
+    }
+
+    @Override
+    public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
+        return dataSource.getParentLogger();
+    }
+
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        return dataSource.unwrap(iface);
+    }
+
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        return dataSource.isWrapperFor(iface);
+    }
+
+    @Override
+    public Connection getConnection() throws SQLException {
+        if (con.get() == null) {
+            Connection c = dataSource.getConnection();
+            ConnectionWrap cc = new ConnectionWrap(c);
+            con.set(cc);
+
+            log.info("Got new DB connection: " + c);
+        } else
+            log.info("Using thread DB connection: " + con.get().getCon());
+
+        return con.get();
+    }
+
+    @Override
+    public Connection getConnection(String username, String password) throws SQLException {
+        if (con.get() == null) {
+            Connection c = dataSource.getConnection(username, password);
+            ConnectionWrap cc = new ConnectionWrap(c);
+            con.set(cc);
+
+            log.info("Got new DB connection: " + c);
+        } else
+            log.info("Using thread DB connection: " + con.get().getCon());
+
+        return con.get();
+    }
+
+    public void releaseConnection() {
+        if (con.get() != null) {
+            try {
+                con.get().realClose();
+
+                log.info("DB Connection released: " + con.get().getCon());
+            } catch (SQLException e) {
+                log.warn("Failed to release DB connection", e);
+            } finally {
+                con.remove();
+            }
+        }
+    }
+
+    public void setDataSource(DataSource dataSource) {
+        this.dataSource = dataSource;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java
new file mode 100644
index 000000000..7d2554806
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java
@@ -0,0 +1,338 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.db;
+
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.NClob;
+import java.sql.PreparedStatement;
+import java.sql.SQLClientInfoException;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Savepoint;
+import java.sql.Statement;
+import java.sql.Struct;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Executor;
+
+public class ConnectionWrap implements Connection {
+
+    private Connection cc;
+
+    public ConnectionWrap(Connection cc) {
+        super();
+        this.cc = cc;
+    }
+
+    public Connection getCon() {
+        return cc;
+    }
+
+    public void realClose() throws SQLException {
+        cc.close();
+    }
+
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        return cc.unwrap(iface);
+    }
+
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        return cc.isWrapperFor(iface);
+    }
+
+    @Override
+    public Statement createStatement() throws SQLException {
+        return cc.createStatement();
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql) throws SQLException {
+        return cc.prepareStatement(sql);
+    }
+
+    @Override
+    public CallableStatement prepareCall(String sql) throws SQLException {
+        return cc.prepareCall(sql);
+    }
+
+    @Override
+    public String nativeSQL(String sql) throws SQLException {
+        return cc.nativeSQL(sql);
+    }
+
+    @Override
+    public void setAutoCommit(boolean autoCommit) throws SQLException {
+        cc.setAutoCommit(autoCommit);
+    }
+
+    @Override
+    public boolean getAutoCommit() throws SQLException {
+        return cc.getAutoCommit();
+    }
+
+    @Override
+    public void commit() throws SQLException {
+        cc.commit();
+    }
+
+    @Override
+    public void rollback() throws SQLException {
+        cc.rollback();
+    }
+
+    @Override
+    public void close() throws SQLException {
+    }
+
+    @Override
+    public boolean isClosed() throws SQLException {
+        return cc.isClosed();
+    }
+
+    @Override
+    public DatabaseMetaData getMetaData() throws SQLException {
+        return cc.getMetaData();
+    }
+
+    @Override
+    public void setReadOnly(boolean readOnly) throws SQLException {
+        cc.setReadOnly(readOnly);
+    }
+
+    @Override
+    public boolean isReadOnly() throws SQLException {
+        return cc.isReadOnly();
+    }
+
+    @Override
+    public void setCatalog(String catalog) throws SQLException {
+        cc.setCatalog(catalog);
+    }
+
+    @Override
+    public String getCatalog() throws SQLException {
+        return cc.getCatalog();
+    }
+
+    @Override
+    public void setTransactionIsolation(int level) throws SQLException {
+        cc.setTransactionIsolation(level);
+    }
+
+    @Override
+    public int getTransactionIsolation() throws SQLException {
+        return cc.getTransactionIsolation();
+    }
+
+    @Override
+    public SQLWarning getWarnings() throws SQLException {
+        return cc.getWarnings();
+    }
+
+    @Override
+    public void clearWarnings() throws SQLException {
+        cc.clearWarnings();
+    }
+
+    @Override
+    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
+        return cc.createStatement(resultSetType, resultSetConcurrency);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
+            throws SQLException {
+        return cc.prepareStatement(sql, resultSetType, resultSetConcurrency);
+    }
+
+    @Override
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        return cc.prepareCall(sql, resultSetType, resultSetConcurrency);
+    }
+
+    @Override
+    public Map<String, Class<?>> getTypeMap() throws SQLException {
+        return cc.getTypeMap();
+    }
+
+    @Override
+    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
+        cc.setTypeMap(map);
+    }
+
+    @Override
+    public void setHoldability(int holdability) throws SQLException {
+        cc.setHoldability(holdability);
+    }
+
+    @Override
+    public int getHoldability() throws SQLException {
+        return cc.getHoldability();
+    }
+
+    @Override
+    public Savepoint setSavepoint() throws SQLException {
+        return cc.setSavepoint();
+    }
+
+    @Override
+    public Savepoint setSavepoint(String name) throws SQLException {
+        return cc.setSavepoint(name);
+    }
+
+    @Override
+    public void rollback(Savepoint savepoint) throws SQLException {
+        cc.rollback(savepoint);
+    }
+
+    @Override
+    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+        cc.releaseSavepoint(savepoint);
+    }
+
+    @Override
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
+            throws SQLException {
+        return cc.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(
+            String sql,
+            int resultSetType,
+            int resultSetConcurrency,
+            int resultSetHoldability) throws SQLException {
+        return cc.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+    }
+
+    @Override
+    public CallableStatement prepareCall(
+            String sql,
+            int resultSetType,
+            int resultSetConcurrency,
+            int resultSetHoldability) throws SQLException {
+        return cc.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
+        return cc.prepareStatement(sql, autoGeneratedKeys);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
+        return cc.prepareStatement(sql, columnIndexes);
+    }
+
+    @Override
+    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
+        return cc.prepareStatement(sql, columnNames);
+    }
+
+    @Override
+    public Clob createClob() throws SQLException {
+        return cc.createClob();
+    }
+
+    @Override
+    public Blob createBlob() throws SQLException {
+        return cc.createBlob();
+    }
+
+    @Override
+    public NClob createNClob() throws SQLException {
+        return cc.createNClob();
+    }
+
+    @Override
+    public SQLXML createSQLXML() throws SQLException {
+        return cc.createSQLXML();
+    }
+
+    @Override
+    public boolean isValid(int timeout) throws SQLException {
+        return cc.isValid(timeout);
+    }
+
+    @Override
+    public void setClientInfo(String name, String value) throws SQLClientInfoException {
+        cc.setClientInfo(name, value);
+    }
+
+    @Override
+    public void setClientInfo(Properties properties) throws SQLClientInfoException {
+        cc.setClientInfo(properties);
+    }
+
+    @Override
+    public String getClientInfo(String name) throws SQLException {
+        return cc.getClientInfo(name);
+    }
+
+    @Override
+    public Properties getClientInfo() throws SQLException {
+        return cc.getClientInfo();
+    }
+
+    @Override
+    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
+        return cc.createArrayOf(typeName, elements);
+    }
+
+    @Override
+    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
+        return cc.createStruct(typeName, attributes);
+    }
+
+    @Override
+    public void setSchema(String schema) throws SQLException {
+        cc.setSchema(schema);
+    }
+
+    @Override
+    public String getSchema() throws SQLException {
+        return cc.getSchema();
+    }
+
+    @Override
+    public void abort(Executor executor) throws SQLException {
+        cc.abort(executor);
+    }
+
+    @Override
+    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
+        cc.setNetworkTimeout(executor, milliseconds);
+    }
+
+    @Override
+    public int getNetworkTimeout() throws SQLException {
+        return cc.getNetworkTimeout();
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java
new file mode 100644
index 000000000..2aebb83e3
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java
@@ -0,0 +1,98 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.db;
+
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+
+import javax.sql.DataSource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DataSourceWrap implements DataSource {
+
+    private static final Logger log = LoggerFactory.getLogger(DataSourceWrap.class);
+
+    private DataSource dataSource;
+
+    @Override
+    public PrintWriter getLogWriter() throws SQLException {
+        return dataSource.getLogWriter();
+    }
+
+    @Override
+    public void setLogWriter(PrintWriter out) throws SQLException {
+        dataSource.setLogWriter(out);
+    }
+
+    @Override
+    public void setLoginTimeout(int seconds) throws SQLException {
+        dataSource.setLoginTimeout(seconds);
+    }
+
+    @Override
+    public int getLoginTimeout() throws SQLException {
+        return dataSource.getLoginTimeout();
+    }
+
+    @Override
+    public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
+        return dataSource.getParentLogger();
+    }
+
+    @Override
+    public <T> T unwrap(Class<T> iface) throws SQLException {
+        return dataSource.unwrap(iface);
+    }
+
+    @Override
+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
+        return dataSource.isWrapperFor(iface);
+    }
+
+    @Override
+    public Connection getConnection() throws SQLException {
+        Connection c = dataSource.getConnection();
+
+        log.debug("getConnection: " + c.getClass().getName());
+
+        c.setAutoCommit(true);
+        return c;
+    }
+
+    @Override
+    public Connection getConnection(String username, String password) throws SQLException {
+        Connection c = dataSource.getConnection(username, password);
+
+        log.debug("getConnection: " + c.getClass().getName());
+
+        c.setAutoCommit(true);
+        return c;
+    }
+
+    public void setDataSource(DataSource dataSource) {
+        this.dataSource = dataSource;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
new file mode 100644
index 000000000..037b78b77
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
@@ -0,0 +1,207 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.expr;
+
+import java.util.Map;
+
+public class ExpressionEvaluator {
+
+    public static long evalLong(String expr, Map<String, Object> vars) {
+        return (long) evalFloat(expr, vars);
+    }
+
+    public static float evalFloat(String expr, Map<String, Object> vars) {
+        expr = expr.trim();
+        int sl = expr.length();
+        if (sl == 0)
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+
+        // Remove parentheses if any
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
+            return evalFloat(expr.substring(1, sl - 1), vars);
+
+        // Look for operators in the order of least priority
+        String[] sss = findOperator(expr, "-", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) - evalFloat(sss[1], vars);
+
+        sss = findOperator(expr, "+", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) + evalFloat(sss[1], vars);
+
+        sss = findOperator(expr, "/", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) / evalFloat(sss[1], vars);
+
+        sss = findOperator(expr, "*", true);
+        if (sss != null)
+            return evalFloat(sss[0], vars) * evalFloat(sss[1], vars);
+
+        // Check if expr is a number
+        try {
+            return Float.valueOf(expr);
+        } catch (Exception e) {
+        }
+
+        // Must be a variable
+        Object v = vars.get(expr);
+        if (v != null) {
+            if (v instanceof Float)
+                return (Float) v;
+            if (v instanceof Long)
+                return (Long) v;
+            if (v instanceof Integer)
+                return (Integer) v;
+        }
+        return 0;
+    }
+
+    public static boolean evalBoolean(String expr, Map<String, Object> vars) {
+        expr = expr.trim();
+        int sl = expr.length();
+        if (sl == 0)
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+
+        if (expr.equalsIgnoreCase("true"))
+            return true;
+
+        if (expr.equalsIgnoreCase("false"))
+            return false;
+
+        // Remove parentheses if any
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
+            return evalBoolean(expr.substring(1, sl - 1), vars);
+
+        // Look for operators in the order of least priority
+        String[] sss = findOperator(expr, "or", true);
+        if (sss != null)
+            return evalBoolean(sss[0], vars) || evalBoolean(sss[1], vars);
+
+        sss = findOperator(expr, "and", true);
+        if (sss != null)
+            return evalBoolean(sss[0], vars) && evalBoolean(sss[1], vars);
+
+        sss = findOperator(expr, "not", true);
+        if (sss != null)
+            return !evalBoolean(sss[1], vars);
+
+        sss = findOperator(expr, "!=", false);
+        if (sss == null)
+            sss = findOperator(expr, "<>", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) != evalLong(sss[1], vars);
+
+        sss = findOperator(expr, "==", false);
+        if (sss == null)
+            sss = findOperator(expr, "=", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) == evalLong(sss[1], vars);
+
+        sss = findOperator(expr, ">=", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) >= evalLong(sss[1], vars);
+
+        sss = findOperator(expr, ">", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) > evalLong(sss[1], vars);
+
+        sss = findOperator(expr, "<=", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) <= evalLong(sss[1], vars);
+
+        sss = findOperator(expr, "<", false);
+        if (sss != null)
+            return evalLong(sss[0], vars) < evalLong(sss[1], vars);
+
+        throw new IllegalArgumentException("Cannot interpret '" + expr + "': Invalid expression.");
+    }
+
+    private static String[] findOperator(String s, String op, boolean delimiterRequired) {
+        int opl = op.length();
+        int sl = s.length();
+        String delimiters = " \0\t\r\n()";
+        int pcount = 0, qcount = 0;
+        for (int i = 0; i < sl; i++) {
+            char c = s.charAt(i);
+            if (c == '(' && qcount == 0)
+                pcount++;
+            else if (c == ')' && qcount == 0) {
+                pcount--;
+                if (pcount < 0)
+                    throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
+            } else if (c == '\'')
+                qcount = (qcount + 1) % 2;
+            else if (i <= sl - opl && pcount == 0 && qcount == 0) {
+                String ss = s.substring(i, i + opl);
+                if (ss.equalsIgnoreCase(op)) {
+                    boolean found = true;
+                    if (delimiterRequired) {
+                        // Check for delimiter before and after to make sure it is not part of another word
+                        char chbefore = '\0';
+                        if (i > 0)
+                            chbefore = s.charAt(i - 1);
+                        char chafter = '\0';
+                        if (i < sl - opl)
+                            chafter = s.charAt(i + opl);
+                        found = delimiters.indexOf(chbefore) >= 0 && delimiters.indexOf(chafter) >= 0;
+                    }
+                    if (found) {
+                        // We've found the operator, split the string
+                        String[] sss = new String[2];
+                        sss[0] = s.substring(0, i);
+                        sss[1] = s.substring(i + opl);
+                        return sss;
+                    }
+                }
+            }
+        }
+        if (pcount > 0)
+            throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
+        if (qcount > 0)
+            throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
+        return null;
+    }
+
+    private static Object parseObject(String s) {
+        s = s.trim();
+        int sl = s.length();
+        if (sl == 0)
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+        if (s.equalsIgnoreCase("null"))
+            return null;
+        if (s.charAt(0) == '\'') {
+            if (sl < 2 || s.charAt(sl - 1) != '\'')
+                throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
+            return s.substring(1, sl - 1);
+        }
+        // Not in quotes - must be a number
+        try {
+            return Long.valueOf(s);
+        } catch (Exception e) {
+        }
+        try {
+            return Double.valueOf(s);
+        } catch (Exception e) {
+            throw new IllegalArgumentException("Cannot interpret '" + s + "': Invalid number.");
+        }
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
new file mode 100644
index 000000000..1aad8f501
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
@@ -0,0 +1,41 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.speed;
+
+public class SpeedUtil {
+
+    private long unitFactor = 1000;
+
+    public long convertToKbps(long maxSpeed, String unit) {
+        if (unit.equalsIgnoreCase("kbps"))
+            return maxSpeed;
+        if (unit.equalsIgnoreCase("Mbps"))
+            return maxSpeed * unitFactor;
+        if (unit.equalsIgnoreCase("Gbps"))
+            return maxSpeed * unitFactor * unitFactor;
+        return 0;
+    }
+
+    public void setUnitFactor(long unitFactor) {
+        this.unitFactor = unitFactor;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java
new file mode 100644
index 000000000..ef889f0d5
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java
@@ -0,0 +1,305 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.str;
+
+import java.lang.reflect.Array;
+import java.lang.reflect.Field;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class StrUtil {
+
+    private static final Logger log = LoggerFactory.getLogger(StrUtil.class);
+
+    public static final String INDENT_STR = "    ";
+
+    public static void indent(StringBuilder ss, int ind) {
+        for (int i = 0; i < ind; i++)
+            ss.append(INDENT_STR);
+    }
+
+    public static void info(Logger log, Object o) {
+        if (log.isInfoEnabled()) {
+            StringBuilder ss = new StringBuilder();
+            struct(ss, o);
+            log.info(ss.toString());
+        }
+    }
+
+    public static void debug(Logger log, Object o) {
+        if (log.isDebugEnabled()) {
+            StringBuilder ss = new StringBuilder();
+            struct(ss, o);
+            log.debug(ss.toString());
+        }
+    }
+
+    public static void struct(StringBuilder ss, Object o) {
+        struct(ss, o, 0);
+    }
+
+    public static void struct(StringBuilder ss, Object o, int ind) {
+        if (o == null) {
+            ss.append("null");
+            return;
+        }
+
+        if (isSimple(o)) {
+            ss.append(o);
+            return;
+        }
+
+        Class<? extends Object> cls = o.getClass();
+
+        if (cls.isEnum()) {
+            ss.append(o);
+            return;
+        }
+
+        if (cls.isArray()) {
+            int n = Array.getLength(o);
+            if (n == 0) {
+                ss.append("[]");
+                return;
+            }
+
+            Object o1 = Array.get(o, 0);
+            if (isSimple(o1)) {
+                ss.append('[').append(o1);
+                for (int i = 1; i < n; i++) {
+                    o1 = Array.get(o, i);
+                    ss.append(", ").append(o1);
+                }
+                ss.append(']');
+                return;
+            }
+
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append('[');
+            struct(ss, o1, ind + 1);
+            for (int i = 1; i < n; i++) {
+                o1 = Array.get(o, i);
+                struct(ss, o1, ind + 1);
+            }
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append(']');
+            return;
+        }
+
+        if (o instanceof Collection<?>) {
+            Collection<?> ll = (Collection<?>) o;
+
+            int n = ll.size();
+            if (n == 0) {
+                ss.append("[]");
+                return;
+            }
+
+            Iterator<?> ii = ll.iterator();
+            Object o1 = ii.next();
+            if (isSimple(o1)) {
+                ss.append('[').append(o1);
+                while (ii.hasNext()) {
+                    o1 = ii.next();
+                    ss.append(", ").append(o1);
+                }
+                ss.append(']');
+                return;
+            }
+
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append('[');
+            struct(ss, o1, ind + 1);
+            while (ii.hasNext()) {
+                o1 = ii.next();
+                struct(ss, o1, ind + 1);
+            }
+            ss.append('\n');
+            indent(ss, ind + 1);
+            ss.append(']');
+            return;
+
+        }
+
+        if (o instanceof Map<?, ?>) {
+            Map<?, ?> mm = (Map<?, ?>) o;
+
+            int n = mm.size();
+            if (n == 0) {
+                ss.append("{}");
+                return;
+            }
+
+            ss.append('{');
+
+            for (Object k : mm.keySet()) {
+                ss.append('\n');
+                indent(ss, ind + 1);
+                ss.append(k).append(": ");
+
+                Object o1 = mm.get(k);
+                struct(ss, o1, ind + 2);
+            }
+
+            ss.append('\n');
+            indent(ss, ind);
+            ss.append('}');
+
+            return;
+        }
+
+        Field[] fields = cls.getFields();
+
+        if (fields.length == 0) {
+            ss.append(o);
+            return;
+        }
+
+        ss.append('\n');
+        indent(ss, ind + 1);
+        ss.append('<').append(cls.getSimpleName()).append("> {");
+        for (Field f : fields) {
+            ss.append('\n');
+            indent(ss, ind + 2);
+            ss.append(f.getName()).append(": ");
+            Object v = null;
+            try {
+                v = f.get(o);
+            } catch (IllegalAccessException e) {
+                v = "*** Cannot obtain value *** : " + e.getMessage();
+            }
+            struct(ss, v, ind + 2);
+        }
+        ss.append('\n');
+        indent(ss, ind + 1);
+        ss.append('}');
+    }
+
+    public static SortedSet<Integer> listInt(String ss, String warning) {
+        if (ss == null || ss.length() == 0)
+            return null;
+
+        SortedSet<Integer> ll = new TreeSet<Integer>();
+        String[] str = ss.split(",");
+        for (String s : str) {
+            try {
+                int i1 = s.indexOf('-');
+                int start, end;
+                if (i1 > 0) {
+                    String s1 = s.substring(0, i1);
+                    String s2 = s.substring(i1 + 1);
+                    start = Integer.parseInt(s1);
+                    end = Integer.parseInt(s2);
+                } else
+                    start = end = Integer.parseInt(s);
+                for (int i = start; i <= end; i++)
+                    ll.add(i);
+            } catch (NumberFormatException e) {
+                // Skip this - bad data in DB
+                log.warn(warning + " [" + s + "].", e);
+            }
+        }
+        return ll;
+    }
+
+    public static String listInt(SortedSet<Integer> ll) {
+        if (ll == null || ll.size() == 0)
+            return null;
+
+        StringBuilder sb = new StringBuilder(2000);
+        Iterator<Integer> i = ll.iterator();
+        int n = i.next();
+        int start = n;
+        int end = n;
+        boolean first = true;
+        while (i.hasNext()) {
+            n = i.next();
+            if (n != end + 1) {
+                if (!first)
+                    sb.append(',');
+                first = false;
+
+                if (start == end)
+                    sb.append(start);
+                else if (start == end - 1)
+                    sb.append(start).append(',').append(end);
+                else
+                    sb.append(start).append('-').append(end);
+
+                start = n;
+            }
+            end = n;
+        }
+
+        if (!first)
+            sb.append(',');
+
+        if (start == end)
+            sb.append(start);
+        else if (start == end - 1)
+            sb.append(start).append(',').append(end);
+        else
+            sb.append(start).append('-').append(end);
+
+        return sb.toString();
+    }
+
+    public static List<String> listStr(String s) {
+        if (s == null || s.length() == 0)
+            return null;
+        String[] ss = s.split(",");
+        return Arrays.asList(ss);
+    }
+
+    public static String listStr(Collection<String> ll) {
+        if (ll == null || ll.isEmpty())
+            return null;
+        StringBuilder ss = new StringBuilder(1000);
+        Iterator<String> i = ll.iterator();
+        ss.append(i.next());
+        while (i.hasNext())
+            ss.append(',').append(i.next());
+        return ss.toString();
+    }
+
+    private static boolean isSimple(Object o) {
+        if (o == null)
+            return true;
+
+        if (o instanceof Number || o instanceof String || o instanceof Boolean || o instanceof Date)
+            return true;
+
+        return false;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java
new file mode 100644
index 000000000..11e64ae1a
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java
@@ -0,0 +1,30 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.vrf;
+
+public class VpnParam {
+
+    public String vpnId;
+    public String siteType;
+    public String spokeServiceInstanceId;
+    public String routeGroupName;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java
new file mode 100644
index 000000000..74025f15b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.util.vrf;
+
+public class VrfUtil {
+
+    public static String createVrfInstanceName(
+            String serviceInstanceId,
+            String vpnId,
+            String siteType,
+            String routeGroup) {
+        if (vpnId == null || vpnId.trim().length() == 0)
+            return null;
+
+        String ss = "VPN-" + vpnId;
+        if (siteType != null && siteType.equalsIgnoreCase("hub"))
+            ss += "-HUB";
+        if (siteType != null && siteType.equalsIgnoreCase("spoke"))
+            ss += "-SP-" + serviceInstanceId;
+        if (routeGroup != null && routeGroup.trim().length() > 0)
+            ss += "-RG-" + routeGroup;
+
+        return ss;
+    }
+
+    public static VpnParam parseVrfInstanceName(String vrfInstanceName) {
+        VpnParam vpnParam = new VpnParam();
+
+        int i1 = vrfInstanceName.indexOf("-HUB");
+        if (i1 > 0)
+            vpnParam.siteType = "HUB";
+
+        int i2 = vrfInstanceName.indexOf("-SP-");
+        if (i2 > 0)
+            vpnParam.siteType = "SPOKE";
+
+        int i3 = vrfInstanceName.indexOf("-RG-");
+        if (i3 > 0)
+            vpnParam.routeGroupName = vrfInstanceName.substring(i3 + 4);
+
+        int i4 = vrfInstanceName.length();
+        if (i1 > 0)
+            i4 = i1;
+        else if (i2 > 0)
+            i4 = i2;
+        else if (i3 > 0)
+            i4 = i3;
+        vpnParam.vpnId = vrfInstanceName.substring(4, i4);
+
+        if (i2 > 0 && i3 < 0)
+            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4);
+        if (i2 > 0 && i3 > 0)
+            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4, i3);
+
+        return vpnParam;
+    }
+}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
deleted file mode 100644
index 6eb8156f8..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.comp;
-
-import java.util.Collection;
-
-public interface LockHelper {
-
-    void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */);
-
-    void unlock(String resourceName, boolean force);
-
-    void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */);
-
-    void unlock(Collection<String> resourceNameList, boolean force);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
deleted file mode 100644
index 2c7726790..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.comp;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-import org.openecomp.sdnc.lock.dao.ResourceLockDao;
-import org.openecomp.sdnc.lock.data.ResourceLock;
-
-public class LockHelperImpl implements LockHelper {
-
-    private ResourceLockDao resourceLockDao;
-    private int retryCount = 10;
-    private int lockWait = 5; // Seconds
-
-    @Override
-    public void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */) {
-        lock(Collections.singleton(resourceName), lockRequester, lockTimeout);
-    }
-
-    @Override
-    public void unlock(String resourceName, boolean force) {
-        unlock(Collections.singleton(resourceName), force);
-    }
-
-    @Override
-    public void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
-        for (int i = 0; true; i++) {
-            try {
-                tryLock(resourceNameList, lockRequester, lockTimeout);
-                return;
-            } catch (ResourceLockedException e) {
-                if (i > retryCount)
-                    throw e;
-                try {
-                    Thread.sleep(lockWait * 1000);
-                } catch (InterruptedException ex) {
-                }
-            }
-        }
-    }
-
-    @Override
-    public void unlock(Collection<String> lockNames, boolean force) {
-        if (lockNames == null || lockNames.size() == 0)
-            return;
-
-        resourceLockDao.lockTable();
-
-        try {
-            for (String name : lockNames) {
-                ResourceLock l = resourceLockDao.getByResourceName(name);
-                if (l != null)
-                    if (force || l.lockCount == 1)
-                        resourceLockDao.delete(l.id);
-                    else
-                        resourceLockDao.decrementLockCount(l.id);
-            }
-        } finally {
-            resourceLockDao.unlockTable();
-        }
-    }
-
-    public void tryLock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
-        if (resourceNameList == null || resourceNameList.size() == 0)
-            return;
-
-        lockRequester = generateLockRequester(lockRequester, 100);
-
-        resourceLockDao.lockTable();
-
-        try {
-            // First check if all requested records are available to lock
-
-            Date now = new Date();
-
-            List<ResourceLock> dbLockList = new ArrayList<ResourceLock>();
-            List<String> insertLockNameList = new ArrayList<String>();
-            for (String name : resourceNameList) {
-                ResourceLock l = resourceLockDao.getByResourceName(name);
-
-                boolean canLock =
-                        l == null || now.getTime() > l.expirationTime.getTime() || lockRequester != null &&
-                                lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
-                if (!canLock)
-                    throw new ResourceLockedException(l.resourceName, l.lockHolder, lockRequester);
-
-                if (l != null)
-                    dbLockList.add(l);
-                else
-                    insertLockNameList.add(name);
-            }
-
-            // Update the lock info in DB
-            for (ResourceLock l : dbLockList)
-                resourceLockDao.update(l.id, now, new Date(now.getTime() + lockTimeout * 1000), l.lockCount + 1);
-
-            // Insert records for those that are not yet there
-            for (String lockName : insertLockNameList) {
-                ResourceLock l = new ResourceLock();
-                l.resourceName = lockName;
-                l.lockHolder = lockRequester;
-                l.lockTime = now;
-                l.expirationTime = new Date(now.getTime() + lockTimeout * 1000);
-                l.lockCount = 1;
-                resourceLockDao.add(l);
-            }
-        } finally {
-            resourceLockDao.unlockTable();
-        }
-    }
-
-    private static String generateLockRequester(String name, int maxLength) {
-        if (name == null)
-            name = "";
-        int l1 = name.length();
-        String tname = Thread.currentThread().getName();
-        int l2 = tname.length();
-        if (l1 + l2 + 1 > maxLength) {
-            int maxl1 = maxLength / 2;
-            if (l1 > maxl1) {
-                name = name.substring(0, maxl1);
-                l1 = maxl1;
-            }
-            int maxl2 = maxLength - l1 - 1;
-            if (l2 > maxl2)
-                tname = tname.substring(0, 6) + "..." + tname.substring(l2 - maxl2 + 9);
-        }
-        return tname + '-' + name;
-    }
-
-    public void setResourceLockDao(ResourceLockDao resourceLockDao) {
-        this.resourceLockDao = resourceLockDao;
-    }
-
-    public void setRetryCount(int retryCount) {
-        this.retryCount = retryCount;
-    }
-
-    public void setLockWait(int lockWait /* Seconds */) {
-        this.lockWait = lockWait;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
deleted file mode 100644
index a1ac2fd3a..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.comp;
-
-public class ResourceLockedException extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    private String lockName, lockHolder, lockRequester;
-
-    public ResourceLockedException(String lockName, String lockHolder, String lockRequester) {
-        this.lockName = lockName;
-        this.lockHolder = lockHolder;
-        this.lockRequester = lockRequester;
-    }
-
-    @Override
-    public String getMessage() {
-        return "Failed to lock [" + lockName + "] for [" + lockRequester + "]. Currently locked by [" + lockHolder +
-                "].";
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
deleted file mode 100644
index df0ecd1c0..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.comp;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-public abstract class SynchronizedFunction {
-
-    private Set<String> synchset;
-    private String lockRequester;
-    private int lockTimeout; // Seconds
-    private LockHelper lockHelper;
-
-    protected SynchronizedFunction(LockHelper lockHelper, Collection<String> synchset, int lockTimeout) {
-        this.lockHelper = lockHelper;
-        this.synchset = new HashSet<String>(synchset);
-        this.lockRequester = generateLockRequester();
-        this.lockTimeout = lockTimeout;
-    }
-
-    protected abstract void _exec();
-
-    public void exec() {
-        lockHelper.lock(synchset, lockRequester, lockTimeout);
-        try {
-            _exec();
-        } finally {
-            lockHelper.unlock(synchset, true);
-        }
-    }
-
-    private static String generateLockRequester() {
-        return "SynchronizedFunction-" + (int) (Math.random() * 1000000);
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
deleted file mode 100644
index c256dc27e..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.dao;
-
-import java.util.Date;
-
-import org.openecomp.sdnc.lock.data.ResourceLock;
-
-public interface ResourceLockDao {
-
-    void lockTable();
-
-    void unlockTable();
-
-    void add(ResourceLock l);
-
-    void update(long id, Date lockTime, Date expirationTime, int lockCount);
-
-    ResourceLock getByResourceName(String resourceName);
-
-    void delete(long id);
-
-    void decrementLockCount(long id);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
deleted file mode 100644
index fda097ebc..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Date;
-import java.util.List;
-
-import org.openecomp.sdnc.lock.data.ResourceLock;
-import org.openecomp.sdnc.util.db.CachedDataSourceWrap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class ResourceLockDaoImpl implements ResourceLockDao {
-
-    private static final Logger log = LoggerFactory.getLogger(ResourceLockDaoImpl.class);
-
-    private JdbcTemplate jdbcTemplate;
-    private boolean testing = false;
-
-    @Override
-    public void lockTable() {
-        if (!testing) {
-            jdbcTemplate.update("LOCK TABLES RESOURCE_LOCK WRITE");
-        log.info("Table RESOURCE_LOCK locked.");
-    }
-    }
-
-    @Override
-    public void unlockTable() {
-        if (!testing) {
-            jdbcTemplate.update("UNLOCK TABLES");
-        log.info("Table RESOURCE_LOCK unlocked.");
-
-            CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
-            ds.releaseConnection();
-        }
-    }
-
-    @Override
-    public void add(ResourceLock l) {
-        jdbcTemplate.update(
-                "INSERT INTO RESOURCE_LOCK (resource_name, lock_holder, lock_count, lock_time, expiration_time)\n" +
-                        "VALUES (?, ?, ?, ?, ?)",
-                new Object[] { l.resourceName, l.lockHolder, l.lockCount, l.lockTime, l.expirationTime });
-    }
-
-    @Override
-    public void update(long id, Date lockTime, Date expirationTime, int lockCount) {
-        jdbcTemplate.update(
-                "UPDATE RESOURCE_LOCK SET lock_time = ?, expiration_time = ?, lock_count = ? WHERE resource_lock_id = ?",
-                new Object[] { lockTime, expirationTime, lockCount, id });
-    }
-
-    @Override
-    public ResourceLock getByResourceName(String resourceName) {
-        List<ResourceLock> ll = jdbcTemplate.query("SELECT * FROM RESOURCE_LOCK WHERE resource_name = ?",
-                new Object[] { resourceName }, new RowMapper<ResourceLock>() {
-
-                    @Override
-                    public ResourceLock mapRow(ResultSet rs, int rowNum) throws SQLException {
-                        ResourceLock rl = new ResourceLock();
-                        rl.id = rs.getLong("resource_lock_id");
-                        rl.resourceName = rs.getString("resource_name");
-                        rl.lockHolder = rs.getString("lock_holder");
-                        rl.lockCount = rs.getInt("lock_count");
-                        rl.lockTime = rs.getTimestamp("lock_time");
-                        rl.expirationTime = rs.getTimestamp("expiration_time");
-                        return rl;
-                    }
-                });
-        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
-    }
-
-    @Override
-    public void delete(long id) {
-        jdbcTemplate.update("DELETE FROM RESOURCE_LOCK WHERE resource_lock_id = ?", new Object[] { id });
-    }
-
-    @Override
-    public void decrementLockCount(long id) {
-        jdbcTemplate.update("UPDATE RESOURCE_LOCK SET lock_count = lock_count - 1 WHERE resource_lock_id = ?",
-                new Object[] { id });
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
-    public void setTesting(boolean testing) {
-        this.testing = testing;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
deleted file mode 100644
index fbcee05e7..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.lock.data;
-
-import java.util.Date;
-
-public class ResourceLock {
-
-    public long id;
-    public String resourceName;
-    public String lockHolder;
-    public int lockCount;
-    public Date lockTime;
-    public Date expirationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
deleted file mode 100644
index 9c60a38f2..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra;
-
-public enum ReleaseRequestType {
-    Cancel, Activate, Disconnect;
-
-    public static ReleaseRequestType convert(Object o) {
-        if (o == null)
-            return null;
-        String s = o.toString();
-        s = s.trim();
-        if (s.length() == 0)
-            return null;
-
-        if (s.equalsIgnoreCase("Cancel"))
-            return Cancel;
-        if (s.equalsIgnoreCase("Activate"))
-            return Activate;
-        if (s.equalsIgnoreCase("Disconnect"))
-            return Disconnect;
-
-        throw new IllegalArgumentException("Invalid request-type: " + s +
-                ". Supported values are Cancel, Activate, Disconnect.");
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
deleted file mode 100644
index ddbbeabdc..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra;
-
-public enum ReserveRequestType {
-    New, Change;
-
-    public static ReserveRequestType convert(Object o) {
-        if (o == null)
-            return null;
-        String s = o.toString();
-        s = s.trim();
-        if (s.length() == 0)
-            return null;
-
-        if (s.equalsIgnoreCase("New"))
-            return New;
-        if (s.equalsIgnoreCase("Change"))
-            return Change;
-
-        throw new IllegalArgumentException("Invalid request-type: " + s +
-                ". Supported values are New, Change.");
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
deleted file mode 100644
index 6fcaf1792..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
+++ /dev/null
@@ -1,1016 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.ra.comp.EndPointAllocator;
-import org.openecomp.sdnc.ra.comp.EndPointData;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.dao.ServerDao;
-import org.openecomp.sdnc.ra.equip.dao.VpePortDao;
-import org.openecomp.sdnc.ra.equip.dao.VplspePortDao;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-import org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilder;
-import org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDao;
-import org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDao;
-import org.openecomp.sdnc.ra.rule.dao.ParameterDao;
-import org.openecomp.sdnc.ra.rule.data.ThresholdStatus;
-import org.openecomp.sdnc.ra.service.dao.ServiceResourceDao;
-import org.openecomp.sdnc.ra.service.data.ServiceResource;
-import org.openecomp.sdnc.ra.service.data.ServiceStatus;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationAction;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.AllocationOutcome;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.AllocationStatus;
-import org.openecomp.sdnc.rm.data.LimitAllocationOutcome;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.MultiResourceAllocationOutcome;
-import org.openecomp.sdnc.rm.data.RangeAllocationItem;
-import org.openecomp.sdnc.rm.data.RangeResource;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.util.speed.SpeedUtil;
-import org.openecomp.sdnc.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResourceAllocator implements SvcLogicResource {
-
-    private static final Logger log = LoggerFactory.getLogger(ResourceAllocator.class);
-
-    public ResourceAllocator() {
-        log.info("ResourceAllocator created.");
-    }
-
-    private ServerDao serverDao;
-    private VpePortDao vpePortDao;
-    private VplspePortDao vplspePortDao;
-    private MaxPortSpeedDao maxPortSpeedDao;
-    private MaxServerSpeedDao maxServerSpeedDao;
-    private ServiceResourceDao serviceResourceDao;
-    private ParameterDao parameterDao;
-
-    private AllocationRequestBuilder allocationRequestBuilder;
-    private ResourceManager resourceManager;
-    private SpeedUtil speedUtil;
-
-    private EndPointAllocator endPointAllocator;
-
-    @Override
-    public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx)
-            throws SvcLogicException {
-        return (QueryStatus.SUCCESS);
-    }
-
-    @Override
-    public QueryStatus update(
-            String resource,
-            String key,
-            Map<String, String> parms,
-            String prefix,
-            SvcLogicContext ctx) throws SvcLogicException {
-
-        return QueryStatus.SUCCESS;
-    }
-
-    @Override
-    public QueryStatus exists(String resource, String key, String prefix, SvcLogicContext ctx)
-            throws SvcLogicException {
-        return QueryStatus.SUCCESS;
-    }
-
-    @Override
-    public QueryStatus delete(String arg0, String arg1, SvcLogicContext arg2) throws SvcLogicException {
-        return QueryStatus.SUCCESS;
-    }
-
-    @Override
-    public QueryStatus save(
-            String arg0,
-            boolean arg1,
-            boolean arg2,
-            String arg3,
-            Map<String, String> arg4,
-            String arg5,
-            SvcLogicContext arg6) throws SvcLogicException {
-        return QueryStatus.SUCCESS;
-    }
-
-    @Override
-    public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx)
-            throws SvcLogicException {
-        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
-        if (serviceModel != null && serviceModel.trim().length() > 0)
-            return allocateResources(serviceModel, ctx, true, prefix);
-        return allocateResourcesL3SDN(ctx, true, prefix);
-    }
-
-    @Override
-    public QueryStatus query(
-            String resource,
-            boolean localOnly,
-            String select,
-            String key,
-            String prefix,
-            String orderBy,
-            SvcLogicContext ctx) throws SvcLogicException {
-
-        prefix = prefix == null ? "" : prefix + '.';
-
-        if (!resource.equals("NetworkCapacity")) {
-            log.info("resource: " + resource);
-            log.info("key: " + key);
-
-            Resource r = resourceManager.getResource(resource, key);
-            if (r == null)
-                return QueryStatus.NOT_FOUND;
-
-            if (r instanceof LimitResource) {
-                ctx.setAttribute(prefix + "used", String.valueOf(((LimitResource) r).used));
-
-                log.info("Added context attr: " + prefix + "used: " + String.valueOf(((LimitResource) r).used));
-            }
-
-            return QueryStatus.SUCCESS;
-        }
-
-        log.info("key: " + key);
-        log.info("prefix: " + prefix);
-
-        if (key == null)
-            return QueryStatus.SUCCESS;
-
-        if (key.startsWith("'") && key.endsWith("'"))
-            key = key.substring(1, key.length() - 1);
-
-        String endPointPosition = "VPE-Cust";
-
-        String resourceUnionId = key + '/' + endPointPosition;
-        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
-
-        log.info("Resources found for " + resourceUnionId + ": " + rlist.size());
-
-        String assetId = null;
-        for (Resource r : rlist) {
-            log.info("Resource: " + r.resourceKey.resourceName);
-
-            if (r instanceof RangeResource) {
-                RangeResource rr = (RangeResource) r;
-                for (AllocationItem ai : r.allocationItems)
-                    if (ai.resourceUnionId.equals(resourceUnionId)) {
-                        RangeAllocationItem rai = (RangeAllocationItem) ai;
-                        ctx.setAttribute(prefix + r.resourceKey.resourceName, String.valueOf(rai.used.first()));
-
-                        log.info("Added context attr: " + prefix + r.resourceKey.resourceName + ": " +
-                                String.valueOf(rr.used.first()));
-
-                        assetId = r.resourceKey.assetId;
-                        String vpeName = assetId;
-                        int i1 = assetId.indexOf('/');
-                        if (i1 > 0)
-                            vpeName = assetId.substring(0, i1);
-                        ctx.setAttribute(prefix + "vpe-name", vpeName);
-
-                        log.info("Added context attr: " + prefix + "vpe-name: " + vpeName);
-                    }
-            }
-        }
-
-        String affinityLink = "1";
-        if (assetId != null) {
-            for (Resource r : rlist) {
-                if (r instanceof LimitResource) {
-                    LimitResource ll = (LimitResource) r;
-                    if (ll.resourceKey.assetId.startsWith(assetId + '-')) {
-                        int i1 = ll.resourceKey.assetId.lastIndexOf('-');
-                        affinityLink = ll.resourceKey.assetId.substring(i1 + 1);
-                        break;
-                    }
-                }
-            }
-        }
-
-        ctx.setAttribute(prefix + "affinity-link", affinityLink);
-
-        log.info("Added context attr: " + prefix + "affinity-link: " + affinityLink);
-
-        return QueryStatus.SUCCESS;
-    }
-
-    @Override
-    public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx)
-            throws SvcLogicException {
-        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
-        if (serviceModel != null && serviceModel.trim().length() > 0)
-            return allocateResources(serviceModel, ctx, false, prefix);
-        return allocateResourcesL3SDN(ctx, false, prefix);
-    }
-
-    @Override
-    public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
-        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
-        if (serviceInstanceId == null)
-            throw new SvcLogicException("tmp.resource-allocator.service-instance-id is required in ResourceAllocator");
-
-        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-        if (requestTypeStr == null)
-            throw new SvcLogicException("tmp.resource-allocator.request-type is required in ResourceAllocator");
-
-        ReleaseRequestType requestType = null;
-        try {
-            requestType = ReleaseRequestType.convert(requestTypeStr);
-        } catch (IllegalArgumentException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-                    ". Supported values are Cancel, Activate, Disconnect.");
-        }
-
-        log.info("Starting release: " + requestType + " for: " + serviceInstanceId);
-
-        ServiceResource activeServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-        ServiceResource pendingServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-        log.info("Active ServiceResource: ");
-        StrUtil.info(log, activeServiceResource);
-        log.info("Pending ServiceResource: ");
-        StrUtil.info(log, pendingServiceResource);
-
-        if (requestType == ReleaseRequestType.Cancel) {
-            if (pendingServiceResource != null) {
-                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
-
-                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
-            } else {
-                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
-            }
-
-        } else if (requestType == ReleaseRequestType.Activate) {
-            if (pendingServiceResource != null) {
-                if (activeServiceResource != null) {
-                    log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
-
-                    resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
-                    serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
-                }
-
-                log.info("Updating the status of the pending record to active.");
-
-                serviceResourceDao.updateServiceStatus(serviceInstanceId, ServiceStatus.Pending, ServiceStatus.Active);
-            } else {
-                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
-            }
-
-        } else if (requestType == ReleaseRequestType.Disconnect) {
-            if (pendingServiceResource != null) {
-                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
-
-                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
-            }
-            if (activeServiceResource != null) {
-                log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
-
-                resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
-                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
-            }
-        }
-
-        return QueryStatus.SUCCESS;
-    }
-
-    private QueryStatus allocateResourcesL3SDN(SvcLogicContext ctx, boolean checkOnly, String prefix)
-            throws SvcLogicException {
-        prefix = prefix == null ? "" : prefix + '.';
-
-        String aicSiteId = getAicSiteId(ctx);
-        Map<String, Object> service = getServiceData(ctx);
-
-        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-        if (requestTypeStr == null)
-            requestTypeStr = "New";
-
-        ReserveRequestType requestType = null;
-        try {
-            requestType = ReserveRequestType.convert(requestTypeStr);
-        } catch (IllegalArgumentException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-                    ". Supported values are New, Change.");
-        }
-
-        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
-
-        ServiceResource activeServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-        ServiceResource pendingServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-        log.info("Active ServiceResource: ");
-        StrUtil.info(log, activeServiceResource);
-        log.info("Pending ServiceResource: ");
-        StrUtil.info(log, pendingServiceResource);
-
-        ServiceResource sr = new ServiceResource();
-        sr.serviceInstanceId = serviceInstanceId;
-        sr.serviceStatus = ServiceStatus.Pending;
-        sr.serviceChangeNumber = 1;
-        if (pendingServiceResource != null)
-            sr.serviceChangeNumber = pendingServiceResource.serviceChangeNumber + 1;
-        else if (activeServiceResource != null)
-            sr.serviceChangeNumber = activeServiceResource.serviceChangeNumber + 1;
-        sr.resourceSetId = serviceInstanceId + "/" + sr.serviceChangeNumber;
-        sr.resourceUnionId = serviceInstanceId;
-
-        log.info("New ServiceResource: ");
-        StrUtil.info(log, sr);
-
-        List<Map<String, Object>> vpePortData = vpePortDao.getVpePortData(aicSiteId);
-        List<Map<String, Object>> vplspePortData = vplspePortDao.getVplspePortData(aicSiteId);
-        List<Map<String, Object>> serverData = serverDao.getServerData(aicSiteId);
-
-        vpePortData = orderVpe(vpePortData);
-
-        long maxAvailableSpeedVpePort = 0;
-        boolean vpePortFound = false;
-
-        for (Map<String, Object> vpe : vpePortData) {
-            String vpeId = String.valueOf(vpe.get("vpe-id"));
-            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
-            String portId = vpeId + "/" + interfaceName;
-
-            log.info("Checking VPE port: " + portId);
-
-            String provStatus = String.valueOf(vpe.get("provisioning-status"));
-            if (!provStatus.equals("PROV")) {
-                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
-                continue;
-            }
-
-            String imageFile = String.valueOf(vpe.get("image-file-name"));
-            String endPointPosition = "VPE-Cust";
-            long maxPortSpeed = maxPortSpeedDao.getMaxPortSpeed(imageFile, endPointPosition, interfaceName);
-            vpe.put("max-port-speed", maxPortSpeed);
-
-            EquipmentData ed = new EquipmentData();
-            ed.data = vpe;
-            ed.equipmentId = portId;
-            ed.equipmentLevel = EquipmentLevel.Port;
-
-            ServiceData sd = new ServiceData();
-            sd.data = service;
-            sd.serviceModel = "L3SDN";
-            sd.endPointPosition = endPointPosition;
-            sd.resourceUnionId = sr.resourceUnionId;
-            sd.resourceSetId = sr.resourceSetId;
-
-            StrUtil.info(log, ed);
-            StrUtil.info(log, sd);
-
-            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-                    requestType == ReserveRequestType.Change);
-            AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-            if (ao.status == AllocationStatus.Success) {
-
-                // Assign affinity link
-                if (!checkOnly) {
-                    List<String> affinityLinkIdList = new ArrayList<>();
-                    affinityLinkIdList.add("0");
-                    affinityLinkIdList.add("1");
-                    affinityLinkIdList.add("2");
-                    affinityLinkIdList.add("3");
-
-                    String preferedAffinityLinkId = "0";
-                    long lowestAssignedBw = Long.MAX_VALUE;
-                    for (String affinityLinkId : affinityLinkIdList) {
-                        long used = 0;
-                        String assetId = ed.equipmentId + "-" + affinityLinkId;
-                        Resource r = resourceManager.getResource("Bandwidth", assetId);
-                        if (r != null) {
-                            LimitResource ll = (LimitResource) r;
-                            used = ll.used;
-                        }
-                        if (used < lowestAssignedBw) {
-                            lowestAssignedBw = used;
-                            preferedAffinityLinkId = affinityLinkId;
-                        }
-                        log.info("Assigned bandwidth on affinity link: " + assetId + ": " + used);
-                    }
-
-                    log.info("Prefered affinity link for " + ed.equipmentId + ": " + preferedAffinityLinkId);
-
-                    ctx.setAttribute(prefix + "affinity-link", preferedAffinityLinkId);
-
-                    LimitAllocationRequest ar1 = new LimitAllocationRequest();
-                    ar1.resourceSetId = sd.resourceSetId;
-                    ar1.resourceUnionId = sd.resourceUnionId;
-                    ar1.resourceShareGroupList = null;
-                    ar1.resourceName = "Bandwidth";
-                    ar1.assetId = ed.equipmentId + "-" + preferedAffinityLinkId;
-                    ar1.missingResourceAction = AllocationAction.Succeed_Allocate;
-                    ar1.expiredResourceAction = AllocationAction.Succeed_Allocate;
-                    ar1.replace = true;
-                    ar1.strict = false;
-                    ar1.checkLimit = Long.MAX_VALUE;
-                    ar1.checkCount = 0;
-                    ar1.allocateCount = (Long) sd.data.get("service-speed-kbps");
-
-                    resourceManager.allocateResources(ar1);
-                }
-
-                ctx.setAttribute(prefix + "vpe-name", vpeId);
-
-                vpePortFound = true;
-                break;
-            }
-
-            if (ao instanceof LimitAllocationOutcome) {
-                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
-                long available = lao.limit - lao.used;
-                if (available > maxAvailableSpeedVpePort)
-                    maxAvailableSpeedVpePort = available;
-            }
-        }
-
-        long maxAvailableSpeedVplspePort = 0;
-        boolean vplspePortFound = false;
-
-        for (Map<String, Object> vplspe : vplspePortData) {
-            String vplspeId = String.valueOf(vplspe.get("vplspe-id"));
-            String interfaceName = String.valueOf(vplspe.get("physical-interface-name"));
-            String portId = vplspeId + "/" + interfaceName;
-
-            log.info("Checking VPLSPE port: " + portId);
-
-            String provStatus = String.valueOf(vplspe.get("provisioning-status"));
-            if (!provStatus.equals("PROV")) {
-                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
-                continue;
-            }
-
-            long physicalSpeed = (Long) vplspe.get("physical-interface-speed");
-            String physicalSpeedUnit = String.valueOf(vplspe.get("physical-interface-speed-unit"));
-            long maxPortSpeed = speedUtil.convertToKbps(physicalSpeed, physicalSpeedUnit);
-            vplspe.put("max-port-speed", maxPortSpeed);
-
-            EquipmentData ed = new EquipmentData();
-            ed.data = vplspe;
-            ed.equipmentId = portId;
-            ed.equipmentLevel = EquipmentLevel.Port;
-
-            ServiceData sd = new ServiceData();
-            sd.data = service;
-            sd.serviceModel = "L3SDN";
-            sd.endPointPosition = "IPAG-TOA";
-            sd.resourceUnionId = sr.resourceUnionId;
-            sd.resourceSetId = sr.resourceSetId;
-
-            StrUtil.info(log, ed);
-            StrUtil.info(log, sd);
-
-            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-                    requestType == ReserveRequestType.Change);
-            AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-            if (ao.status == AllocationStatus.Success) {
-                vplspePortFound = true;
-                break;
-            }
-
-            if (ao instanceof LimitAllocationOutcome) {
-                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
-                long available = lao.limit - lao.used;
-                if (available > maxAvailableSpeedVplspePort)
-                    maxAvailableSpeedVplspePort = available;
-            }
-        }
-
-        long maxAvailableSpeedServer = 0;
-        boolean serverFound = false;
-
-        for (Map<String, Object> server : serverData) {
-            String serverId = String.valueOf(server.get("server-id"));
-            String serverModel = String.valueOf(server.get("server-model"));
-
-            log.info("Checking Server: " + serverId);
-
-            String endPointPosition = "VCE-Cust";
-
-            int serverCount = (Integer) server.get("server-count");
-            if (serverCount == 0)
-                serverCount = 1;
-            String ratioString = parameterDao.getParameter("homing.pserver.sparing.ratio");
-            if (ratioString == null || ratioString.length() == 0)
-                ratioString = "1:1";
-            int primaryServerCount = calculatePrimaryServerCount(serverCount, ratioString);
-            server.put("number-primary-servers", primaryServerCount);
-
-            int evcCount = getEvcCountOnServer(serverId);
-            int evcCountPerServer = (evcCount + primaryServerCount - 1) / primaryServerCount;
-            long maxServerSpeed = maxServerSpeedDao.getMaxServerSpeed(serverModel, evcCountPerServer);
-            server.put("max-server-speed", maxServerSpeed);
-            server.put("evc-count", evcCount);
-            server.put("evc-count-per-server", evcCountPerServer);
-
-            EquipmentData ed = new EquipmentData();
-            ed.data = server;
-            ed.equipmentId = serverId;
-            ed.equipmentLevel = EquipmentLevel.Server;
-
-            ServiceData sd = new ServiceData();
-            sd.data = service;
-            sd.serviceModel = "L3SDN";
-            sd.endPointPosition = endPointPosition;
-            sd.resourceUnionId = sr.resourceUnionId;
-            sd.resourceSetId = sr.resourceSetId;
-
-            StrUtil.info(log, ed);
-            StrUtil.info(log, sd);
-
-            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-                    requestType == ReserveRequestType.Change);
-            AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-            if (ao.status == AllocationStatus.Success) {
-                serverFound = true;
-
-                if (ao instanceof MultiResourceAllocationOutcome) {
-                    MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
-                    for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
-                        if (ao1 instanceof LimitAllocationOutcome) {
-                            LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
-                            if (lao.request.resourceName.equals("Bandwidth")) {
-                                ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
-                                setThresholdData(ctx, th, sd, ed);
-                            }
-                        }
-                    }
-                }
-
-                break;
-            }
-
-            if (ao instanceof MultiResourceAllocationOutcome) {
-                MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
-                for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
-                    if (ao1 instanceof LimitAllocationOutcome) {
-                        LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
-                        if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Bandwidth")) {
-                            long available = lao.limit - lao.used;
-                            if (available > maxAvailableSpeedServer)
-                                maxAvailableSpeedServer = available;
-                        }
-                        if (lao.status == AllocationStatus.Failure && lao.request.resourceName.equals("Connection")) {
-                            maxAvailableSpeedServer = 0;
-                            break;
-                        }
-
-                        ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
-                        setThresholdData(ctx, th, sd, ed);
-                    }
-                }
-            }
-        }
-
-        if (vpePortFound && vplspePortFound && serverFound) {
-            if (!checkOnly) {
-                if (pendingServiceResource == null) {
-                    log.info("Adding the pending service resource record to DB.");
-                    serviceResourceDao.addServiceResource(sr);
-                } else {
-                    log.info("Releasing previously allocated resources for resource set id: " +
-                            pendingServiceResource.resourceSetId);
-                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-
-                    log.info("Updating the pending service resource record in DB with service change number: " +
-                            sr.serviceChangeNumber);
-                    serviceResourceDao.updateServiceResource(sr);
-                }
-            }
-
-            return QueryStatus.SUCCESS;
-        }
-
-        log.info("Releasing allocated resources (if any) for resource set id: " + sr.resourceSetId);
-        resourceManager.releaseResourceSet(sr.resourceSetId);
-
-        long maxAvailableSpeed = Long.MAX_VALUE;
-        if (!vpePortFound && maxAvailableSpeedVpePort < maxAvailableSpeed)
-            maxAvailableSpeed = maxAvailableSpeedVpePort;
-        if (!vplspePortFound && maxAvailableSpeedVplspePort < maxAvailableSpeed)
-            maxAvailableSpeed = maxAvailableSpeedVplspePort;
-        if (!serverFound && maxAvailableSpeedServer < maxAvailableSpeed)
-            maxAvailableSpeed = maxAvailableSpeedServer;
-
-        setOutputContext(ctx, maxAvailableSpeed, "kbps");
-        return QueryStatus.NOT_FOUND;
-    }
-
-    private List<Map<String, Object>> orderVpe(List<Map<String, Object>> vpePortData) {
-        for (Map<String, Object> vpe : vpePortData) {
-            String vpeId = String.valueOf(vpe.get("vpe-id"));
-            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
-            String portId = vpeId + "/" + interfaceName;
-            Resource r = resourceManager.getResource("Bandwidth", portId);
-            long used = 0;
-            if (r != null) {
-                LimitResource ll = (LimitResource) r;
-                used = ll.used;
-            }
-            vpe.put("used-bandwidth", used);
-
-            log.info("Used bandwidth on VPE: " + vpeId + ": " + used);
-        }
-
-        Collections.sort(vpePortData, new Comparator<Map<String, Object>>() {
-
-            @Override
-            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
-                long used1 = (Long) o1.get("used-bandwidth");
-                long used2 = (Long) o2.get("used-bandwidth");
-                if (used1 < used2)
-                    return -1;
-                if (used1 > used2)
-                    return 1;
-                return 0;
-            }
-        });
-
-        return vpePortData;
-    }
-
-    private void setThresholdData(SvcLogicContext ctx, ThresholdStatus th, ServiceData sd, EquipmentData ed) {
-        if (th == null)
-            return;
-
-        String pp = "tmp.resource-allocator-output.threshold-notification-list.threshold-hotification[0].";
-        ctx.setAttribute("tmp.resource-allocator-output.threshold-notification-list.threshold-hotification_length",
-                "1");
-        ctx.setAttribute(pp + "message", th.resourceThreshold.message);
-        ctx.setAttribute(pp + "resource-rule.service-model", th.resourceRule.serviceModel);
-        ctx.setAttribute(pp + "resource-rule.endpoint-position", th.resourceRule.endPointPosition);
-        ctx.setAttribute(pp + "resource-rule.resource-name", th.resourceRule.resourceName);
-        ctx.setAttribute(pp + "resource-rule.equipment-level", th.resourceRule.equipmentLevel);
-        ctx.setAttribute(pp + "resource-rule.soft-limit-expression", th.resourceRule.softLimitExpression);
-        ctx.setAttribute(pp + "resource-rule.hard-limit-expression", th.resourceRule.hardLimitExpression);
-        ctx.setAttribute(pp + "resource-state.used", String.valueOf(th.used));
-        ctx.setAttribute(pp + "resource-state.limit-value", String.valueOf(th.limitValue));
-        ctx.setAttribute(pp + "resource-state.threshold-value", String.valueOf(th.thresholdValue));
-        ctx.setAttribute(pp + "resource-state.last-added", String.valueOf(th.lastAdded));
-        ctx.setAttribute(pp + "equipment-data.equipment-id", ed.equipmentId);
-        for (String edKey : ed.data.keySet())
-            ctx.setAttribute(pp + "equipment-data." + edKey, String.valueOf(ed.data.get(edKey)));
-    }
-
-    private QueryStatus allocateResources(String serviceModel, SvcLogicContext ctx, boolean checkOnly, String prefix)
-            throws SvcLogicException {
-        prefix = prefix == null ? "" : prefix + '.';
-
-        Map<String, Object> service = getServiceData(ctx);
-        Map<String, Object> ec = getEquipConstraints(ctx);
-
-        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-        if (requestTypeStr == null)
-            requestTypeStr = "New";
-
-        ReserveRequestType requestType = null;
-        try {
-            requestType = ReserveRequestType.convert(requestTypeStr);
-        } catch (IllegalArgumentException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-                    ". Supported values are New, Change.");
-        }
-
-        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
-
-        log.info("Starting reserve: " + requestType + ", service-instance-id: " + serviceInstanceId);
-
-        ServiceResource activeServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-        ServiceResource pendingServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-        log.info("Active ServiceResource: ");
-        StrUtil.info(log, activeServiceResource);
-        log.info("Pending ServiceResource: ");
-        StrUtil.info(log, pendingServiceResource);
-
-        int changeNumber = 1;
-        if (pendingServiceResource != null)
-            changeNumber = pendingServiceResource.serviceChangeNumber + 1;
-        else if (activeServiceResource != null)
-            changeNumber = activeServiceResource.serviceChangeNumber + 1;
-
-        ServiceData sd = new ServiceData();
-        sd.data = service;
-        sd.serviceModel = serviceModel;
-        sd.endPointPosition = (String) service.get("end-point-position");
-        sd.resourceShareGroup = (String) service.get("resource-share-group");
-        sd.resourceName = (String) service.get("resource-name");
-        sd.serviceInstanceId = serviceInstanceId;
-
-        StrUtil.info(log, sd);
-
-        List<EndPointData> epList = endPointAllocator.allocateEndPoints(sd, ec, checkOnly,
-                requestType == ReserveRequestType.Change, changeNumber);
-
-        if (epList != null && !epList.isEmpty()) {
-            if (!checkOnly) {
-                EndPointData ep = epList.get(0);
-
-                if (sd.resourceName == null) {
-                ServiceResource sr = new ServiceResource();
-                sr.serviceInstanceId = serviceInstanceId;
-                sr.serviceStatus = ServiceStatus.Pending;
-                sr.serviceChangeNumber = changeNumber;
-                sr.resourceSetId = ep.resourceSetId;
-                sr.resourceUnionId = ep.resourceUnionId;
-
-                log.info("New ServiceResource: ");
-                StrUtil.info(log, sr);
-
-                if (pendingServiceResource == null) {
-                    log.info("Adding the pending service resource record to DB.");
-                    serviceResourceDao.addServiceResource(sr);
-                } else {
-                    log.info("Releasing previously allocated resources for resource set id: " +
-                            pendingServiceResource.resourceSetId);
-                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-
-                    log.info("Updating the pending service resource record in DB with service change number: " +
-                            sr.serviceChangeNumber);
-                    serviceResourceDao.updateServiceResource(sr);
-                }
-            }
-
-                for (EndPointData ep1 : epList)
-                    if (ep1.data != null && !ep1.data.isEmpty())
-                        for (String key : ep1.data.keySet()) {
-                            String value = String.valueOf(ep1.data.get(key));
-                            ctx.setAttribute(prefix + key, value);
-
-                            log.info("Added context attr: " + prefix + key + ": " + value);
-                        }
-            }
-
-            return QueryStatus.SUCCESS;
-        }
-
-        log.info("Capacity not found for EVC: " + serviceInstanceId);
-
-        return QueryStatus.NOT_FOUND;
-    }
-
-    private int getEvcCountOnServer(String serverId) {
-        LimitResource l = (LimitResource) resourceManager.getResource("Connection", serverId);
-        if (l != null)
-            return (int) l.used;
-        return 0;
-    }
-
-    private String getAicSiteId(SvcLogicContext ctx) throws SvcLogicException {
-        String aicSiteId = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
-        if (aicSiteId == null)
-            throw new SvcLogicException("tmp.resource-allocator.aic-site-id is required in ResourceAllocator");
-        return aicSiteId;
-    }
-
-    private Map<String, Object> getServiceData(SvcLogicContext ctx) throws SvcLogicException {
-        Map<String, Object> sd = new HashMap<String, Object>();
-
-        String endPointPosition = ctx.getAttribute("tmp.resource-allocator.end-point-position");
-        if (endPointPosition != null && endPointPosition.trim().length() > 0)
-            sd.put("end-point-position", endPointPosition.trim());
-
-        String resourceName = ctx.getAttribute("tmp.resource-allocator.resource-name");
-        if (resourceName != null && resourceName.trim().length() > 0)
-            sd.put("resource-name", resourceName.trim());
-
-        String resourceShareGroup = ctx.getAttribute("tmp.resource-allocator.resource-share-group");
-        if (resourceShareGroup != null && resourceShareGroup.trim().length() > 0)
-            sd.put("resource-share-group", resourceShareGroup.trim());
-
-        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
-        if (serviceInstanceId == null)
-            serviceInstanceId = "checkServiceInstance";
-        sd.put("service-instance-id", serviceInstanceId);
-
-        String speedStr = ctx.getAttribute("tmp.resource-allocator.speed");
-        if (speedStr != null && speedStr.trim().length() > 0) {
-        long speed = 0;
-        try {
-            speed = Long.parseLong(speedStr);
-        } catch (NumberFormatException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.speed. Must be a number.");
-        }
-        String unit = ctx.getAttribute("tmp.resource-allocator.speed-unit");
-        if (unit == null || unit.trim().length() == 0)
-            throw new SvcLogicException("tmp.resource-allocator.speed-unit is required in ResourceAllocator");
-        long serviceSpeedKbps = speedUtil.convertToKbps(speed, unit);
-
-        sd.put("service-speed-kbps", serviceSpeedKbps);
-        }
-
-        String vpnId = ctx.getAttribute("tmp.resource-allocator.vpn-id");
-        if (vpnId != null && vpnId.trim().length() > 0)
-            sd.put("vpn-id", vpnId.trim());
-
-        String vpnIdList = ctx.getAttribute("tmp.resource-allocator.vpn-id-list");
-        if (vpnIdList != null && vpnIdList.trim().length() > 0)
-            sd.put("vpn-id-list", vpnIdList.trim());
-
-        String vrfName = ctx.getAttribute("tmp.resource-allocator.vrf-name");
-        if (vrfName != null && vrfName.trim().length() > 0)
-            sd.put("vrf-name", vrfName.trim());
-
-        String vrfNameList = ctx.getAttribute("tmp.resource-allocator.vrf-name-list");
-        if (vrfNameList != null && vrfNameList.trim().length() > 0)
-            sd.put("vrf-name-list", vrfNameList.trim());
-
-        String v4multicast = ctx.getAttribute("tmp.resource-allocator.v4-multicast");
-        if (v4multicast != null && v4multicast.trim().length() > 0)
-            sd.put("v4-multicast", v4multicast.trim());
-
-        String v6multicast = ctx.getAttribute("tmp.resource-allocator.v6-multicast");
-        if (v6multicast != null && v6multicast.trim().length() > 0)
-            sd.put("v6-multicast", v6multicast.trim());
-
-        String v4ServingSite = ctx.getAttribute("tmp.resource-allocator.v4-serving-site");
-        if (v4ServingSite != null && v4ServingSite.trim().length() > 0)
-            sd.put("v4-serving-site", v4ServingSite.trim());
-
-        String v6ServingSite = ctx.getAttribute("tmp.resource-allocator.v6-serving-site");
-        if (v6ServingSite != null && v6ServingSite.trim().length() > 0)
-            sd.put("v6-serving-site", v6ServingSite.trim());
-
-        return sd;
-    }
-
-    private Map<String, Object> getEquipConstraints(SvcLogicContext ctx) throws SvcLogicException {
-        Map<String, Object> mm = new HashMap<String, Object>();
-
-        String vrfRequired = ctx.getAttribute("tmp.resource-allocator.vrf-required");
-        if (vrfRequired != null && vrfRequired.trim().length() > 0)
-            mm.put("vrf-required", vrfRequired.trim());
-
-        String clli = ctx.getAttribute("tmp.resource-allocator.clli");
-        if (clli == null || clli.trim().length() == 0)
-            clli = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
-        if (clli != null) {
-        mm.put("clli", clli.trim());
-            mm.put("aic-site-id", clli.trim());
-        }
-
-        String vpeName = ctx.getAttribute("tmp.resource-allocator.vpe-name");
-        if (vpeName != null && vpeName.trim().length() > 0)
-            mm.put("vpe-name", vpeName.trim());
-
-        String vnfName = ctx.getAttribute("tmp.resource-allocator.device-name");
-        if (vnfName != null && vnfName.trim().length() > 0)
-            mm.put("vnf-name", vnfName.trim());
-
-        String excludeVpeList = ctx.getAttribute("tmp.resource-allocator.exclude-vpe-list");
-        if (excludeVpeList != null && excludeVpeList.trim().length() > 0)
-            mm.put("exclude-vpe-list", excludeVpeList.trim());
-
-        String uplinkCircuitCountStr =
-                ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length");
-        if (uplinkCircuitCountStr != null) {
-            long uplinkCircuitCount = 0;
-            try {
-                uplinkCircuitCount = Long.parseLong(uplinkCircuitCountStr);
-            } catch (NumberFormatException e) {
-                throw new SvcLogicException(
-                        "Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length. Must be a number.");
-            }
-            List<Map<String, Object>> uplinkCircuitList = new ArrayList<>();
-            for (int i = 0; i < uplinkCircuitCount; i++) {
-                String uplinkCircuitId = ctx.getAttribute(
-                        "tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i + "].uplink-circuit-id");
-                String uplinkCircuitBandwidthStr =
-                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
-                                "].uplink-circuit-bandwidth");
-                String uplinkCircuitBandwidthUnit =
-                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
-                                "].uplink-circuit-bandwidth-unit");
-
-                long uplinkCircuitBandwidth = 0;
-                try {
-                    uplinkCircuitBandwidth = Long.parseLong(uplinkCircuitBandwidthStr);
-                } catch (NumberFormatException e) {
-                    throw new SvcLogicException("Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" +
-                            i + "].uplink-circuit-id. Must be a number.");
-                }
-
-                long uplinkCircuitBandwidthKbps =
-                        speedUtil.convertToKbps(uplinkCircuitBandwidth, uplinkCircuitBandwidthUnit);
-
-                Map<String, Object> uplinkCircuit = new HashMap<String, Object>();
-                uplinkCircuit.put("uplink-circuit-id", uplinkCircuitId);
-                uplinkCircuit.put("uplink-circuit-bandwidth", uplinkCircuitBandwidthKbps);
-                uplinkCircuitList.add(uplinkCircuit);
-            }
-            mm.put("uplink-circuit-list", uplinkCircuitList);
-        }
-
-        return mm;
-    }
-
-    private void setOutputContext(SvcLogicContext ctx, long maxAvailableSpeed, String unit) {
-        ctx.setAttribute("tmp.resource-allocator-output.max-available-speed", String.valueOf(maxAvailableSpeed));
-        ctx.setAttribute("tmp.resource-allocator-output.speed-unit", unit);
-    }
-
-    private int calculatePrimaryServerCount(int serverCount, String ratioString) throws SvcLogicException {
-        String[] ss = ratioString.split(":");
-        if (ss.length != 2)
-            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
-
-        int n = 1, m = 1;
-        try {
-            n = Integer.parseInt(ss[0]);
-            m = Integer.parseInt(ss[1]);
-        } catch (Exception e) {
-            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
-        }
-
-        return (serverCount - 1) * n / (n + m) + 1;
-    }
-
-    public void setServerDao(ServerDao serverDao) {
-        this.serverDao = serverDao;
-    }
-
-    public void setVpePortDao(VpePortDao vpePortDao) {
-        this.vpePortDao = vpePortDao;
-    }
-
-    public void setVplspePortDao(VplspePortDao vplspePortDao) {
-        this.vplspePortDao = vplspePortDao;
-    }
-
-    public void setMaxPortSpeedDao(MaxPortSpeedDao maxPortSpeedDao) {
-        this.maxPortSpeedDao = maxPortSpeedDao;
-    }
-
-    public void setMaxServerSpeedDao(MaxServerSpeedDao maxServerSpeedDao) {
-        this.maxServerSpeedDao = maxServerSpeedDao;
-    }
-
-    public void setAllocationRequestBuilder(AllocationRequestBuilder allocationRequestBuilder) {
-        this.allocationRequestBuilder = allocationRequestBuilder;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-
-    public void setSpeedUtil(SpeedUtil speedUtil) {
-        this.speedUtil = speedUtil;
-    }
-
-    public void setServiceResourceDao(ServiceResourceDao serviceResourceDao) {
-        this.serviceResourceDao = serviceResourceDao;
-    }
-
-    public void setEndPointAllocator(EndPointAllocator endPointAllocator) {
-        this.endPointAllocator = endPointAllocator;
-    }
-
-    public void setParameterDao(ParameterDao parameterDao) {
-        this.parameterDao = parameterDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
deleted file mode 100644
index 2ada6356c..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.alloc;
-
-import org.openecomp.sdnc.ra.comp.AllocationRule;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.data.AllocationAction;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AffinityAllocationRule implements AllocationRule {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(AffinityAllocationRule.class);
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        String affinityLink = (String) equipmentData.data.get("affinity-link");
-        if (affinityLink == null)
-            affinityLink = "1";
-
-        long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceShareGroupList = null;
-        ar.resourceName = "Bandwidth";
-        ar.assetId = equipmentData.equipmentId + "-" + affinityLink;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = Long.MAX_VALUE;
-        ar.checkCount = 0;
-        ar.allocateCount = serviceSpeed;
-        return ar;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
deleted file mode 100644
index 4db6a7307..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.alloc;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.openecomp.sdnc.ra.comp.AllocationRule;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.rule.dao.RangeRuleDao;
-import org.openecomp.sdnc.ra.rule.dao.ResourceRuleDao;
-import org.openecomp.sdnc.ra.rule.data.RangeRule;
-import org.openecomp.sdnc.ra.rule.data.ResourceRule;
-import org.openecomp.sdnc.rm.data.AllocationAction;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.rm.data.MultiResourceAllocationRequest;
-import org.openecomp.sdnc.rm.data.RangeAllocationRequest;
-import org.openecomp.sdnc.util.expr.ExpressionEvaluator;
-import org.openecomp.sdnc.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DbAllocationRule implements AllocationRule {
-
-    private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
-
-    private ResourceRuleDao resourceRuleDao;
-    private RangeRuleDao rangeRuleDao;
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
-                endPointPosition, equipmentData.equipmentLevel);
-        List<RangeRule> rangeRuleList =
-                rangeRuleDao.getRangeRules(serviceData.serviceModel, endPointPosition, equipmentData.equipmentLevel);
-
-        List<AllocationRequest> arlist = new ArrayList<AllocationRequest>();
-
-        for (ResourceRule rr : resourceRuleList) {
-            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.resourceName))
-                continue;
-            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
-                    equipmentData, checkOnly, change);
-            arlist.add(ar1);
-        }
-        for (RangeRule rr : rangeRuleList) {
-            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.rangeName))
-                continue;
-            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
-                    equipmentData, checkOnly, change);
-            arlist.add(ar1);
-        }
-
-        if (arlist.isEmpty())
-            return null;
-
-        if (arlist.size() == 1)
-            return arlist.get(0);
-
-        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-        ar.stopOnFirstFailure = false;
-        ar.allocationRequestList = arlist;
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            ResourceRule resourceRule,
-            String resourceUnionId,
-            String resourceSetId,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, resourceRule);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceName = resourceRule.resourceName;
-        if (serviceData.resourceShareGroup != null)
-            ar.resourceShareGroupList = Collections.singleton(serviceData.resourceShareGroup);
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = ExpressionEvaluator.evalLong(
-                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);;
-        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
-        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            RangeRule rangeRule,
-            String resourceUnionId,
-            String resourceSetId,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, rangeRule);
-
-        RangeAllocationRequest ar = new RangeAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceName = rangeRule.rangeName;
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.check = true;
-        ar.allocate = !checkOnly;
-        ar.checkMin = rangeRule.minValue;
-        ar.checkMax = rangeRule.maxValue;
-        return ar;
-    }
-
-    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-        this.resourceRuleDao = resourceRuleDao;
-    }
-
-    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-        this.rangeRuleDao = rangeRuleDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
deleted file mode 100644
index f2c0f76d0..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.alloc;
-
-import org.openecomp.sdnc.ra.comp.AllocationRule;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.data.AllocationAction;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.util.vrf.VpnParam;
-import org.openecomp.sdnc.util.vrf.VrfUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ServingSiteAllocationRule implements AllocationRule {
-
-    private static final Logger log = LoggerFactory.getLogger(ServingSiteAllocationRule.class);
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return null;
-
-        log.info("vrfName: " + vrfName);
-
-        String v4ServingSiteStr = (String) serviceData.data.get("v4-serving-site");
-        String v6ServingSiteStr = (String) serviceData.data.get("v6-serving-site");
-        boolean v4ServingSite = v4ServingSiteStr != null &&
-                (v4ServingSiteStr.equalsIgnoreCase("Y") || v4ServingSiteStr.equalsIgnoreCase("true"));
-        boolean v6ServingSite = v6ServingSiteStr != null &&
-                (v6ServingSiteStr.equalsIgnoreCase("Y") || v6ServingSiteStr.equalsIgnoreCase("true"));
-        if (!v4ServingSite && !v6ServingSite)
-            return null;
-
-        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceName = "ServingSite";
-        ar.assetId = equipmentData.equipmentId + "-" + vpnp.vpnId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = 1;
-        ar.checkCount = 1;
-        ar.allocateCount = 1;
-
-        return ar;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
deleted file mode 100644
index 109960dcb..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.alloc;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.openecomp.sdnc.ra.comp.AllocationRule;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.data.AllocationAction;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.rm.data.MultiResourceAllocationRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VrfAllocationRule implements AllocationRule {
-
-    private static final Logger log = LoggerFactory.getLogger(VrfAllocationRule.class);
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return null;
-
-        log.info("vrfName: " + vrfName);
-
-        Set<String> resourceShareGroupList = new HashSet<>();
-        resourceShareGroupList.add(vrfName);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceShareGroupList = resourceShareGroupList;
-        ar.resourceName = "VRF";
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = 999999999;
-        ar.checkCount = 1;
-        ar.allocateCount = 1;
-
-        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
-        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
-        boolean v4Multicast = v4MulticastStr != null &&
-                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
-        boolean v6Multicast = v6MulticastStr != null &&
-                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
-        if (v4Multicast || v6Multicast) {
-            LimitAllocationRequest ar2 = new LimitAllocationRequest();
-            ar2.resourceSetId = resourceSetId;
-            ar2.resourceUnionId = resourceUnionId;
-            ar2.resourceShareGroupList = resourceShareGroupList;
-            ar2.resourceName = "MVRF";
-            ar2.assetId = equipmentData.equipmentId;
-            ar2.missingResourceAction = AllocationAction.Succeed_Allocate;
-            ar2.expiredResourceAction = AllocationAction.Succeed_Allocate;
-            ar2.replace = true;
-            ar2.strict = false;
-            ar2.checkLimit = 999999999;
-            ar2.checkCount = 1;
-            ar2.allocateCount = 1;
-
-            MultiResourceAllocationRequest mar = new MultiResourceAllocationRequest();
-            mar.resourceSetId = resourceSetId;
-            mar.resourceUnionId = resourceUnionId;
-            mar.resourceShareGroupList = resourceShareGroupList;
-            mar.assetId = equipmentData.equipmentId;
-            mar.missingResourceAction = AllocationAction.Succeed_Allocate;
-            mar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-            mar.allocationRequestList = new ArrayList<>();
-            mar.allocationRequestList.add(ar);
-            mar.allocationRequestList.add(ar2);
-
-            return mar;
-        }
-
-        return ar;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
deleted file mode 100644
index 103555195..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AnyVrfPresentCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(AnyVrfPresentCheck.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfNameListStr = (String) serviceData.data.get("vrf-name-list");
-        if (vrfNameListStr == null)
-            vrfNameListStr = (String) serviceData.data.get("vrf-name");
-        if (vrfNameListStr == null)
-            return true;
-
-        String vrfRequiredStr = (String) equipmentConstraints.get("vrf-required");
-        if (vrfRequiredStr == null || !vrfRequiredStr.equalsIgnoreCase("true"))
-            return true;
-
-        String[] vrfNameList = vrfNameListStr.split(",");
-
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                for (String vrfName : vrfNameList)
-                    if (ai.resourceShareGroupList.contains(vrfName))
-                        return true;
-
-        log.info("Skipping VPE " + equipData.equipmentId +
-                ": Existing VRF is required, but there is no existing VRF on the VPE for any of the requested VPNs.");
-        return false;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
deleted file mode 100644
index 0feb2c75c..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ExcludeVpeCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(ExcludeVpeCheck.class);
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String excludeVpeListStr = (String) equipmentConstraints.get("exclude-vpe-list");
-        if (excludeVpeListStr == null)
-            return true;
-
-        String vpeName = (String) equipData.data.get("vpe-id");
-
-        String[] excludeVpeList = excludeVpeListStr.split(",");
-        for (String excludeVpe : excludeVpeList)
-            if (excludeVpe.equals(vpeName)) {
-                log.info("Skipping VPE " + equipData.equipmentId + ": Present in the exclude VPE list.");
-                return false;
-            }
-
-        return true;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
deleted file mode 100644
index 01e2695da..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.util.vrf.VpnParam;
-import org.openecomp.sdnc.util.vrf.VrfUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class HubWithRgCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(HubWithRgCheck.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return true;
-
-        // Check if this is HUB. If not, this check is not applicable
-        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-        if (vpnp.siteType == null || !vpnp.siteType.equals("HUB"))
-            return true;
-
-        boolean rgPresent = vpnp.routeGroupName != null;
-
-        // First check if a new VRF would be required. If not, we are good
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null) {
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceShareGroupList.contains(vrfName))
-                    return true;
-
-            String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
-
-            // Check if there is already another HUB VRF with RG presence that does not match the requested
-            for (AllocationItem ai : r.allocationItems) {
-
-                // Skip the allocation item for the current service instance, if there, in case it is a change order
-                if (ai.resourceUnionId.equals(resourceUnionId))
-                    continue;
-
-                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
-                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
-                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
-
-                    if (vpnp2.siteType == null || !vpnp2.siteType.equals("HUB"))
-                        continue;
-
-                    boolean rgPresent2 = vpnp2.routeGroupName != null;
-
-                    if (rgPresent && !rgPresent2) {
-                        log.info("Skipping VPE " + equipData.equipmentId +
-                                ": This request requires new HUB with RG VRF, " +
-                                "but there is already another HUB VRF with no RG: " + vrfName2 + ".");
-                        return false;
-                    }
-                    if (!rgPresent && rgPresent2) {
-                        log.info("Skipping VPE " + equipData.equipmentId +
-                                ": This request requires new HUB VRF with no RG, " +
-                                "but there is already another HUB with RG VRF: " + vrfName2 + ".");
-                        return false;
-                    }
-                }
-            }
-        }
-
-        return true;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
deleted file mode 100644
index 64a6c2719..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.util.vrf.VpnParam;
-import org.openecomp.sdnc.util.vrf.VrfUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OneMVrfCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(OneMVrfCheck.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return true;
-
-        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
-        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
-        boolean v4Multicast = v4MulticastStr != null &&
-                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
-        boolean v6Multicast = v6MulticastStr != null &&
-                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
-        if (!v4Multicast && !v6Multicast)
-            return true;
-
-        // First check if a new VRF would be required. If not, we are good
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceShareGroupList.contains(vrfName))
-                    return true;
-
-        String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
-
-        // Check if there is already another multicast VRF for the same VPN
-        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-        r = resourceManager.getResource("MVRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null) {
-            for (AllocationItem ai : r.allocationItems) {
-
-                // Skip the allocation item for the current service instance, if there, in case it is a change order
-                if (ai.resourceUnionId.equals(resourceUnionId))
-                    continue;
-
-                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
-                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
-                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
-                    if (vpnp.vpnId.equals(vpnp2.vpnId)) {
-                        log.info("Skipping VPE " + equipData.equipmentId +
-                                ": This request requires new multicast VRF, " +
-                                "but there is already another multicast VRF for the same VPN: " + vrfName2 + ".");
-                        return false;
-                    }
-                }
-            }
-        }
-
-        return true;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
deleted file mode 100644
index 07e0718c4..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ProvStatusCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(ProvStatusCheck.class);
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String provStatus = (String) equipData.data.get("provisioning-status");
-        if (provStatus == null || !provStatus.equals("PROV")) {
-            log.info("Skipping VPE " + equipData.equipmentId + ": Not in PROV status.");
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
deleted file mode 100644
index c6e9b758d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VlanSpeedCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(VlanSpeedCheck.class);
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vpeName = (String) equipData.data.get("vpe-id");
-        Long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
-        if (serviceSpeed != null && serviceSpeed > 0 && serviceSpeed < 1000) {
-            log.info("Skipping VPE " + vpeName + ": Service speed < 1Mbps is not supported.");
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
deleted file mode 100644
index a55bca31d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.check;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.comp.EquipmentCheck;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.rule.dao.VpeLockDao;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VpeLockCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(VpeLockCheck.class);
-
-    private VpeLockDao vpeLockDao;
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return true;
-
-        String vpeName = (String) equipData.data.get("vpe-id");
-        String vpeLock = vpeLockDao.getVpeLock(vpeName);
-        if (vpeLock == null)
-            return true;
-
-        if (vpeLock.equals("vpe-total-lock")) {
-            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock + " on it.");
-            return false;
-        }
-
-        if (vpeLock.equals("vpe-vrf-lock") && requiresNewVrf(equipData.equipmentId, vrfName)) {
-            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
-                    " on it and it requires a new VRF for VPN: " + vrfName + ".");
-            return false;
-        }
-
-        if (vpeLock.equals("vpe-mvrf-lock") && requiresNewMVrf(equipData.equipmentId, vrfName)) {
-            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
-                    " on it and it requires a new multicast VRF for VPN: " + vrfName + ".");
-            return false;
-        }
-
-        return true;
-    }
-
-    boolean requiresNewVrf(String equipmentId, String vrfName) {
-        Resource r = resourceManager.getResource("VRF", equipmentId);
-        if (r == null || r.allocationItems == null)
-            return true;
-
-        for (AllocationItem ai : r.allocationItems) {
-            if (ai.resourceShareGroupList.contains(vrfName))
-                return false;
-        }
-
-        return true;
-    }
-
-    boolean requiresNewMVrf(String equipmentId, String vrfName) {
-        Resource r = resourceManager.getResource("MVRF", equipmentId);
-        if (r == null || r.allocationItems == null)
-            return true;
-
-        for (AllocationItem ai : r.allocationItems) {
-            if (ai.resourceShareGroupList.contains(vrfName))
-                return false;
-        }
-
-        return true;
-    }
-
-    public void setVpeLockDao(VpeLockDao vpeLockDao) {
-        this.vpeLockDao = vpeLockDao;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
deleted file mode 100644
index 76f7e3e6b..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-
-public interface AllocationRule {
-
-    AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
deleted file mode 100644
index 7c4593d09..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import java.util.List;
-
-import org.openecomp.sdnc.ra.equip.comp.EquipmentReader;
-
-public class EndPointAllocationDefinition {
-
-    public String serviceModel;
-    public String endPointPosition;
-    public EquipmentReader equipmentReader;
-    public List<EquipmentCheck> equipmentCheckList;
-    public List<PreferenceRule> preferenceRuleList;
-    public List<AllocationRule> allocationRuleList;
-
-    public void setServiceModel(String serviceModel) {
-        this.serviceModel = serviceModel;
-    }
-
-    public void setEndPointPosition(String endPointPosition) {
-        this.endPointPosition = endPointPosition;
-    }
-
-    public void setEquipmentReader(EquipmentReader equipmentReader) {
-        this.equipmentReader = equipmentReader;
-    }
-
-    public void setEquipmentCheckList(List<EquipmentCheck> equipmentCheckList) {
-        this.equipmentCheckList = equipmentCheckList;
-    }
-
-    public void setPreferenceRuleList(List<PreferenceRule> preferenceRuleList) {
-        this.preferenceRuleList = preferenceRuleList;
-    }
-
-    public void setAllocationRuleList(List<AllocationRule> allocationRuleList) {
-        this.allocationRuleList = allocationRuleList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
deleted file mode 100644
index 325972c9a..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import java.util.List;
-import java.util.Map;
-
-public interface EndPointAllocator {
-
-    List<EndPointData> allocateEndPoints(
-            ServiceData serviceData,
-            Map<String, Object> equipmentConstraints,
-            boolean checkOnly,
-            boolean change,
-            int changeNumber);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
deleted file mode 100644
index e149a94be..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang.NotImplementedException;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.AllocationOutcome;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.AllocationStatus;
-import org.openecomp.sdnc.rm.data.LimitAllocationItem;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.RangeAllocationItem;
-import org.openecomp.sdnc.rm.data.RangeResource;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EndPointAllocatorImpl implements EndPointAllocator {
-
-    private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
-
-    private Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap;
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public List<EndPointData> allocateEndPoints(
-            ServiceData serviceData,
-            Map<String, Object> equipmentConstraints,
-            boolean checkOnly,
-            boolean change,
-            int changeNumber) {
-        List<EndPointAllocationDefinition> defList = endPointAllocationDefinitionMap.get(serviceData.serviceModel);
-        if (defList == null)
-            throw new NotImplementedException("Service model: " + serviceData.serviceModel + " not supported");
-
-        List<EndPointData> epList = new ArrayList<>();
-        for (EndPointAllocationDefinition def : defList) {
-            if (serviceData.endPointPosition != null && !serviceData.endPointPosition.equals(def.endPointPosition))
-                continue;
-
-            log.info(
-                    "Starting allocation of end point: " + def.endPointPosition + ": " + serviceData.serviceInstanceId);
-
-            String resourceUnionId = serviceData.serviceInstanceId + '/' + def.endPointPosition;
-            String resourceSetId = resourceUnionId + '/' + changeNumber;
-
-            String equipmentId = (String) equipmentConstraints.get("equipment-id");
-            if (equipmentId == null) {
-                EndPointData epExisting = readEndPoint(resourceUnionId, resourceSetId);
-                if (epExisting != null && epExisting.equipmentId != null) {
-                    equipmentConstraints.put("equipment-id", epExisting.equipmentId);
-
-                    log.info("Trying assignment on the current equipment: " + epExisting.equipmentId);
-                }
-            }
-
-            List<EquipmentData> equipList = def.equipmentReader.readEquipment(equipmentConstraints);
-            if (equipList == null || equipList.isEmpty()) {
-                log.info("Equipment not found for " + def.endPointPosition);
-                break;
-            }
-
-            if (def.equipmentCheckList != null) {
-                for (EquipmentCheck filter : def.equipmentCheckList) {
-                    List<EquipmentData> newEquipList = new ArrayList<>();
-                    for (EquipmentData equipData : equipList)
-                        if (filter.checkEquipment(def.endPointPosition, serviceData, equipData, equipmentConstraints))
-                            newEquipList.add(equipData);
-                    equipList = newEquipList;
-                }
-                if (equipList.isEmpty()) {
-                    log.info("No equipment meets the requiremets for the service for: " + def.endPointPosition);
-                    break;
-                }
-            }
-
-            if (equipList.size() > 1 && def.preferenceRuleList != null && !def.preferenceRuleList.isEmpty()) {
-
-                List<PrefEquipment> prefEquipList = new ArrayList<>();
-                for (EquipmentData equipData : equipList) {
-                    PrefEquipment prefEquip = new PrefEquipment();
-                    prefEquip.equipData = equipData;
-                    prefEquip.prefNumbers = new long[def.preferenceRuleList.size()];
-                    prefEquipList.add(prefEquip);
-
-                    int i = 0;
-                    for (PreferenceRule prefRule : def.preferenceRuleList)
-                        prefEquip.prefNumbers[i++] =
-                                prefRule.assignOrderNumber(def.endPointPosition, serviceData, equipData);
-                }
-
-                Collections.sort(prefEquipList);
-
-                equipList = new ArrayList<>();
-                for (PrefEquipment prefEquip : prefEquipList)
-                    equipList.add(prefEquip.equipData);
-            }
-
-            for (EquipmentData equipData : equipList) {
-                boolean allgood = true;
-                if (def.allocationRuleList != null)
-                    for (AllocationRule allocationRule : def.allocationRuleList) {
-                        AllocationRequest ar = allocationRule.buildAllocationRequest(resourceUnionId, resourceSetId,
-                                def.endPointPosition, serviceData, equipData, checkOnly, change);
-                        if (ar != null) {
-                            AllocationOutcome ao = resourceManager.allocateResources(ar);
-                            if (ao.status != AllocationStatus.Success) {
-                                allgood = false;
-                                break;
-                            }
-                        }
-                    }
-                if (allgood) {
-                    EndPointData ep = readEndPoint(resourceUnionId, resourceSetId);
-                    epList.add(ep);
-                    break;
-                }
-            }
-        }
-
-        return epList;
-    }
-
-    private EndPointData readEndPoint(String resourceUnionId, String resourceSetId) {
-        EndPointData ep = new EndPointData();
-        ep.resourceUnionId = resourceUnionId;
-        ep.resourceSetId = resourceSetId;
-
-        int i1 = resourceUnionId.indexOf('/');
-        if (i1 > 0)
-            ep.endPointPosition = resourceUnionId.substring(i1 + 1);
-
-        ep.data = new HashMap<>();
-
-        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
-        for (Resource r : rlist) {
-            if (r instanceof RangeResource) {
-                RangeResource rr = (RangeResource) r;
-                for (AllocationItem ai : r.allocationItems)
-                    if (ai.resourceUnionId.equals(resourceUnionId)) {
-                        RangeAllocationItem rai = (RangeAllocationItem) ai;
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName, rai.used.first());
-                    }
-            }
-            if (r instanceof LimitResource) {
-                LimitResource rr = (LimitResource) r;
-                for (AllocationItem ai : r.allocationItems)
-                    if (ai.resourceUnionId.equals(resourceUnionId)) {
-                        LimitAllocationItem rai = (LimitAllocationItem) ai;
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".allocated", rai.used);
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".used", rr.used);
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".assetId",
-                                r.resourceKey.assetId);
-                    }
-            }
-        }
-
-        return ep;
-    }
-
-    private static class PrefEquipment implements Comparable<PrefEquipment> {
-
-        public long[] prefNumbers;
-        public EquipmentData equipData;
-
-        @Override
-        public int compareTo(PrefEquipment o) {
-            for (int i = 0; i < prefNumbers.length; i++) {
-                if (prefNumbers[i] < o.prefNumbers[i])
-                    return -1;
-                if (prefNumbers[i] > o.prefNumbers[i])
-                    return 1;
-            }
-            return 0;
-        }
-    }
-
-    public void setEndPointAllocationDefinitionMap(
-            Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap) {
-        this.endPointAllocationDefinitionMap = endPointAllocationDefinitionMap;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
deleted file mode 100644
index eb4ee950c..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import java.util.Map;
-
-public class EndPointData {
-
-    public String resourceSetId;
-    public String resourceUnionId;
-    public String endPointPosition;
-    public String equipmentId;
-    public Map<String, Object> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
deleted file mode 100644
index e637f116e..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-
-public interface EquipmentCheck {
-
-    boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
deleted file mode 100644
index 52d8961a2..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-
-public interface PreferenceRule {
-
-    // Smaller order number is preferred
-    int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
deleted file mode 100644
index 80aca0b02..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.comp;
-
-import java.util.Map;
-
-public class ServiceData {
-
-    public String serviceModel;
-    public String serviceInstanceId;
-    public String resourceSetId;
-    public String resourceUnionId;
-    public String resourceShareGroup;
-    public String endPointPosition;
-    public String resourceName;
-    public Map<String, Object> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
deleted file mode 100644
index b2424acb5..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.comp;
-
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-
-public interface EquipmentReader {
-
-    List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
deleted file mode 100644
index 4126d1533..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.dao;
-
-import java.util.List;
-import java.util.Map;
-
-public interface ServerDao {
-
-    List<Map<String, Object>> getServerData(String aicSiteId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
deleted file mode 100644
index 7847d5b54..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.dao;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class ServerDaoImpl implements ServerDao {
-
-    private static final Logger log = LoggerFactory.getLogger(ServerDaoImpl.class);
-
-    private static final String GET_SERVER_COUNT_SQL = "SELECT count(*) FROM PSERVER WHERE aic_site_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<Map<String, Object>> getServerData(String aicSiteId) {
-        List<Map<String, Object>> ll = new ArrayList<Map<String, Object>>();
-        Map<String, Object> sd = new HashMap<String, Object>();
-        sd.put("aic-site-id", aicSiteId);
-        sd.put("server-id", aicSiteId + "/Server1");
-        sd.put("server-model", "Unknown");
-        sd.put("server-count", getServerCount(aicSiteId));
-        ll.add(sd);
-        return ll;
-    }
-
-    private int getServerCount(String aicSiteId) {
-        int n = jdbcTemplate.queryForInt(GET_SERVER_COUNT_SQL, aicSiteId);
-
-        log.info("Number of servers in " + aicSiteId + ": " + n);
-
-        return n;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
deleted file mode 100644
index b795533d7..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.dao;
-
-import java.util.List;
-import java.util.Map;
-
-public interface VpePortDao {
-
-    List<Map<String, Object>> getVpePortData(String aicSiteId);
-
-    List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
deleted file mode 100644
index 90cd6c5a1..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class VpePortDaoImpl implements VpePortDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(VpePortDaoImpl.class);
-
-    private static final String GET_SQL = "SELECT * FROM VPE_POOL WHERE aic_site_id = ?";
-    private static final String GET2_SQL = "SELECT * FROM VPE_POOL WHERE vpe_name = ?";
-    private static final String GET3_SQL =
-            "SELECT * FROM VPE_POOL WHERE substring(aic_site_id, 1, 8) = substring(?, 1, 8)";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<Map<String, Object>> getVpePortData(String aicSiteId) {
-        return jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new VpePortRowMapper());
-    }
-
-    @Override
-    public List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName) {
-        String sql = vpeName != null ? GET2_SQL : GET3_SQL;
-        Object[] param = new Object[] { vpeName != null ? vpeName : aicSiteId };
-
-        return jdbcTemplate.query(sql, param, new VpePortRowMapper());
-    }
-
-    private static class VpePortRowMapper implements RowMapper<Map<String, Object>> {
-
-        @Override
-        public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
-            Map<String, Object> mm = new HashMap<String, Object>();
-            mm.put("vpe-id", rs.getString("vpe_name"));
-            mm.put("aic-site-id", rs.getString("aic_site_id"));
-            mm.put("availability-zone", rs.getString("availability_zone"));
-            mm.put("image-file-name", rs.getString("image_filename"));
-            mm.put("vendor", rs.getString("vendor"));
-            mm.put("provisioning-status", rs.getString("provisioning_status"));
-            mm.put("physical-interface-name", rs.getString("physical_intf_name"));
-            mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
-            mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
-            return mm;
-        }
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
deleted file mode 100644
index 974e48bbd..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.dao;
-
-import java.util.List;
-import java.util.Map;
-
-public interface VplspePortDao {
-
-    List<Map<String, Object>> getVplspePortData(String aicSiteId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
deleted file mode 100644
index 3344355d1..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class VplspePortDaoImpl implements VplspePortDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(VplspePortDaoImpl.class);
-
-    private static final String GET_SQL = "SELECT * FROM VPLSPE_POOL WHERE aic_site_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<Map<String, Object>> getVplspePortData(String aicSiteId) {
-        List<Map<String, Object>> ll =
-                jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new RowMapper<Map<String, Object>>() {
-
-                    @Override
-                    public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
-                        Map<String, Object> mm = new HashMap<String, Object>();
-                        mm.put("vplspe-id", rs.getString("vplspe_name"));
-                        mm.put("aic-site-id", rs.getString("aic_site_id"));
-                        mm.put("availability-zone", rs.getString("availability_zone"));
-                        mm.put("image-file-name", rs.getString("image_filename"));
-                        mm.put("vendor", rs.getString("vendor"));
-                        mm.put("provisioning-status", rs.getString("provisioning_status"));
-                        mm.put("physical-interface-name", rs.getString("physical_intf_name"));
-                        mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
-                        mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
-                        return mm;
-                    }
-                });
-        return ll;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
deleted file mode 100644
index b3f20800e..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.data;
-
-import java.util.Map;
-
-public class EquipmentData {
-
-    public String equipmentId;
-    public EquipmentLevel equipmentLevel;
-    public Map<String, Object> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
deleted file mode 100644
index 399862bf6..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.equip.data;
-
-public enum EquipmentLevel {
-    Port, Device, Server, Site
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
deleted file mode 100644
index 24cd39970..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.pref;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.openecomp.sdnc.ra.comp.PreferenceRule;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AffinityLinkPref implements PreferenceRule {
-
-    private static final Logger log = LoggerFactory.getLogger(AffinityLinkPref.class);
-
-    private ResourceManager resourceManager;
-    private List<String> affinityLinkIdList;
-
-    public AffinityLinkPref() {
-        // Set default values for affinity link ids (can be overridden by the spring config)
-        affinityLinkIdList = new ArrayList<>();
-        affinityLinkIdList.add("1");
-        affinityLinkIdList.add("2");
-    }
-
-    @Override
-    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
-
-        // This class does not really assign order number, but instead sets the affinity link with the lowest
-        // assigned bandwidth in the equipment data
-
-        String preferedAffinityLinkId = "1";
-        long lowestAssignedBw = Long.MAX_VALUE;
-        for (String affinityLinkId : affinityLinkIdList) {
-            String assetId = equipData.equipmentId + "-" + affinityLinkId;
-            Resource r = resourceManager.getResource("Bandwidth", assetId);
-            if (r != null) {
-                LimitResource ll = (LimitResource) r;
-                if (ll.used < lowestAssignedBw) {
-                    lowestAssignedBw = ll.used;
-                    preferedAffinityLinkId = affinityLinkId;
-                }
-                log.info("Assigned bandwidth on affinity link: " + assetId + ": " + ll.used);
-            }
-        }
-
-        equipData.data.put("affinity-link", preferedAffinityLinkId);
-
-        log.info("Prefered affinity link for " + equipData.equipmentId + ": " + preferedAffinityLinkId);
-
-        return 0;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-
-    public void setAffinityLinkIdList(List<String> affinityLinkIdList) {
-        this.affinityLinkIdList = affinityLinkIdList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
deleted file mode 100644
index befb8b7ef..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.pref;
-
-import org.openecomp.sdnc.ra.comp.PreferenceRule;
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.rm.comp.ResourceManager;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EvcExistingVrfPref implements PreferenceRule {
-
-    private static final Logger log = LoggerFactory.getLogger(EvcExistingVrfPref.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return 0;
-
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceShareGroupList.contains(vrfName)) {
-                    log.info("VRF for VPN: " + vrfName + " found on VPE: " + equipData.equipmentId);
-                    return 1;
-                }
-
-        log.info("VRF for VPN: " + vrfName + " NOT found on VPE: " + equipData.equipmentId);
-        return 2;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
deleted file mode 100644
index b9b136a82..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.reader;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.equip.comp.EquipmentReader;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-
-public class AicSiteReader implements EquipmentReader {
-
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        String aicSiteId = (String) equipmentConstraints.get("aic-site-id");
-
-        EquipmentData equipData = new EquipmentData();
-        equipData.equipmentLevel = EquipmentLevel.Site;
-        equipData.equipmentId = aicSiteId;
-        equipData.data = new HashMap<String, Object>();
-
-        List<EquipmentData> equipList = new ArrayList<>();
-        equipList.add(equipData);
-
-        return equipList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
deleted file mode 100644
index b2caffcf2..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.reader;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.equip.comp.EquipmentReader;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-
-public class UplinkCircuitReader implements EquipmentReader {
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        List<EquipmentData> equipList = new ArrayList<>();
-
-        List<Map<String, Object>> uplinkCircuitList =
-                (List<Map<String, Object>>) equipmentConstraints.get("uplink-circuit-list");
-        if (uplinkCircuitList == null || uplinkCircuitList.isEmpty())
-            return equipList;
-
-        for (Map<String, Object> uplinkCircuit : uplinkCircuitList) {
-            EquipmentData equipData = new EquipmentData();
-            equipData.equipmentLevel = EquipmentLevel.Device;
-            equipData.equipmentId = (String) uplinkCircuit.get("uplink-circuit-id");
-            equipData.data = uplinkCircuit;
-            equipList.add(equipData);
-        }
-
-        return equipList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
deleted file mode 100644
index cffd6b11b..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.reader;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.equip.comp.EquipmentReader;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-
-public class VnfReader implements EquipmentReader {
-
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        String vnfName = (String) equipmentConstraints.get("vnf-name");
-
-        EquipmentData equipData = new EquipmentData();
-        equipData.equipmentLevel = EquipmentLevel.Device;
-        equipData.equipmentId = vnfName;
-        equipData.data = new HashMap<String, Object>();
-
-        List<EquipmentData> equipList = new ArrayList<>();
-        equipList.add(equipData);
-
-        return equipList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
deleted file mode 100644
index ad6fbb79e..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.reader;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.sdnc.ra.equip.comp.EquipmentReader;
-import org.openecomp.sdnc.ra.equip.dao.VpePortDao;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-
-public class VpePortReader implements EquipmentReader {
-
-    private VpePortDao vpePortDao;
-
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        String clli = (String) equipmentConstraints.get("clli");
-        String vpeName = (String) equipmentConstraints.get("vpe-name");
-        if (vpeName == null) {
-            String equipmentId = (String) equipmentConstraints.get("equipment-id");
-            if (equipmentId != null) {
-                int i1 = equipmentId.indexOf('/');
-                if (i1 > 0)
-                    equipmentId = equipmentId.substring(0, i1);
-                vpeName = equipmentId;
-            }
-        }
-
-        List<Map<String, Object>> vpeDataList = vpePortDao.getVpePortData(clli, vpeName);
-
-        List<EquipmentData> equipList = new ArrayList<>();
-        for (Map<String, Object> vpeData : vpeDataList) {
-            EquipmentData equipData = new EquipmentData();
-            equipData.equipmentLevel = EquipmentLevel.Port;
-            equipData.equipmentId =
-                    (String) vpeData.get("vpe-id") + '/' + (String) vpeData.get("physical-interface-name");
-            equipData.data = vpeData;
-
-            equipList.add(equipData);
-        }
-
-        return equipList;
-    }
-
-    public void setVpePortDao(VpePortDao vpePortDao) {
-        this.vpePortDao = vpePortDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
deleted file mode 100644
index 2bac62efc..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.comp;
-
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.rule.data.ThresholdStatus;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitAllocationOutcome;
-
-public interface AllocationRequestBuilder {
-
-    AllocationRequest buildAllocationRequest(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change);
-
-    ThresholdStatus getThresholdStatus(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            LimitAllocationOutcome limitAllocationOutcome);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
deleted file mode 100644
index 204f7eb3d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.comp;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.openecomp.sdnc.ra.comp.ServiceData;
-import org.openecomp.sdnc.ra.equip.data.EquipmentData;
-import org.openecomp.sdnc.ra.rule.dao.RangeRuleDao;
-import org.openecomp.sdnc.ra.rule.dao.ResourceRuleDao;
-import org.openecomp.sdnc.ra.rule.data.RangeRule;
-import org.openecomp.sdnc.ra.rule.data.ResourceRule;
-import org.openecomp.sdnc.ra.rule.data.ResourceThreshold;
-import org.openecomp.sdnc.ra.rule.data.ThresholdStatus;
-import org.openecomp.sdnc.rm.data.AllocationAction;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitAllocationOutcome;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.rm.data.MultiResourceAllocationRequest;
-import org.openecomp.sdnc.rm.data.RangeAllocationRequest;
-import org.openecomp.sdnc.util.expr.ExpressionEvaluator;
-import org.openecomp.sdnc.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AllocationRequestBuilderImpl implements AllocationRequestBuilder {
-
-    private static final Logger log = LoggerFactory.getLogger(AllocationRequestBuilderImpl.class);
-
-    private ResourceRuleDao resourceRuleDao;
-    private RangeRuleDao rangeRuleDao;
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
-                serviceData.endPointPosition, equipmentData.equipmentLevel);
-        List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceData.serviceModel,
-                serviceData.endPointPosition, equipmentData.equipmentLevel);
-        if (resourceRuleList.isEmpty() && rangeRuleList.isEmpty())
-            return null;
-        if (resourceRuleList.size() == 1 && rangeRuleList.isEmpty())
-            return buildAllocationRequest(resourceRuleList.get(0), serviceData, equipmentData, checkOnly, change);
-
-        if (resourceRuleList.isEmpty() && rangeRuleList.size() == 1)
-            return buildAllocationRequest(rangeRuleList.get(0), serviceData, equipmentData, checkOnly, change);
-
-        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-        ar.stopOnFirstFailure = false;
-        ar.allocationRequestList = new ArrayList<AllocationRequest>();
-        for (ResourceRule rr : resourceRuleList) {
-            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
-            ar.allocationRequestList.add(ar1);
-        }
-        for (RangeRule rr : rangeRuleList) {
-            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
-            ar.allocationRequestList.add(ar1);
-        }
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            ResourceRule resourceRule,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, resourceRule);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = serviceData.resourceSetId;
-        ar.resourceUnionId = serviceData.resourceUnionId;
-        ar.resourceName = resourceRule.resourceName;
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = ExpressionEvaluator.evalLong(
-                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);
-        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
-        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            RangeRule rangeRule,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, rangeRule);
-
-        RangeAllocationRequest ar = new RangeAllocationRequest();
-        ar.resourceSetId = serviceData.resourceSetId;
-        ar.resourceUnionId = serviceData.resourceUnionId;
-        ar.resourceName = rangeRule.rangeName;
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.check = true;
-        ar.allocate = !checkOnly;
-        ar.checkMin = rangeRule.minValue;
-        ar.checkMax = rangeRule.maxValue;
-        return ar;
-    }
-
-    @Override
-    public ThresholdStatus getThresholdStatus(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            LimitAllocationOutcome limitAllocationOutcome) {
-        ResourceRule rr = resourceRuleDao.getResourceRule(serviceData.serviceModel, serviceData.endPointPosition,
-                equipmentData.equipmentLevel, limitAllocationOutcome.request.resourceName);
-        if (rr == null || rr.thresholdList == null || rr.thresholdList.isEmpty())
-            return null;
-
-        ThresholdStatus thresholdStatus = null;
-        long maxThresholdValue = 0;
-        for (ResourceThreshold th : rr.thresholdList) {
-            long thresholdValue = ExpressionEvaluator.evalLong(th.expression, equipmentData.data);
-
-            if (thresholdValue > maxThresholdValue) {
-                maxThresholdValue = thresholdValue;
-
-                if (limitAllocationOutcome.used >= thresholdValue) {
-                    thresholdStatus = new ThresholdStatus();
-                    thresholdStatus.resourceRule = rr;
-                    thresholdStatus.resourceThreshold = th;
-                    thresholdStatus.limitValue = limitAllocationOutcome.limit;
-                    thresholdStatus.thresholdValue = thresholdValue;
-                    thresholdStatus.used = limitAllocationOutcome.used;
-                    thresholdStatus.lastAdded = limitAllocationOutcome.allocatedCount;
-                }
-            }
-        }
-
-        return thresholdStatus;
-    }
-
-    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-        this.resourceRuleDao = resourceRuleDao;
-    }
-
-    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-        this.rangeRuleDao = rangeRuleDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
deleted file mode 100644
index cac4ce5d4..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-public interface MaxPortSpeedDao {
-
-    // Returns max speed in kbps
-    long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
deleted file mode 100644
index 805bfa9c6..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.openecomp.sdnc.util.speed.SpeedUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class MaxPortSpeedDaoImpl implements MaxPortSpeedDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(MaxPortSpeedDaoImpl.class);
-
-    private final static String GET_SQL =
-            "SELECT * FROM MAX_PORT_SPEED WHERE image_file_name = ? AND end_point_position = ? AND interface_name = ?";
-
-    private JdbcTemplate jdbcTemplate;
-    private long defaultMaxPortSpeed = 5000000;
-    private SpeedUtil speedUtil;
-
-    @Override
-    public long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName) {
-        List<MaxPortSpeed> maxPortSpeedList =
-                jdbcTemplate.query(GET_SQL, new Object[] { imageFile, endPointPosition, interfaceName },
-                        new RowMapper<MaxPortSpeed>() {
-
-                            @Override
-                            public MaxPortSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
-                                MaxPortSpeed mps = new MaxPortSpeed();
-                                mps.maxSpeed = rs.getLong("max_speed");
-                                mps.unit = rs.getString("unit");
-                                return mps;
-                            }
-                        });
-
-        if (maxPortSpeedList.isEmpty())
-            return defaultMaxPortSpeed;
-
-        MaxPortSpeed mps = maxPortSpeedList.get(0);
-        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
-    }
-
-    private static class MaxPortSpeed {
-
-        public long maxSpeed;
-        public String unit;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
-    public void setDefaultMaxPortSpeed(long defaultMaxPortSpeed) {
-        this.defaultMaxPortSpeed = defaultMaxPortSpeed;
-    }
-
-    public void setSpeedUtil(SpeedUtil speedUtil) {
-        this.speedUtil = speedUtil;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
deleted file mode 100644
index fcec72f71..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-public interface MaxServerSpeedDao {
-
-    // Returns max speed in kbps
-    long getMaxServerSpeed(String serverModel, int evcCount);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
deleted file mode 100644
index 9bc18e63d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.openecomp.sdnc.util.speed.SpeedUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class MaxServerSpeedDaoImpl implements MaxServerSpeedDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(MaxServerSpeedDaoImpl.class);
-
-    private final static String GET_SQL =
-            "SELECT * FROM MAX_SERVER_SPEED\n" +
-            "WHERE (server_model = ? OR server_model = 'ALL') AND evc_count >= ?\n" +
-            "ORDER BY evc_count";
-
-    private JdbcTemplate jdbcTemplate;
-    private long defaultMaxServerSpeed = 1600000;
-    private SpeedUtil speedUtil;
-
-    @Override
-    public long getMaxServerSpeed(String serverModel, int evcCount) {
-        List<MaxServerSpeed> maxServerSpeedList =
-                jdbcTemplate.query(GET_SQL, new Object[] { serverModel, evcCount }, new RowMapper<MaxServerSpeed>() {
-
-                    @Override
-                    public MaxServerSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
-                        MaxServerSpeed mps = new MaxServerSpeed();
-                        mps.maxSpeed = rs.getLong("max_speed");
-                        mps.unit = rs.getString("unit");
-                        return mps;
-                    }
-                });
-
-        if (maxServerSpeedList.isEmpty())
-            return defaultMaxServerSpeed;
-
-        MaxServerSpeed mps = maxServerSpeedList.get(0);
-        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
-    }
-
-    private static class MaxServerSpeed {
-
-        public long maxSpeed;
-        public String unit;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
-    public void setDefaultMaxServerSpeed(long defaultMaxServerSpeed) {
-        this.defaultMaxServerSpeed = defaultMaxServerSpeed;
-    }
-
-    public void setSpeedUtil(SpeedUtil speedUtil) {
-        this.speedUtil = speedUtil;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
deleted file mode 100644
index 72de3bdb2..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-public interface ParameterDao {
-
-    String getParameter(String name);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
deleted file mode 100644
index 3f0692dba..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class ParameterDaoImpl implements ParameterDao {
-
-    private static final Logger log = LoggerFactory.getLogger(ParameterDaoImpl.class);
-
-    private final static String GET_SQL = "SELECT * FROM PARAMETERS WHERE name = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public String getParameter(String name) {
-        List<Map<String, Object>> ll = jdbcTemplate.queryForList(GET_SQL, name);
-
-        if (ll == null || ll.isEmpty()) {
-            log.info("Parameter: " + name + " not found in DB");
-            return null;
-        }
-
-        String v = (String) ll.get(0).get("value");
-        log.info("Parameter from DB: " + name + "='" + v + "'");
-
-        return v;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
deleted file mode 100644
index 268c4d634..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.util.List;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-import org.openecomp.sdnc.ra.rule.data.RangeRule;
-
-public interface RangeRuleDao {
-
-    List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
deleted file mode 100644
index bc335aa30..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-import org.openecomp.sdnc.ra.rule.data.RangeRule;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class RangeRuleDaoImpl implements RangeRuleDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
-
-    private static final String GET_SQL =
-            "SELECT * FROM RANGE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel) {
-        List<RangeRule> rangeRuleList =
-                jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, endPointPosition, equipLevel.toString() },
-                        new RowMapper<RangeRule>() {
-
-                            @Override
-                            public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
-                                RangeRule rl = new RangeRule();
-                                rl.id = rs.getLong("range_rule_id");
-                                rl.rangeName = rs.getString("range_name");
-                                rl.serviceModel = rs.getString("service_model");
-                                rl.endPointPosition = rs.getString("end_point_position");
-                                rl.equipmentLevel = rs.getString("equipment_level");
-                                rl.minValue = rs.getInt("min_value");
-                                rl.maxValue = rs.getInt("max_value");
-                                return rl;
-                            }
-                        });
-        return rangeRuleList;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
deleted file mode 100644
index 5cb9f376d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.util.List;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-import org.openecomp.sdnc.ra.rule.data.ResourceRule;
-
-public interface ResourceRuleDao {
-
-    List<ResourceRule> getResourceRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
-
-    ResourceRule getResourceRule(
-            String serviceModel,
-            String endPointPosition,
-            EquipmentLevel equipLevel,
-            String resourceName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
deleted file mode 100644
index be3ac5704..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.openecomp.sdnc.ra.equip.data.EquipmentLevel;
-import org.openecomp.sdnc.ra.rule.data.ResourceRule;
-import org.openecomp.sdnc.ra.rule.data.ResourceThreshold;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class ResourceRuleDaoImpl implements ResourceRuleDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ResourceRuleDaoImpl.class);
-
-    private static final String GET1_SQL =
-            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
-    private static final String GET2_SQL =
-            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ? AND resource_name = ?";
-    private static final String THRESHOLD_SQL = "SELECT * FROM RESOURCE_THRESHOLD WHERE resource_rule_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-    ResourceRuleRowMapper resourceRuleRowMapper = new ResourceRuleRowMapper();
-    ResourceThresholdRowMapper resourceThresholdRowMapper = new ResourceThresholdRowMapper();
-
-    @Override
-    public List<ResourceRule> getResourceRules(
-            String serviceModel,
-            String endPointPosition,
-            EquipmentLevel equipLevel) {
-        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET1_SQL,
-                new Object[] { serviceModel, endPointPosition, equipLevel.toString() }, resourceRuleRowMapper);
-
-        for (ResourceRule rr : resourceRuleList)
-            rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
-
-        return resourceRuleList;
-    }
-
-    @Override
-    public ResourceRule getResourceRule(
-            String serviceModel,
-            String endPointPosition,
-            EquipmentLevel equipLevel,
-            String resourceName) {
-        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET2_SQL,
-                new Object[] { serviceModel, endPointPosition, equipLevel.toString(), resourceName },
-                resourceRuleRowMapper);
-
-        if (resourceRuleList == null || resourceRuleList.isEmpty())
-            return null;
-
-        ResourceRule rr = resourceRuleList.get(0);
-        rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
-
-        return rr;
-    }
-
-    private static class ResourceRuleRowMapper implements RowMapper<ResourceRule> {
-
-        @Override
-        public ResourceRule mapRow(ResultSet rs, int rowNum) throws SQLException {
-            ResourceRule rl = new ResourceRule();
-            rl.id = rs.getLong("resource_rule_id");
-            rl.resourceName = rs.getString("resource_name");
-            rl.serviceModel = rs.getString("service_model");
-            rl.endPointPosition = rs.getString("end_point_position");
-            rl.serviceExpression = rs.getString("service_expression");
-            rl.equipmentLevel = rs.getString("equipment_level");
-            rl.equipmentExpression = rs.getString("equipment_expression");
-            rl.allocationExpression = rs.getString("allocation_expression");
-            rl.softLimitExpression = rs.getString("soft_limit_expression");
-            rl.hardLimitExpression = rs.getString("hard_limit_expression");
-            return rl;
-        }
-    }
-
-    private static class ResourceThresholdRowMapper implements RowMapper<ResourceThreshold> {
-
-        @Override
-        public ResourceThreshold mapRow(ResultSet rs, int rowNum) throws SQLException {
-            ResourceThreshold th = new ResourceThreshold();
-            th.expression = rs.getString("threshold_expression");
-            th.message = rs.getString("threshold_message");
-            return th;
-        }
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
deleted file mode 100644
index d7cb10251..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-public interface VpeLockDao {
-
-    String getVpeLock(String vpeName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
deleted file mode 100644
index fa57dcdd7..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.dao;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class VpeLockDaoImpl implements VpeLockDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(VpeLockDaoImpl.class);
-
-    private final static String GET_SQL = "SELECT vpn_lock FROM VPE_LOCK WHERE vpe_name = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public String getVpeLock(String vpeName) {
-        List<String> ll = jdbcTemplate.queryForList(GET_SQL, String.class, vpeName);
-        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
deleted file mode 100644
index 780c62ad4..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.data;
-
-public class RangeRule {
-
-    public long id;
-    public String rangeName;
-    public String serviceModel;
-    public String endPointPosition;
-    public String equipmentLevel;
-    public int minValue;
-    public int maxValue;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
deleted file mode 100644
index 40b942213..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.data;
-
-import java.util.List;
-
-public class ResourceRule {
-
-    public long id;
-    public String resourceName;
-    public String serviceModel;
-    public String endPointPosition;
-    public String serviceExpression;
-    public String equipmentLevel;
-    public String equipmentExpression;
-    public String allocationExpression;
-    public String softLimitExpression;
-    public String hardLimitExpression;
-    public List<ResourceThreshold> thresholdList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
deleted file mode 100644
index 656c7755c..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.data;
-
-public class ResourceThreshold {
-
-    public String expression;
-    public String message;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
deleted file mode 100644
index 5203a4de0..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.rule.data;
-
-public class ThresholdStatus {
-
-    public ResourceRule resourceRule;
-    public ResourceThreshold resourceThreshold;
-    public long limitValue;
-    public long thresholdValue;
-    public long used;
-    public long lastAdded;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
deleted file mode 100644
index dea147bd7..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.service.dao;
-
-import org.openecomp.sdnc.ra.service.data.ServiceResource;
-import org.openecomp.sdnc.ra.service.data.ServiceStatus;
-
-public interface ServiceResourceDao {
-
-    ServiceResource getServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
-
-    void addServiceResource(ServiceResource serviceResource);
-
-    void updateServiceResource(ServiceResource serviceResource);
-
-    void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
-
-    void updateServiceStatus(String serviceInstanceId, ServiceStatus serviceStatus, ServiceStatus newServiceStatus);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
deleted file mode 100644
index 903dc825c..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.service.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.openecomp.sdnc.ra.service.data.ServiceResource;
-import org.openecomp.sdnc.ra.service.data.ServiceStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class ServiceResourceDaoImpl implements ServiceResourceDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ServiceResourceDaoImpl.class);
-
-    private static final String GET_SQL =
-            "SELECT * FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
-
-    private static final String ADD_SQL = "INSERT INTO SERVICE_RESOURCE (\n"
-            + "  service_instance_id, service_status, service_change_number, resource_set_id, resource_union_id)\n"
-            + "VALUES (?, ?, ?, ?, ?)";
-
-    private static final String UPDATE_SQL =
-            "UPDATE SERVICE_RESOURCE SET service_change_number = ?, resource_set_id = ?\n"
-                    + "WHERE service_instance_id = ? AND service_status = ?";
-
-    private static final String DELETE_SQL =
-            "DELETE FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
-
-    private static final String UPDATE_STATUS_SQL =
-            "UPDATE SERVICE_RESOURCE SET service_status = ? WHERE service_instance_id = ? AND service_status = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public ServiceResource getServiceResource(final String serviceInstanceId, final ServiceStatus serviceStatus) {
-        List<ServiceResource> serviceResourceList =
-                jdbcTemplate.query(GET_SQL, new Object[] { serviceInstanceId, serviceStatus.toString() },
-                        new RowMapper<ServiceResource>() {
-
-                            @Override
-                            public ServiceResource mapRow(ResultSet rs, int rowNum) throws SQLException {
-                                ServiceResource sr = new ServiceResource();
-                                sr.id = rs.getLong("service_resource_id");
-                                sr.serviceInstanceId = serviceInstanceId;
-                                sr.serviceStatus = serviceStatus;
-                                sr.serviceChangeNumber = rs.getInt("service_change_number");
-                                sr.resourceSetId = rs.getString("resource_set_id");
-                                sr.resourceUnionId = rs.getString("resource_union_id");
-                                return sr;
-                            }
-                        });
-        if (serviceResourceList.isEmpty())
-            return null;
-        return serviceResourceList.get(0);
-    }
-
-    @Override
-    public void addServiceResource(ServiceResource serviceResource) {
-        jdbcTemplate.update(ADD_SQL, serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString(),
-                serviceResource.serviceChangeNumber, serviceResource.resourceSetId, serviceResource.resourceUnionId);
-    }
-
-    @Override
-    public void updateServiceResource(ServiceResource serviceResource) {
-        jdbcTemplate.update(UPDATE_SQL, serviceResource.serviceChangeNumber, serviceResource.resourceSetId,
-                serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString());
-    }
-
-    @Override
-    public void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus) {
-        jdbcTemplate.update(DELETE_SQL, serviceInstanceId, serviceStatus.toString());
-    }
-
-    @Override
-    public void updateServiceStatus(
-            String serviceInstanceId,
-            ServiceStatus serviceStatus,
-            ServiceStatus newServiceStatus) {
-        jdbcTemplate.update(UPDATE_STATUS_SQL, newServiceStatus.toString(), serviceInstanceId, serviceStatus.toString());
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
deleted file mode 100644
index 45021ac27..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.service.data;
-
-public class ServiceResource {
-
-    public long id;
-    public String serviceInstanceId;
-    public ServiceStatus serviceStatus;
-    public int serviceChangeNumber;
-    public String resourceSetId;
-    public String resourceUnionId;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
deleted file mode 100644
index adac5207f..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.ra.service.data;
-
-public enum ServiceStatus {
-
-    Active, Pending
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
deleted file mode 100644
index 9aac5542a..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.comp;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.openecomp.sdnc.lock.comp.LockHelper;
-import org.openecomp.sdnc.lock.comp.ResourceLockedException;
-import org.openecomp.sdnc.lock.comp.SynchronizedFunction;
-import org.openecomp.sdnc.rm.dao.ResourceDao;
-import org.openecomp.sdnc.rm.data.AllocationOutcome;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.AllocationStatus;
-import org.openecomp.sdnc.rm.data.LabelAllocationOutcome;
-import org.openecomp.sdnc.rm.data.LabelAllocationRequest;
-import org.openecomp.sdnc.rm.data.LabelResource;
-import org.openecomp.sdnc.rm.data.LimitAllocationOutcome;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.MultiAssetAllocationOutcome;
-import org.openecomp.sdnc.rm.data.MultiAssetAllocationRequest;
-import org.openecomp.sdnc.rm.data.MultiResourceAllocationOutcome;
-import org.openecomp.sdnc.rm.data.MultiResourceAllocationRequest;
-import org.openecomp.sdnc.rm.data.RangeAllocationOutcome;
-import org.openecomp.sdnc.rm.data.RangeAllocationRequest;
-import org.openecomp.sdnc.rm.data.RangeResource;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.rm.data.ResourceKey;
-import org.openecomp.sdnc.rm.data.ResourceType;
-import org.openecomp.sdnc.rm.util.LabelUtil;
-import org.openecomp.sdnc.rm.util.LimitUtil;
-import org.openecomp.sdnc.rm.util.RangeUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class AllocationFunction extends SynchronizedFunction {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(AllocationFunction.class);
-
-    private ResourceDao resourceDao;
-
-    private String applicationId;
-    private AllocationRequest request;
-    private AllocationOutcome outcome;
-
-    private List<Resource> updateList = new ArrayList<Resource>();
-
-    public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, String applicationId,
-            AllocationRequest request, int lockTimeout) {
-        super(lockHelper, getLockNames(request), lockTimeout);
-        this.applicationId = applicationId;
-        this.resourceDao = resourceDao;
-        this.request = request;
-    }
-
-    private static Collection<String> getLockNames(AllocationRequest request) {
-        Set<String> lockResourceNames = new HashSet<String>();
-        addLockNames(lockResourceNames, request);
-        return lockResourceNames;
-    }
-
-    private static void addLockNames(Set<String> lockResourceNames, AllocationRequest request) {
-        if (request instanceof MultiAssetAllocationRequest) {
-            MultiAssetAllocationRequest req = (MultiAssetAllocationRequest) request;
-            if (req.assetIdList != null)
-                lockResourceNames.addAll(req.assetIdList);
-        } else if (request instanceof MultiResourceAllocationRequest) {
-            MultiResourceAllocationRequest req = (MultiResourceAllocationRequest) request;
-            if (req.allocationRequestList != null)
-                for (AllocationRequest request1 : req.allocationRequestList)
-                    addLockNames(lockResourceNames, request1);
-        } else if (request.assetId != null)
-            lockResourceNames.add(request.assetId);
-    }
-
-    @Override
-    public void _exec() throws ResourceLockedException {
-        outcome = allocate(request);
-        if (outcome.status == AllocationStatus.Success)
-            for (Resource r : updateList)
-                resourceDao.saveResource(r);
-    }
-
-    private AllocationOutcome allocate(AllocationRequest allocationRequest) throws ResourceLockedException {
-        if (allocationRequest instanceof MultiAssetAllocationRequest)
-            return allocateMultiAsset((MultiAssetAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof MultiResourceAllocationRequest)
-            return allocateMultiResource((MultiResourceAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof LimitAllocationRequest)
-            return allocateLimit((LimitAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof LabelAllocationRequest)
-            return allocateLabel((LabelAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof RangeAllocationRequest)
-            return allocateRange((RangeAllocationRequest) allocationRequest);
-        return null;
-    }
-
-    private MultiAssetAllocationOutcome allocateMultiAsset(MultiAssetAllocationRequest req) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    private MultiResourceAllocationOutcome allocateMultiResource(MultiResourceAllocationRequest req) {
-        MultiResourceAllocationOutcome out = new MultiResourceAllocationOutcome();
-        out.request = req;
-        out.allocationOutcomeList = new ArrayList<AllocationOutcome>();
-        out.status = AllocationStatus.Success;
-
-        if (req.allocationRequestList != null)
-            for (AllocationRequest req1 : req.allocationRequestList) {
-                AllocationOutcome out1 = allocate(req1);
-                out.allocationOutcomeList.add(out1);
-                if (out1.status != AllocationStatus.Success)
-                    out.status = AllocationStatus.Failure;
-            }
-
-        return out;
-    }
-
-    private LimitAllocationOutcome allocateLimit(LimitAllocationRequest req) {
-        LimitAllocationOutcome out = new LimitAllocationOutcome();
-        out.request = req;
-
-        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
-        if (r == null) {
-            r = new LimitResource();
-            r.resourceKey = new ResourceKey();
-            r.resourceKey.assetId = req.assetId;
-            r.resourceKey.resourceName = req.resourceName;
-            r.resourceType = ResourceType.Limit;
-        } else {
-            if (r.resourceType != ResourceType.Limit) {
-                out.status = AllocationStatus.ResourceNotFound;
-                return out;
-            }
-            LimitUtil.recalculate((LimitResource) r);
-        }
-
-        LimitResource l = (LimitResource) r;
-        if (LimitUtil.checkLimit(l, req)) {
-            out.status = AllocationStatus.Success;
-            if (req.allocateCount > 0) {
-                out.allocatedCount = LimitUtil.allocateLimit(l, req, applicationId);
-                updateList.add(l);
-            }
-        } else
-            out.status = AllocationStatus.Failure;
-
-        out.used = l.used;
-        out.limit = req.checkLimit;
-
-        return out;
-    }
-
-    private LabelAllocationOutcome allocateLabel(LabelAllocationRequest req) {
-        LabelAllocationOutcome out = new LabelAllocationOutcome();
-
-        out.request = req;
-
-        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
-        if (r == null) {
-            r = new LabelResource();
-            r.resourceKey = new ResourceKey();
-            r.resourceKey.assetId = req.assetId;
-            r.resourceKey.resourceName = req.resourceName;
-            r.resourceType = ResourceType.Label;
-        } else {
-            if (r.resourceType != ResourceType.Label) {
-                out.status = AllocationStatus.ResourceNotFound;
-                return out;
-            }
-            LabelUtil.recalculate((LabelResource) r);
-        }
-
-        LabelResource l = (LabelResource) r;
-        if (LabelUtil.checkLabel(l, req)) {
-            out.status = AllocationStatus.Success;
-            out.currentLabel = l.label;
-            if (req.allocate) {
-                out.allocatedLabel = LabelUtil.allocateLabel(l, req, applicationId);
-                updateList.add(l);
-            }
-        } else
-            out.status = AllocationStatus.Failure;
-
-        return out;
-    }
-
-    private RangeAllocationOutcome allocateRange(RangeAllocationRequest req) {
-        RangeAllocationOutcome out = new RangeAllocationOutcome();
-
-        out.request = req;
-
-        Resource r = resourceDao.getResource(req.assetId, req.resourceName);
-        if (r == null) {
-            r = new RangeResource();
-            r.resourceKey = new ResourceKey();
-            r.resourceKey.assetId = req.assetId;
-            r.resourceKey.resourceName = req.resourceName;
-            r.resourceType = ResourceType.Range;
-        } else {
-            if (r.resourceType != ResourceType.Range) {
-                out.status = AllocationStatus.ResourceNotFound;
-                return out;
-            }
-            RangeUtil.recalculate((RangeResource) r);
-        }
-
-        RangeResource rr = (RangeResource) r;
-        SortedSet<Integer> foundNumbers = null;
-        if (!req.check) {
-            out.status = AllocationStatus.Success;
-            foundNumbers = req.requestedNumbers;
-        } else {
-            if (req.requestedNumbers != null && req.requestedNumbers.size() > 0) {
-                foundNumbers = req.requestedNumbers;
-                out.status = AllocationStatus.Success;
-                for (int n : foundNumbers)
-                    if (!RangeUtil.checkRange(rr, req, n)) {
-                        out.status = AllocationStatus.Failure;
-                        break;
-                    }
-            } else {
-                foundNumbers = new TreeSet<Integer>();
-                int foundCount = 0;
-
-                // First try to reuse the numbers already taken by the same resource union
-                SortedSet<Integer> uu = RangeUtil.getUsed(rr, req.resourceUnionId);
-                if (uu != null && !uu.isEmpty()) {
-                    if (uu.size() >= req.requestedCount) {
-                        // Just take the first req.requestedCount numbers from uu
-                        Iterator<Integer> i = uu.iterator();
-                        while (foundCount < req.requestedCount) {
-                            foundNumbers.add(i.next());
-                            foundCount++;
-                        }
-                    } else {
-                        // Additional numbers are requested. Try to find them starting from
-                        // the minimum we have in uu (the first element) towards the min
-                        // parameter, and then starting from the maximum in uu (the last
-                        // element) towards the max parameter.
-                        // NOTE: In case of request for sequential numbers, the parameters
-                        // alignBlockSize and alignModulus are ignored. It would be harder
-                        // to take them into account, and currently it is not needed.
-
-                        int uumin = uu.first() - 1;
-                        int uumax = uu.last() + 1;
-                        foundNumbers.addAll(uu);
-                        foundCount = uu.size();
-                        for (int n = uumin; foundCount < req.requestedCount && n >= req.checkMin; n--) {
-                            if (RangeUtil.checkRange(rr, req, n)) {
-                                foundNumbers.add(n);
-                                foundCount++;
-                            } else if (req.sequential)
-                                break;
-                        }
-                        for (int n = uumax; foundCount < req.requestedCount && n <= req.checkMax; n++) {
-                            if (RangeUtil.checkRange(rr, req, n)) {
-                                foundNumbers.add(n);
-                                foundCount++;
-                            } else if (req.sequential)
-                                break;
-                        }
-
-                        // If we could not find enough numbers trying to reuse currently
-                        // allocated, reset foundNumbers and foundCount, continue with
-                        // the normal allocation of new numbers.
-                        if (foundCount < req.requestedCount) {
-                            foundNumbers = new TreeSet<Integer>();
-                            foundCount = 0;
-                        }
-                    }
-                }
-
-                for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++)
-                    if (RangeUtil.checkRange(rr, req, n)) {
-                        foundNumbers.add(n);
-                        foundCount++;
-                    } else if (req.sequential)
-                        foundCount = 0;
-
-                out.status = foundCount == req.requestedCount ? AllocationStatus.Success : AllocationStatus.Failure;
-            }
-        }
-
-        if (out.status == AllocationStatus.Success) {
-            out.allocated = foundNumbers;
-            if (req.allocate) {
-                RangeUtil.allocateRange(rr, out.allocated, req, applicationId);
-                updateList.add(rr);
-            }
-        } else
-            out.allocated = new TreeSet<Integer>();
-
-        out.used = rr.used;
-
-        return out;
-    }
-
-    public AllocationOutcome getAllocationOutcome() {
-        return outcome;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
deleted file mode 100644
index ab6ee3686..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.comp;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.openecomp.sdnc.lock.comp.LockHelper;
-import org.openecomp.sdnc.lock.comp.ResourceLockedException;
-import org.openecomp.sdnc.lock.comp.SynchronizedFunction;
-import org.openecomp.sdnc.rm.dao.ResourceDao;
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.rm.util.ResourceUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class ReleaseFunction extends SynchronizedFunction {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ReleaseFunction.class);
-
-    private ResourceDao resourceDao;
-
-    private String resourceSetId, resourceUnionId;
-
-    public ReleaseFunction(LockHelper lockHelper, ResourceDao resourceDao, String resourceSetId,
-            String resourceUnionId, Collection<String> lockNames, int lockTimeout) {
-        super(lockHelper, lockNames, lockTimeout);
-        this.resourceDao = resourceDao;
-        this.resourceSetId = resourceSetId;
-        this.resourceUnionId = resourceUnionId;
-    }
-
-    @Override
-    public void _exec() throws ResourceLockedException {
-        List<Resource> resourceList =
-                resourceSetId != null
-                        ? resourceDao.getResourceSet(resourceSetId) : resourceDao.getResourceUnion(resourceUnionId);
-        for (Resource r : resourceList) {
-            boolean updated = false;
-            if (r.allocationItems != null) {
-                Iterator<AllocationItem> i = r.allocationItems.iterator();
-                while (i.hasNext()) {
-                    AllocationItem ai = i.next();
-                    if (resourceSetId != null) {
-                        if (resourceSetId.equals(ai.resourceSetId)) {
-                            i.remove();
-                            updated = true;
-                        }
-
-                    } else if (resourceUnionId != null) {
-
-                        if (resourceUnionId.equals(ai.resourceUnionId)) {
-                            i.remove();
-                            updated = true;
-                        }
-
-                    }
-                }
-            }
-            if (updated) {
-                ResourceUtil.recalculate(r);
-                resourceDao.saveResource(r);
-            }
-        }
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
deleted file mode 100644
index d1f567ff0..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.comp;
-
-import java.util.Collection;
-
-import org.openecomp.sdnc.rm.data.Resource;
-
-public interface ResourceLoader {
-
-    void loadResource(String applicationId, Resource resource, boolean force);
-
-    void loadResources(String applicationId, Collection<Resource> resourceList, boolean force);
-
-    void loadResourcesForAsset(String applicationId, String assetId, Collection<Resource> resourceList, boolean force);
-
-    void deleteResource(String applicationId, String assetId, String resourceName);
-
-    void deleteResourcesForAsset(String applicationId, String assetId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
deleted file mode 100644
index 3f751cb7e..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.comp;
-
-import java.util.List;
-
-import org.openecomp.sdnc.rm.data.AllocationOutcome;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.Resource;
-
-public interface ResourceManager {
-
-    Resource getResource(String resourceName, String assetId);
-
-    List<Resource> getResourceUnion(String resourceUnionId);
-
-    AllocationOutcome allocateResources(AllocationRequest allocationRequest);
-
-    void releaseResourceSet(String resourceSetId);
-
-    void releaseResourceUnion(String resourceUnionId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
deleted file mode 100644
index 17c994144..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.comp;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.openecomp.sdnc.lock.comp.LockHelper;
-import org.openecomp.sdnc.rm.dao.ResourceDao;
-import org.openecomp.sdnc.rm.data.AllocationOutcome;
-import org.openecomp.sdnc.rm.data.AllocationRequest;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.rm.util.ResourceUtil;
-import org.openecomp.sdnc.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResourceManagerImpl implements ResourceManager {
-
-    private static final Logger log = LoggerFactory.getLogger(ResourceManagerImpl.class);
-
-    private LockHelper lockHelper;
-    private ResourceDao resourceDao;
-
-    private String applicationId;
-    private int lockTimeout = 10 * 60; // Default 10 min
-
-    public ResourceManagerImpl() {
-        log.info("ResourceManager created.");
-    }
-
-    @Override
-    public Resource getResource(String resourceName, String assetId) {
-        Resource r = resourceDao.getResource(assetId, resourceName);
-        ResourceUtil.recalculate(r);
-        return r;
-    }
-
-    @Override
-    public List<Resource> getResourceUnion(String resourceUnionId) {
-        List<Resource> rlist = resourceDao.getResourceUnion(resourceUnionId);
-        for (Resource r : rlist)
-            ResourceUtil.recalculate(r);
-        return rlist;
-    }
-
-    @Override
-    public AllocationOutcome allocateResources(AllocationRequest allocationRequest) {
-        if (allocationRequest == null)
-            throw new IllegalArgumentException("allocateResources called with null argument");
-
-        AllocationFunction allocationFunction =
-                new AllocationFunction(lockHelper, resourceDao, applicationId, allocationRequest, lockTimeout);
-        allocationFunction.exec();
-        AllocationOutcome allocationOutcome = allocationFunction.getAllocationOutcome();
-
-        StrUtil.info(log, allocationOutcome);
-
-        return allocationOutcome;
-    }
-
-    @Override
-    public void releaseResourceSet(String resourceSetId) {
-        List<Resource> resourceList = resourceDao.getResourceSet(resourceSetId);
-        if (resourceList == null || resourceList.isEmpty())
-            return;
-
-        Set<String> lockNames = getLockNames(resourceList);
-        ReleaseFunction releaseFunction =
-                new ReleaseFunction(lockHelper, resourceDao, resourceSetId, null, lockNames, lockTimeout);
-        releaseFunction.exec();
-    }
-
-    @Override
-    public void releaseResourceUnion(String resourceUnionId) {
-        List<Resource> resourceList = resourceDao.getResourceUnion(resourceUnionId);
-        if (resourceList == null || resourceList.isEmpty())
-            return;
-
-        Set<String> lockNames = getLockNames(resourceList);
-        ReleaseFunction releaseFunction =
-                new ReleaseFunction(lockHelper, resourceDao, null, resourceUnionId, lockNames, lockTimeout);
-        releaseFunction.exec();
-    }
-
-    private Set<String> getLockNames(List<Resource> resourceList) {
-        Set<String> lockNames = new HashSet<String>();
-        for (Resource r : resourceList)
-            lockNames.add(r.resourceKey.assetId);
-        return lockNames;
-    }
-
-    public void setResourceDao(ResourceDao resourceDao) {
-        this.resourceDao = resourceDao;
-    }
-
-    public void setLockTimeout(int lockTimeout) {
-        this.lockTimeout = lockTimeout;
-    }
-
-    public void setApplicationId(String applicationId) {
-        this.applicationId = applicationId;
-    }
-
-    public void setLockHelper(LockHelper lockHelper) {
-        this.lockHelper = lockHelper;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
deleted file mode 100644
index e02b40418..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao;
-
-import java.util.List;
-
-import org.openecomp.sdnc.rm.data.Resource;
-
-public interface ResourceDao {
-
-    Resource getResource(String assetId, String resourceName);
-
-    void saveResource(Resource resource);
-
-    void deleteResource(String assetId, String resourceName);
-
-    List<Resource> getResourceSet(String resourceSetId);
-
-    List<Resource> getResourceUnion(String resourceUnionId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
deleted file mode 100644
index 2b576ba8b..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.util.Date;
-
-public class AllocationItem {
-
-    public long id;
-    public long resourceId;
-    public String applicationId;
-    public String resourceSetId, resourceUnionId;
-    public String resourceShareGroupList;
-    public long ltUsed;
-    public String llLabel;
-    public String rrUsed;
-    public Date allocationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
deleted file mode 100644
index 0cf97d6aa..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.util.List;
-
-public interface AllocationItemJdbcDao {
-
-    void add(AllocationItem ai);
-
-    List<AllocationItem> getAllocationItems(long resourceId);
-
-    void update(AllocationItem ai);
-
-    void delete(long id);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
deleted file mode 100644
index 38e4f1787..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.Collections;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.PreparedStatementCreator;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.jdbc.support.GeneratedKeyHolder;
-import org.springframework.jdbc.support.KeyHolder;
-
-public class AllocationItemJdbcDaoImpl implements AllocationItemJdbcDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
-    private static final String INSERT_SQL = "INSERT INTO ALLOCATION_ITEM (\n"
-            + "  resource_id, application_id, resource_set_id, resource_union_id, resource_share_group_list,\n"
-            + "  lt_used, ll_label, rr_used, allocation_time)\nVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
-
-    private static final String UPDATE_SQL = "UPDATE ALLOCATION_ITEM SET\n"
-            + "  resource_share_group_list = ?, lt_used = ?, ll_label = ?, rr_used = ?, allocation_time = ?\n"
-            + "WHERE allocation_item_id = ?";
-
-    private static final String DELETE_SQL = "DELETE FROM ALLOCATION_ITEM WHERE allocation_item_id = ?";
-
-    private static final String GET_SQL = "SELECT * FROM ALLOCATION_ITEM WHERE resource_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-    private AllocationItemRowMapper allocationItemRowMapper = new AllocationItemRowMapper();
-
-    @Override
-    public void add(final AllocationItem ai) {
-        PreparedStatementCreator psc = new PreparedStatementCreator() {
-
-            @Override
-            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
-                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "allocation_item_id" });
-                ps.setLong(1, ai.resourceId);
-                ps.setString(2, ai.applicationId);
-                ps.setString(3, ai.resourceSetId);
-                ps.setString(4, ai.resourceUnionId);
-                ps.setString(5, ai.resourceShareGroupList);
-                ps.setLong(6, ai.ltUsed);
-                ps.setString(7, ai.llLabel);
-                ps.setString(8, ai.rrUsed);
-                ps.setTimestamp(9, new Timestamp(ai.allocationTime.getTime()));
-                return ps;
-            }
-        };
-        KeyHolder keyHolder = new GeneratedKeyHolder();
-        jdbcTemplate.update(psc, keyHolder);
-        ai.id = keyHolder.getKey().longValue();
-    }
-
-    @Override
-    public void update(AllocationItem ai) {
-        Long ltUsed = ai.ltUsed <= 0 ? null : ai.ltUsed;
-        jdbcTemplate.update(UPDATE_SQL, ai.resourceShareGroupList, ltUsed, ai.llLabel, ai.rrUsed, ai.allocationTime,
-                ai.id);
-    }
-
-    @Override
-    public void delete(long id) {
-        jdbcTemplate.update(DELETE_SQL, id);
-    }
-
-    @Override
-    public List<AllocationItem> getAllocationItems(long resourceId) {
-        if (resourceId <= 0)
-            return Collections.emptyList();
-
-        return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, allocationItemRowMapper);
-    }
-
-    private static class AllocationItemRowMapper implements RowMapper<AllocationItem> {
-
-        @Override
-        public AllocationItem mapRow(ResultSet rs, int n) throws SQLException {
-            AllocationItem ai = new AllocationItem();
-            ai.id = rs.getLong("allocation_item_id");
-            ai.resourceId = rs.getLong("resource_id");
-            ai.applicationId = rs.getString("application_id");
-            ai.resourceSetId = rs.getString("resource_set_id");
-            ai.resourceUnionId = rs.getString("resource_union_id");
-            ai.resourceShareGroupList = rs.getString("resource_share_group_list");
-            ai.ltUsed = rs.getLong("lt_used");
-            ai.llLabel = rs.getString("ll_label");
-            ai.rrUsed = rs.getString("rr_used");
-            ai.allocationTime = rs.getTimestamp("allocation_time");
-            return ai;
-        }
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
deleted file mode 100644
index d91daae99..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-public class Resource {
-
-    public long id;
-    public String assetId, name, type;
-    public long ltUsed;
-    public String llLabel;
-    public int llReferenceCount;
-    public String rrUsed;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
deleted file mode 100644
index 0838c35d2..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-import org.openecomp.sdnc.rm.dao.ResourceDao;
-import org.openecomp.sdnc.rm.data.LabelAllocationItem;
-import org.openecomp.sdnc.rm.data.LabelResource;
-import org.openecomp.sdnc.rm.data.LimitAllocationItem;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.RangeAllocationItem;
-import org.openecomp.sdnc.rm.data.RangeResource;
-import org.openecomp.sdnc.rm.data.ResourceKey;
-import org.openecomp.sdnc.rm.data.ResourceType;
-import org.openecomp.sdnc.util.str.StrUtil;
-
-public class ResourceDaoImpl implements ResourceDao {
-
-    private ResourceJdbcDao resourceJdbcDao;
-    private ResourceLoadJdbcDao resourceLoadJdbcDao;
-    private AllocationItemJdbcDao allocationItemJdbcDao;
-
-    @Override
-    public org.openecomp.sdnc.rm.data.Resource getResource(String assetId, String resourceName) {
-        Resource rEntity = resourceJdbcDao.getResource(assetId, resourceName);
-        org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
-
-        if (r != null) {
-            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
-            r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
-            for (AllocationItem aiEntity : aiEntityList) {
-                org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
-                r.allocationItems.add(ai);
-            }
-
-            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
-            r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
-            for (ResourceLoad rlEntity : rlEntityList) {
-                org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
-                r.resourceLoadList.add(rl);
-            }
-        }
-
-        return r;
-    }
-
-    @Override
-    public void saveResource(org.openecomp.sdnc.rm.data.Resource resource) {
-        if (resource == null)
-            return;
-
-        org.openecomp.sdnc.rm.dao.jdbc.Resource resourceEntity =
-                resourceJdbcDao.getResource(resource.resourceKey.assetId, resource.resourceKey.resourceName);
-        if (resourceEntity == null) {
-            resourceEntity = createResourceEntity(resource);
-            resourceJdbcDao.add(resourceEntity);
-            if (resource.allocationItems != null)
-                for (org.openecomp.sdnc.rm.data.AllocationItem ai : resource.allocationItems) {
-                    AllocationItem aiEntity = createAllocationItemEntity(resourceEntity.id, ai);
-                    allocationItemJdbcDao.add(aiEntity);
-                }
-            if (resource.resourceLoadList != null)
-                for (org.openecomp.sdnc.rm.data.ResourceLoad rl : resource.resourceLoadList) {
-                    ResourceLoad rlEntity = createResourceLoadEntity(resourceEntity.id, rl);
-                    resourceLoadJdbcDao.add(rlEntity);
-                }
-        } else {
-            updateResourceEntity(resourceEntity, resource);
-            resourceJdbcDao.update(resourceEntity);
-
-            List<AllocationItem> oldAiEntityList = allocationItemJdbcDao.getAllocationItems(resourceEntity.id);
-            if (resource.allocationItems != null)
-                for (org.openecomp.sdnc.rm.data.AllocationItem newai : resource.allocationItems) {
-                    AllocationItem foundAiEntity = null;
-                    for (AllocationItem oldAiEntity : oldAiEntityList)
-                        if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
-                            foundAiEntity = oldAiEntity;
-                            break;
-                        }
-                    if (foundAiEntity != null) {
-                        updateAllocationItemEntity(foundAiEntity, newai);
-                        allocationItemJdbcDao.update(foundAiEntity);
-                    } else {
-                        AllocationItem newAiEntity = createAllocationItemEntity(resourceEntity.id, newai);
-                        allocationItemJdbcDao.add(newAiEntity);
-                    }
-                }
-            for (AllocationItem oldAiEntity : oldAiEntityList) {
-                boolean found = false;
-                if (resource.allocationItems != null)
-                    for (org.openecomp.sdnc.rm.data.AllocationItem newai : resource.allocationItems)
-                        if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
-                            found = true;
-                            break;
-                        }
-                if (!found)
-                    allocationItemJdbcDao.delete(oldAiEntity.id);
-            }
-
-            List<ResourceLoad> oldRlEntityList = resourceLoadJdbcDao.getResourceLoads(resourceEntity.id);
-            if (resource.resourceLoadList != null)
-                for (org.openecomp.sdnc.rm.data.ResourceLoad newrl : resource.resourceLoadList) {
-                    ResourceLoad foundRlEntity = null;
-                    for (ResourceLoad oldRlEntity : oldRlEntityList)
-                        if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
-                            foundRlEntity = oldRlEntity;
-                            break;
-                        }
-                    if (foundRlEntity != null) {
-                        updateResourceLoadEntity(foundRlEntity, newrl);
-                        resourceLoadJdbcDao.update(foundRlEntity);
-                    } else {
-                        ResourceLoad newRlEntity = createResourceLoadEntity(resourceEntity.id, newrl);
-                        resourceLoadJdbcDao.add(newRlEntity);
-                    }
-                }
-            for (ResourceLoad oldRlEntity : oldRlEntityList) {
-                boolean found = false;
-                if (resource.resourceLoadList != null)
-                    for (org.openecomp.sdnc.rm.data.ResourceLoad newrl : resource.resourceLoadList)
-                        if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
-                            found = true;
-                            break;
-                        }
-                if (!found)
-                    resourceLoadJdbcDao.delete(oldRlEntity.id);
-            }
-        }
-    }
-
-    @Override
-    public void deleteResource(String assetId, String resourceName) {
-        org.openecomp.sdnc.rm.dao.jdbc.Resource resourceEntity = resourceJdbcDao.getResource(assetId, resourceName);
-        if (resourceEntity != null)
-            resourceJdbcDao.delete(resourceEntity.id);
-    }
-
-    @Override
-    public List<org.openecomp.sdnc.rm.data.Resource> getResourceSet(String resourceSetId) {
-        List<Resource> rEntityList = resourceJdbcDao.getResourceSet(resourceSetId);
-        List<org.openecomp.sdnc.rm.data.Resource> rlist = new ArrayList<org.openecomp.sdnc.rm.data.Resource>();
-        for (Resource rEntity : rEntityList) {
-            org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
-            rlist.add(r);
-
-            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
-            r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
-            for (AllocationItem aiEntity : aiEntityList) {
-                org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
-                r.allocationItems.add(ai);
-            }
-
-            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
-            r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
-            for (ResourceLoad rlEntity : rlEntityList) {
-                org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
-                r.resourceLoadList.add(rl);
-            }
-        }
-        return rlist;
-    }
-
-    @Override
-    public List<org.openecomp.sdnc.rm.data.Resource> getResourceUnion(String resourceUnionId) {
-        List<Resource> rEntityList = resourceJdbcDao.getResourceUnion(resourceUnionId);
-        List<org.openecomp.sdnc.rm.data.Resource> rlist = new ArrayList<org.openecomp.sdnc.rm.data.Resource>();
-        for (Resource rEntity : rEntityList) {
-            org.openecomp.sdnc.rm.data.Resource r = createResource(rEntity);
-            rlist.add(r);
-
-            List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
-            r.allocationItems = new ArrayList<org.openecomp.sdnc.rm.data.AllocationItem>();
-            for (AllocationItem aiEntity : aiEntityList) {
-                org.openecomp.sdnc.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
-                r.allocationItems.add(ai);
-            }
-
-            List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
-            r.resourceLoadList = new ArrayList<org.openecomp.sdnc.rm.data.ResourceLoad>();
-            for (ResourceLoad rlEntity : rlEntityList) {
-                org.openecomp.sdnc.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
-                r.resourceLoadList.add(rl);
-            }
-        }
-        return rlist;
-    }
-
-    private Resource createResourceEntity(org.openecomp.sdnc.rm.data.Resource resource) {
-        Resource resourceEntity = new Resource();
-        resourceEntity.assetId = resource.resourceKey.assetId;
-        resourceEntity.name = resource.resourceKey.resourceName;
-        resourceEntity.type = resource.resourceType.toString();
-        if (resource.resourceType == ResourceType.Limit)
-            resourceEntity.ltUsed = ((LimitResource) resource).used;
-        else if (resource.resourceType == ResourceType.Label) {
-            resourceEntity.llLabel = ((LabelResource) resource).label;
-            resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
-        } else if (resource.resourceType == ResourceType.Range)
-            resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
-
-        return resourceEntity;
-    }
-
-    private ResourceLoad createResourceLoadEntity(long resourceId, org.openecomp.sdnc.rm.data.ResourceLoad rl) {
-        ResourceLoad rlEntity = new ResourceLoad();
-        rlEntity.resourceId = resourceId;
-        rlEntity.applicationId = rl.applicationId;
-        rlEntity.loadTime = rl.resourceLoadTime;
-        rlEntity.expirationTime = rl.resourceExpirationTime;
-        return rlEntity;
-    }
-
-    private void updateResourceLoadEntity(ResourceLoad rlEntity, org.openecomp.sdnc.rm.data.ResourceLoad rl) {
-        rlEntity.loadTime = rl.resourceLoadTime;
-        rlEntity.expirationTime = rl.resourceExpirationTime;
-    }
-
-    private AllocationItem createAllocationItemEntity(long resourceId, org.openecomp.sdnc.rm.data.AllocationItem ai) {
-        AllocationItem aiEntity = new AllocationItem();
-        aiEntity.resourceId = resourceId;
-        aiEntity.resourceSetId = ai.resourceSetId;
-        aiEntity.resourceUnionId = ai.resourceUnionId;
-        aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
-        aiEntity.applicationId = ai.applicationId;
-        aiEntity.allocationTime = ai.allocationTime;
-        if (ai.resourceType == ResourceType.Limit)
-            aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
-        else if (ai.resourceType == ResourceType.Label)
-            aiEntity.llLabel = ((LabelAllocationItem) ai).label;
-        else if (ai.resourceType == ResourceType.Range)
-            aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
-        return aiEntity;
-    }
-
-    private void updateAllocationItemEntity(AllocationItem aiEntity, org.openecomp.sdnc.rm.data.AllocationItem ai) {
-        aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
-        aiEntity.allocationTime = ai.allocationTime;
-        if (ai.resourceType == ResourceType.Limit)
-            aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
-        else if (ai.resourceType == ResourceType.Label)
-            aiEntity.llLabel = ((LabelAllocationItem) ai).label;
-        else if (ai.resourceType == ResourceType.Range)
-            aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
-    }
-
-    private void updateResourceEntity(Resource resourceEntity, org.openecomp.sdnc.rm.data.Resource resource) {
-        if (resource.resourceType == ResourceType.Limit)
-            resourceEntity.ltUsed = ((LimitResource) resource).used;
-        else if (resource.resourceType == ResourceType.Label) {
-            resourceEntity.llLabel = ((LabelResource) resource).label;
-            resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
-        } else if (resource.resourceType == ResourceType.Range)
-            resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
-    }
-
-    private org.openecomp.sdnc.rm.data.Resource createResource(Resource resourceEntity) {
-        if (resourceEntity == null)
-            return null;
-
-        org.openecomp.sdnc.rm.data.Resource r = null;
-        ResourceType type = ResourceType.valueOf(resourceEntity.type);
-        if (type == ResourceType.Limit) {
-            LimitResource l = new LimitResource();
-            l.used = resourceEntity.ltUsed;
-            r = l;
-        } else if (type == ResourceType.Label) {
-            LabelResource l = new LabelResource();
-            l.label = resourceEntity.llLabel;
-            l.referenceCount = resourceEntity.llReferenceCount;
-            r = l;
-        } else if (type == ResourceType.Range) {
-            RangeResource rr = new RangeResource();
-            rr.used =
-                    StrUtil.listInt(resourceEntity.rrUsed, "Invalid data found in DB in for Resource Id: " +
-                            resourceEntity.id + ": RESOURCE.RR_USED: " + resourceEntity.rrUsed);
-            r = rr;
-        }
-
-        r.resourceType = type;
-        r.resourceKey = new ResourceKey();
-        r.resourceKey.assetId = resourceEntity.assetId;
-        r.resourceKey.resourceName = resourceEntity.name;
-
-        return r;
-    }
-
-    private org.openecomp.sdnc.rm.data.AllocationItem createAllocationItem(
-            org.openecomp.sdnc.rm.data.Resource r,
-            AllocationItem aiEntity) {
-        if (r == null || aiEntity == null)
-            return null;
-
-        org.openecomp.sdnc.rm.data.AllocationItem ai = null;
-        if (r.resourceType == ResourceType.Limit) {
-            LimitAllocationItem lai = new LimitAllocationItem();
-            lai.used = aiEntity.ltUsed;
-            ai = lai;
-        } else if (r.resourceType == ResourceType.Label) {
-            LabelAllocationItem lai = new LabelAllocationItem();
-            lai.label = aiEntity.llLabel;
-            ai = lai;
-        } else if (r.resourceType == ResourceType.Range) {
-            RangeAllocationItem rai = new RangeAllocationItem();
-            rai.used =
-                    StrUtil.listInt(aiEntity.rrUsed, "Invalid data found in DB in for Allocation Item Id: " +
-                            aiEntity.id + ": ALLOCATION_ITEM.RR_USED: " + aiEntity.rrUsed);
-            ai = rai;
-        }
-
-        ai.resourceType = r.resourceType;
-        ai.resourceKey = r.resourceKey;
-        ai.resourceSetId = aiEntity.resourceSetId;
-        ai.resourceUnionId = aiEntity.resourceUnionId;
-        if (aiEntity.resourceShareGroupList != null)
-            ai.resourceShareGroupList = new HashSet<String>(StrUtil.listStr(aiEntity.resourceShareGroupList));
-        ai.applicationId = aiEntity.applicationId;
-        ai.allocationTime = aiEntity.allocationTime;
-
-        return ai;
-    }
-
-    private org.openecomp.sdnc.rm.data.ResourceLoad createResourceLoad(
-            org.openecomp.sdnc.rm.data.Resource r,
-            ResourceLoad rlEntity) {
-        if (rlEntity == null)
-            return null;
-
-        org.openecomp.sdnc.rm.data.ResourceLoad rl = new org.openecomp.sdnc.rm.data.ResourceLoad();
-        rl.resourceKey = r.resourceKey;
-        rl.applicationId = rlEntity.applicationId;
-        rl.resourceLoadTime = rlEntity.loadTime;
-        rl.resourceExpirationTime = rlEntity.expirationTime;
-
-        return rl;
-    }
-
-    public void setResourceJdbcDao(ResourceJdbcDao resourceJdbcDao) {
-        this.resourceJdbcDao = resourceJdbcDao;
-    }
-
-    public void setResourceLoadJdbcDao(ResourceLoadJdbcDao resourceLoadJdbcDao) {
-        this.resourceLoadJdbcDao = resourceLoadJdbcDao;
-    }
-
-    public void setAllocationItemJdbcDao(AllocationItemJdbcDao allocationItemJdbcDao) {
-        this.allocationItemJdbcDao = allocationItemJdbcDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
deleted file mode 100644
index d7e90bf64..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.util.List;
-
-public interface ResourceJdbcDao {
-
-    Resource getResource(String assetId, String resourceName);
-
-    List<Resource> getResourceSet(String resourceSetId);
-
-    List<Resource> getResourceUnion(String resourceUnionId);
-
-    void add(Resource r);
-
-    void delete(long id);
-
-    void update(Resource r);
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
deleted file mode 100644
index 69f23e95b..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Collections;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.PreparedStatementCreator;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.jdbc.support.GeneratedKeyHolder;
-import org.springframework.jdbc.support.KeyHolder;
-
-public class ResourceJdbcDaoImpl implements ResourceJdbcDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
-    private static final String RESOURCE_SQL = "SELECT * FROM RESOURCE WHERE asset_id = ? AND resource_name = ?";
-
-    private static final String RESOURCE_SET_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
-            + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_set_id = ?)";
-
-    private static final String RESOURCE_UNION_SQL = "SELECT * FROM RESOURCE WHERE resource_id IN (\n"
-            + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_union_id = ?)";
-
-    private static final String INSERT_SQL = "INSERT INTO RESOURCE (\n"
-            + "  asset_id, resource_name, resource_type, lt_used, ll_label, ll_reference_count, rr_used)\n"
-            + "VALUES (?, ?, ?, ?, ?, ?, ?)";
-
-    private static final String UPDATE_SQL = "UPDATE RESOURCE SET\n"
-            + "  lt_used = ?, ll_label = ?, ll_reference_count = ?, rr_used = ?\nWHERE resource_id = ?";
-
-    private static final String DELETE_SQL = "DELETE FROM RESOURCE WHERE resource_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-    private ResourceRowMapper resourceRowMapper = new ResourceRowMapper();
-
-    @Override
-    public Resource getResource(String assetId, String resourceName) {
-        if (assetId == null || assetId.trim().length() == 0 || resourceName == null ||
-                resourceName.trim().length() == 0)
-            return null;
-
-        List<Resource> ll = jdbcTemplate.query(RESOURCE_SQL, new Object[] { assetId, resourceName }, resourceRowMapper);
-        return ll.isEmpty() ? null : ll.get(0);
-    }
-
-    @Override
-    public List<Resource> getResourceSet(String resourceSetId) {
-        if (resourceSetId == null)
-            return Collections.emptyList();
-
-        return jdbcTemplate.query(RESOURCE_SET_SQL, new Object[] { resourceSetId }, resourceRowMapper);
-    }
-
-    @Override
-    public List<Resource> getResourceUnion(String resourceUnionId) {
-        if (resourceUnionId == null)
-            return Collections.emptyList();
-
-        return jdbcTemplate.query(RESOURCE_UNION_SQL, new Object[] { resourceUnionId }, resourceRowMapper);
-    }
-
-    @Override
-    public void add(final Resource r) {
-        PreparedStatementCreator psc = new PreparedStatementCreator() {
-
-            @Override
-            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
-                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_id" });
-                ps.setString(1, r.assetId);
-                ps.setString(2, r.name);
-                ps.setString(3, r.type);
-                ps.setLong(4, r.ltUsed);
-                ps.setString(5, r.llLabel);
-                ps.setInt(6, r.llReferenceCount);
-                ps.setString(7, r.rrUsed);
-                return ps;
-            }
-        };
-        KeyHolder keyHolder = new GeneratedKeyHolder();
-        jdbcTemplate.update(psc, keyHolder);
-        r.id = keyHolder.getKey().longValue();
-    }
-
-    @Override
-    public void update(Resource r) {
-        Long ltUsed = r.ltUsed <= 0 ? null : r.ltUsed;
-        Integer llRefCount = r.llReferenceCount <= 0 ? null : r.llReferenceCount;
-        jdbcTemplate.update(UPDATE_SQL, ltUsed, r.llLabel, llRefCount, r.rrUsed, r.id);
-    }
-
-    @Override
-    public void delete(long id) {
-        jdbcTemplate.update(DELETE_SQL, id);
-    }
-
-    private static class ResourceRowMapper implements RowMapper<Resource> {
-
-        @Override
-        public Resource mapRow(ResultSet rs, int arg1) throws SQLException {
-            Resource r = new Resource();
-            r.id = rs.getLong("resource_id");
-            r.assetId = rs.getString("asset_id");
-            r.name = rs.getString("resource_name");
-            r.type = rs.getString("resource_type");
-            r.ltUsed = rs.getLong("lt_used");
-            r.llLabel = rs.getString("ll_label");
-            r.llReferenceCount = rs.getInt("ll_reference_count");
-            r.rrUsed = rs.getString("rr_used");
-            return r;
-        }
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
deleted file mode 100644
index a3d5cce98..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.util.Date;
-
-public class ResourceLoad {
-
-    public long id;
-    public long resourceId;
-    public String applicationId;
-    public Date loadTime;
-    public Date expirationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
deleted file mode 100644
index 9630fd3ef..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.util.List;
-
-public interface ResourceLoadJdbcDao {
-
-    void add(ResourceLoad rl);
-
-    List<ResourceLoad> getResourceLoads(long resourceId);
-
-    void update(ResourceLoad rl);
-
-    void delete(long id);
-
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
deleted file mode 100644
index b697053c3..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.dao.jdbc;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.Collections;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.PreparedStatementCreator;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.jdbc.support.GeneratedKeyHolder;
-import org.springframework.jdbc.support.KeyHolder;
-
-public class ResourceLoadJdbcDaoImpl implements ResourceLoadJdbcDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
-    private static final String INSERT_SQL = "INSERT INTO RESOURCE_LOAD (\n"
-            + "  resource_id, application_id, resource_load_time, resource_expiration_time)\nVALUES (?, ?, ?, ?)";
-
-    private static final String UPDATE_SQL = "UPDATE RESOURCE_LOAD SET\n"
-            + "  resource_load_time = ?, resource_expiration_time = ?\nWHERE resource_id = ?";
-
-    private static final String DELETE_SQL = "DELETE FROM RESOURCE_LOAD WHERE resource_load_id = ?";
-
-    private static final String GET_SQL = "SELECT * FROM RESOURCE_LOAD WHERE resource_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-    private ResourceLoadRowMapper resourceLoadRowMapper = new ResourceLoadRowMapper();
-
-    @Override
-    public void add(final ResourceLoad rl) {
-        PreparedStatementCreator psc = new PreparedStatementCreator() {
-
-            @Override
-            public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
-                PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_load_id" });
-                ps.setLong(1, rl.resourceId);
-                ps.setString(2, rl.applicationId);
-                ps.setTimestamp(3, new Timestamp(rl.loadTime.getTime()));
-                ps.setTimestamp(4, new Timestamp(rl.expirationTime.getTime()));
-                return ps;
-            }
-        };
-        KeyHolder keyHolder = new GeneratedKeyHolder();
-        jdbcTemplate.update(psc, keyHolder);
-        rl.id = keyHolder.getKey().longValue();
-    }
-
-    @Override
-    public void update(ResourceLoad rl) {
-        jdbcTemplate.update(UPDATE_SQL, rl.loadTime, rl.expirationTime, rl.id);
-    }
-
-    @Override
-    public void delete(long id) {
-        jdbcTemplate.update(DELETE_SQL, id);
-    }
-
-    @Override
-    public List<ResourceLoad> getResourceLoads(long resourceId) {
-        if (resourceId <= 0)
-            return Collections.emptyList();
-
-        return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, resourceLoadRowMapper);
-    }
-
-    private static class ResourceLoadRowMapper implements RowMapper<ResourceLoad> {
-
-        @Override
-        public ResourceLoad mapRow(ResultSet rs, int n) throws SQLException {
-            ResourceLoad rl = new ResourceLoad();
-            rl.id = rs.getLong("allocation_item_id");
-            rl.resourceId = rs.getLong("resource_id");
-            rl.applicationId = rs.getString("application_id");
-            rl.loadTime = rs.getTimestamp("resource_load_time");
-            rl.expirationTime = rs.getTimestamp("resource_expiration_time");
-            return rl;
-        }
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
deleted file mode 100644
index be6e69487..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public enum AllocationAction {
-    Fail, Succeed_DoNothing, Succeed_Allocate
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
deleted file mode 100644
index 522a9bd38..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.Date;
-import java.util.Set;
-
-public abstract class AllocationItem {
-
-    public ResourceKey resourceKey;
-    public ResourceType resourceType;
-    public String resourceSetId;
-    public String resourceUnionId;
-    public Set<String> resourceShareGroupList;
-    public String applicationId;
-    public Date allocationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
deleted file mode 100644
index 4e78a99f7..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class AllocationOutcome {
-
-    public AllocationStatus status = null;
-    public AllocationRequest request = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
deleted file mode 100644
index b6fef4b95..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.Set;
-
-public class AllocationRequest {
-
-    public String resourceUnionId = null;
-    public String resourceSetId = null;
-    public Set<String> resourceShareGroupList = null;
-    public String resourceName = null;
-    public String assetId = null;
-    public AllocationAction missingResourceAction = AllocationAction.Succeed_Allocate;
-    public AllocationAction expiredResourceAction = AllocationAction.Succeed_Allocate;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
deleted file mode 100644
index ffdfb2248..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public enum AllocationStatus {
-
-    Success, Failure, NotTried, ResourceNotFound, ResourceExpired
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
deleted file mode 100644
index ccf843547..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public enum InitAction {
-    CheckInit("Initialize if needed"), ForceInit("Always Initialize"), NoInit("No initialization");
-
-    private String str;
-
-    private InitAction(String str) {
-        this.str = str;
-    }
-
-    public String getInitActionStr() {
-        return str;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
deleted file mode 100644
index 61c8f141e..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LabelAllocationItem extends AllocationItem {
-
-    public String label;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
deleted file mode 100644
index da21cd22d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LabelAllocationOutcome extends AllocationOutcome {
-
-    public String allocatedLabel = null;
-    public String currentLabel = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
deleted file mode 100644
index b5f079005..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LabelAllocationRequest extends AllocationRequest {
-
-    public String label = null;
-    public boolean check = false;
-    public boolean allocate = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
deleted file mode 100644
index 2e7a7979d..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LabelResource extends Resource {
-
-    public static final String BLOCKED = "__BLOCKED__";
-
-    public String label;
-    public int referenceCount;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
deleted file mode 100644
index 5c2ffc0b4..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LimitAllocationItem extends AllocationItem {
-
-    public long used;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
deleted file mode 100644
index ee265c487..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LimitAllocationOutcome extends AllocationOutcome {
-
-    public long allocatedCount = 0;
-    public long used = 0;
-    public long limit = 0;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
deleted file mode 100644
index 213283002..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LimitAllocationRequest extends AllocationRequest {
-
-    public long checkCount = 0;
-    public long allocateCount = 0;
-    public long checkLimit = -1;
-    public boolean replace = false;
-    public boolean strict = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
deleted file mode 100644
index 4aa973f14..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class LimitResource extends Resource {
-
-    public long used = 0;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
deleted file mode 100644
index f7a2b949c..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.List;
-
-public class MultiAssetAllocationOutcome extends AllocationOutcome {
-
-    public List<String> goodAssetIdList;
-    public List<AllocationOutcome> allocationOutcomeList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
deleted file mode 100644
index 47f04a957..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.List;
-
-public class MultiAssetAllocationRequest extends AllocationRequest {
-
-    public List<String> assetIdList = null;
-    public AllocationRequest allocationRequest = null;
-    public int requestedCount = 0;
-    public boolean sequential = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
deleted file mode 100644
index b8ebc29d3..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.List;
-
-public class MultiResourceAllocationOutcome extends AllocationOutcome {
-
-    public List<AllocationOutcome> allocationOutcomeList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
deleted file mode 100644
index 60fc2da60..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.List;
-
-public class MultiResourceAllocationRequest extends AllocationRequest {
-
-    public List<AllocationRequest> allocationRequestList = null;
-    public boolean stopOnFirstFailure = true;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
deleted file mode 100644
index eb0d84164..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeAllocationItem extends AllocationItem {
-
-    public SortedSet<Integer> used;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
deleted file mode 100644
index 943c09bfc..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeAllocationOutcome extends AllocationOutcome {
-
-    public SortedSet<Integer> allocated = null;
-    public SortedSet<Integer> used = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
deleted file mode 100644
index 83fdef898..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeAllocationRequest extends AllocationRequest {
-
-    public int checkMin = 0;
-    public int checkMax = 0;
-    public boolean check = false;
-    public boolean allocate = false;
-    public boolean replace = false;
-    public SortedSet<Integer> requestedNumbers = null;
-    public int requestedCount = 1;
-    public boolean sequential = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
deleted file mode 100644
index e2f61e7d9..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeResource extends Resource {
-
-    public SortedSet<Integer> used;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
deleted file mode 100644
index 0ab656264..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.Collection;
-
-public abstract class Resource {
-
-    public ResourceKey resourceKey;
-    public ResourceType resourceType;
-    public Collection<AllocationItem> allocationItems;
-    public Collection<ResourceLoad> resourceLoadList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
deleted file mode 100644
index c6f3b7281..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public class ResourceKey {
-
-    public String assetId;
-    public String resourceName;
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o)
-            return true;
-        if (o == null || !(o instanceof ResourceKey))
-            return false;
-        ResourceKey rk = (ResourceKey) o;
-        if (assetId == null || resourceName == null)
-            return false;
-        return assetId.equals(rk.assetId) && resourceName.equals(rk.resourceName);
-    }
-
-    @Override
-    public int hashCode() {
-        return (int) ((long) System.identityHashCode(assetId) + (long) System.identityHashCode(resourceName));
-    }
-
-    @Override
-    public String toString() {
-        return "(" + assetId + ", " + resourceName + ")";
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
deleted file mode 100644
index cea781bcd..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-import java.util.Date;
-
-public class ResourceLoad {
-
-    public ResourceKey resourceKey;
-    public String applicationId;
-    public Date resourceLoadTime;
-    public Date resourceExpirationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
deleted file mode 100644
index 6f66830ee..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.data;
-
-public enum ResourceType {
-    Limit, Label, Range
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
deleted file mode 100644
index 16344e7e6..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.LabelAllocationItem;
-import org.openecomp.sdnc.rm.data.LabelAllocationRequest;
-import org.openecomp.sdnc.rm.data.LabelResource;
-import org.openecomp.sdnc.rm.data.ResourceKey;
-import org.openecomp.sdnc.rm.data.ResourceType;
-
-public class LabelUtil {
-
-    public static boolean checkLabel(LabelResource l, LabelAllocationRequest req) {
-        if (req.check && req.label != null && l.allocationItems != null && !l.allocationItems.isEmpty()) {
-            for (AllocationItem ai : l.allocationItems) {
-                LabelAllocationItem lai = (LabelAllocationItem) ai;
-                if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label))
-                    return false;
-            }
-        }
-        return true;
-    }
-
-    public static String allocateLabel(LabelResource l, LabelAllocationRequest req, String applicationId) {
-        if (!req.allocate)
-            return null;
-
-        LabelAllocationItem lai = (LabelAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-        if (lai == null) {
-            lai = new LabelAllocationItem();
-            lai.resourceType = ResourceType.Label;
-            lai.resourceKey = new ResourceKey();
-            lai.resourceKey.assetId = req.assetId;
-            lai.resourceKey.resourceName = req.resourceName;
-            lai.applicationId = applicationId;
-            lai.resourceSetId = req.resourceSetId;
-            lai.resourceUnionId = req.resourceUnionId;
-            lai.resourceShareGroupList = req.resourceShareGroupList;
-
-            if (l.allocationItems == null)
-                l.allocationItems = new ArrayList<AllocationItem>();
-            l.allocationItems.add(lai);
-        }
-
-        lai.label = req.label;
-        lai.allocationTime = new Date();
-
-        recalculate(l);
-
-        return lai.label;
-    }
-
-    public static void recalculate(LabelResource l) {
-        l.label = null;
-        l.referenceCount = 0;
-        if (l.allocationItems != null)
-            for (AllocationItem ai : l.allocationItems) {
-                LabelAllocationItem lai = (LabelAllocationItem) ai;
-                if (lai.label != null) {
-                    l.referenceCount++;
-                    if (l.label == null)
-                        l.label = lai.label;
-                    else if (!l.label.equals(lai.label))
-                        l.label = "__BLOCKED__";
-                }
-            }
-    }
-
-    private static boolean eq(Object o1, Object o2) {
-        return o1 == null ? o2 == null : o1.equals(o2);
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
deleted file mode 100644
index a34ab0ecd..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.LimitAllocationItem;
-import org.openecomp.sdnc.rm.data.LimitAllocationRequest;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.ResourceKey;
-import org.openecomp.sdnc.rm.data.ResourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class LimitUtil {
-
-    private static final Logger log = LoggerFactory.getLogger(LimitUtil.class);
-
-    public static boolean checkLimit(LimitResource l, LimitAllocationRequest req) {
-        if (req.checkCount <= 0)
-            return true;
-
-        long checkCount = req.checkCount;
-        long currentUsage = 0;
-        if (req.resourceSetId != null) {
-            LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-            if (lai != null)
-                currentUsage = lai.used;
-        }
-        if (!req.replace)
-            checkCount += currentUsage;
-
-        long used = calculateLimitUsage(l, 0, null, null);
-        long wouldUse = calculateLimitUsage(l, checkCount, req.resourceUnionId, req.resourceShareGroupList);
-
-        // If usage is not increasing by this request, only check the limit if
-        // strictCheck is true.
-        if (wouldUse <= used && !req.strict)
-            return true;
-
-        return wouldUse <= req.checkLimit;
-    }
-
-    private static long calculateLimitUsage(
-            LimitResource l,
-            long checkCount,
-            String resourceUnionId,
-            Set<String> resourceShareGroupList) {
-        if ((l.allocationItems == null || l.allocationItems.isEmpty()) &&
-                (resourceUnionId == null || resourceUnionId.length() == 0))
-            return 0;
-
-        long t1 = System.currentTimeMillis();
-        boolean logit = false;
-        String rn = "Resource: " + l.resourceKey.resourceName + " - " + l.resourceKey.assetId;
-
-        // In order to best utilize the resource, we need to take not the sum of all allocation items, but
-        // instead the maximum usage that could happen at any moment of time (given not all allocation items are active
-        // at the same time), also taking into account possible resource sharing.
-        // Thus we need to find all combinations of allocation items that can be active at the same time (allocation
-        // items with the same first union cannot be active at the same time), compute the usage for each (again,
-        // taking into account resource sharing), and take the maximum.
-        //
-        // Example:
-        // Let's have the following allocation items:
-        // ai1: sdid1, vrf1 - usage 5
-        // ai2: sdid2, vrf1 - usage 10
-        // ai3: sdid3, vrf2 - usage 15
-        // ai4: sdid1, vrf3 - usage 20
-        // ai5: sdid3, vrf1 - usage 25
-        // The following combinations of active allocation items are possible:
-        // 1) ai1, ai2, ai3
-        // 2) ai1, ai2, ai5
-        // 3) ai2, ai3, ai4
-        // 4) ai2, ai3, ai5
-        // Here is how we calculate the usage for combination 1:
-        // ai1 and ai2 contain the same resource union vrf1, so they share the resource - we take the max of usage,
-        // so we have:
-        // max(5, 10) + 15 = 25
-        // Similarly, we calculate the usage of the other combinations:
-        // 2) max(5, 10, 25) = 25
-        // 3) 10 + 15 + 20 = 45
-        // 4) max(10, 25) + 15 = 40
-        // So, the result in this case is:
-        // max(25, 25, 45, 40) = 45
-        //
-        // We might have a problem with this approach, if we have a lot of combinations. Assuming we have at most 2
-        // allocation items with the same resource union (sdid), the number of combinations would be
-        // 2 ^ n
-        // where n is the number of allocation items that have the same resource union (sdid). That would be
-        // the number of change orders currently in progress.
-        //
-        // Here is one optimization that we can do:
-        // If we have allocation items that have all resource unions the same, we don't need to generate combinations
-        // with each of them, we can just take the one of them with the maximum usage, as it is clear that the others
-        // will not lead to a bigger usage.
-        // For example, if we had the following allocation items:
-        // ai1: sdid1, vrf1 - usage 10
-        // ai2: sdid1, vrf1 - usage 20
-        // We only need to take the combinations with ai2, as they will always lead to bigger usage than the remaining
-        // combinations with ai1.
-
-        // First, group the allocation items by the first resource union, using the LimitUsage structure
-        int regularChangeCount = 0;
-        Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<String, List<LimitUsage>>();
-        if (l.allocationItems != null)
-            for (AllocationItem ai : l.allocationItems) {
-                LimitAllocationItem lai = (LimitAllocationItem) ai;
-                boolean regularChange =
-                        addLimitUsage(limitUsageMap, lai.resourceUnionId, lai.resourceShareGroupList, lai.used);
-                if (regularChange)
-                    regularChangeCount++;
-            }
-        if (checkCount > 0 && resourceUnionId != null) {
-            boolean regularChange = addLimitUsage(limitUsageMap, resourceUnionId, resourceShareGroupList, checkCount);
-            if (regularChange)
-                regularChangeCount++;
-        }
-
-        // Generate all the combinations, containing one LimitUsage object for each firstResourceUnion
-        int significantChangeCount = 0;
-        List<List<LimitUsage>> allCombinations = new ArrayList<List<LimitUsage>>();
-        for (String firstResourceUnion : limitUsageMap.keySet()) {
-            List<LimitUsage> limitUsageList = limitUsageMap.get(firstResourceUnion);
-            if (limitUsageList.size() > 1)
-                significantChangeCount++;
-            if (allCombinations.isEmpty()) {
-                for (LimitUsage limitUsage : limitUsageList) {
-                    List<LimitUsage> newCombination = new ArrayList<LimitUsage>();
-                    newCombination.add(limitUsage);
-                    allCombinations.add(newCombination);
-                }
-            } else {
-                if (limitUsageList.size() == 1) {
-                    // No new combinations are generated - just add this one to all combinations we have until now
-                    for (List<LimitUsage> combination : allCombinations)
-                        combination.add(limitUsageList.get(0));
-                } else {
-                    // We have to duplicate each of the current combinations for each element of limitUsageList
-                    List<List<LimitUsage>> newAllCombinations = new ArrayList<List<LimitUsage>>();
-                    for (List<LimitUsage> combination : allCombinations)
-                        for (LimitUsage limitUsage : limitUsageList) {
-                            List<LimitUsage> newCombination = new ArrayList<LimitUsage>(combination);
-                            newCombination.add(limitUsage);
-                            newAllCombinations.add(newCombination);
-                        }
-                    allCombinations = newAllCombinations;
-                }
-            }
-        }
-
-        // Now, go through all combinations and calculate its usage, get the maximum
-        long maxUsage = 0;
-        for (List<LimitUsage> combination : allCombinations) {
-            long usage = calculateUsage(combination);
-            if (usage > maxUsage)
-                maxUsage = usage;
-        }
-
-        long t2 = System.currentTimeMillis();
-        if (logit) {
-            log.debug(rn + ": Calculating usage completed:");
-            log.debug(rn + ":     Regular changes: " + regularChangeCount);
-            log.debug(rn + ":     Significant changes: " + significantChangeCount);
-            log.debug(rn + ":     Combinations: " + allCombinations.size());
-            log.debug(rn + ":     Usage: " + maxUsage);
-            log.debug(rn + ":     Time: " + (t2 - t1));
-        }
-
-        return maxUsage;
-    }
-
-    private static boolean addLimitUsage(
-            Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap,
-            String resourceUnionId,
-            Set<String> resourceShareGroupList,
-            long used) {
-        List<LimitUsage> limitUsageList = limitUsageMap.get(resourceUnionId);
-        if (limitUsageList == null) {
-            limitUsageList = new ArrayList<LimitUsage>();
-            limitUsageMap.put(resourceUnionId, limitUsageList);
-        }
-        // See if we already have the same shareResourceUnionSet in the list. In such case just update the usage
-        // to the bigger value.
-        LimitUsage limitUsage = null;
-        for (LimitUsage limitUsage1 : limitUsageList) {
-            if ((limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty()) &&
-                    (resourceShareGroupList == null || resourceShareGroupList.isEmpty())) {
-                limitUsage = limitUsage1;
-                break;
-            }
-            if (limitUsage1.resourceShareGroupList != null &&
-                    limitUsage1.resourceShareGroupList.equals(resourceShareGroupList)) {
-                limitUsage = limitUsage1;
-                break;
-            }
-        }
-        if (limitUsage != null) {
-            if (limitUsage.usage < used)
-                limitUsage.usage = used;
-            return true;
-        }
-
-        limitUsage = new LimitUsage();
-        limitUsage.resourceUnion = resourceUnionId;
-        limitUsage.resourceShareGroupList = resourceShareGroupList;
-        limitUsage.usage = used;
-        limitUsageList.add(limitUsage);
-        return false;
-    }
-
-    private static class LimitUsage {
-
-        @SuppressWarnings("unused")
-        public String resourceUnion;
-        public Set<String> resourceShareGroupList;
-        public long usage;
-    }
-
-    private static boolean hasCommonSharedResource(LimitUsage limitUsage1, LimitUsage limitUsage2) {
-        if (limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty())
-            return false;
-        if (limitUsage2.resourceShareGroupList == null || limitUsage2.resourceShareGroupList.isEmpty())
-            return false;
-
-        for (String resourceUnion : limitUsage1.resourceShareGroupList)
-            if (limitUsage2.resourceShareGroupList.contains(resourceUnion))
-                return true;
-
-        return false;
-    }
-
-    private static long calculateUsage(List<LimitUsage> combination) {
-        // All LimitUsage objects that have a common value in their sharedResourceUnionSet reuse the resource, so
-        // split the combination in sets that have common value. Then the usage of each set will be the maximum of
-        // the usages of the LimitUsage objects in the set. The usage of the combination will be the sum of the usages
-        // of all sets.
-        List<List<LimitUsage>> sharedSets = new ArrayList<List<LimitUsage>>();
-        for (LimitUsage limitUsage : combination) {
-            // See if we can put limitUsage in any of the existing sets - is it has a common resource union with
-            // any of the LimitUsage objects in a set.
-            boolean found = false;
-            for (List<LimitUsage> sharedSet : sharedSets) {
-                for (LimitUsage limitUsage1 : sharedSet) {
-                    if (hasCommonSharedResource(limitUsage, limitUsage1)) {
-                        found = true;
-                        break;
-                    }
-                }
-                if (found) {
-                    sharedSet.add(limitUsage);
-                    break;
-                }
-            }
-            if (!found) {
-                // Start a new set
-                List<LimitUsage> newSharedSet = new ArrayList<LimitUsage>();
-                newSharedSet.add(limitUsage);
-                sharedSets.add(newSharedSet);
-            }
-        }
-
-        long sum = 0;
-        for (List<LimitUsage> sharedSet : sharedSets) {
-            float max = 0;
-            for (LimitUsage limitUsage : sharedSet)
-                if (max < limitUsage.usage)
-                    max = limitUsage.usage;
-            sum += max;
-        }
-
-        return sum;
-    }
-
-    public static long allocateLimit(LimitResource l, LimitAllocationRequest req, String applicationId) {
-        if (req.allocateCount <= 0)
-            return 0;
-        long uu = l.used;
-
-        LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-        if (lai == null) {
-            lai = new LimitAllocationItem();
-            lai.resourceType = ResourceType.Limit;
-            lai.resourceKey = new ResourceKey();
-            lai.resourceKey.assetId = req.assetId;
-            lai.resourceKey.resourceName = req.resourceName;
-            lai.applicationId = applicationId;
-            lai.resourceSetId = req.resourceSetId;
-            lai.resourceUnionId = req.resourceUnionId;
-            lai.resourceShareGroupList = req.resourceShareGroupList;
-            lai.used = req.allocateCount;
-
-            if (l.allocationItems == null)
-                l.allocationItems = new ArrayList<AllocationItem>();
-            l.allocationItems.add(lai);
-        } else
-            lai.used = req.replace ? req.allocateCount : lai.used + req.allocateCount;
-
-        lai.allocationTime = new Date();
-
-        recalculate(l);
-
-        return l.used - uu;
-    }
-
-    public static void recalculate(LimitResource l) {
-        l.used = calculateLimitUsage(l, 0, null, null);
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
deleted file mode 100644
index 076e4cc80..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.RangeAllocationItem;
-import org.openecomp.sdnc.rm.data.RangeAllocationRequest;
-import org.openecomp.sdnc.rm.data.RangeResource;
-import org.openecomp.sdnc.rm.data.ResourceKey;
-import org.openecomp.sdnc.rm.data.ResourceType;
-
-public class RangeUtil {
-
-    public static void recalculate(RangeResource r) {
-        r.used = new TreeSet<Integer>();
-        if (r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems) {
-                RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (rai.used != null)
-                    r.used.addAll(rai.used);
-            }
-    }
-
-    public static boolean checkRange(RangeResource r, RangeAllocationRequest req, int num) {
-        if (num < req.checkMin || num > req.checkMax)
-            return false;
-
-        if (r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems) {
-                RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num))
-                    return false;
-            }
-
-        return true;
-    }
-
-    private static boolean eq(Object o1, Object o2) {
-        return o1 == null ? o2 == null : o1.equals(o2);
-    }
-
-    public static SortedSet<Integer> getUsed(RangeResource r, String resourceUnionId) {
-        SortedSet<Integer> used = new TreeSet<Integer>();
-        if (r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems) {
-                RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null)
-                    used.addAll(rai.used);
-            }
-        return used;
-    }
-
-    public static void allocateRange(
-            RangeResource rr,
-            SortedSet<Integer> requestedNumbers,
-            RangeAllocationRequest req,
-            String applicationId) {
-        if (!req.allocate)
-            return;
-
-        RangeAllocationItem rai = (RangeAllocationItem) ResourceUtil.getAllocationItem(rr, req.resourceSetId);
-        if (rai == null) {
-            rai = new RangeAllocationItem();
-            rai.resourceType = ResourceType.Range;
-            rai.resourceKey = new ResourceKey();
-            rai.resourceKey.assetId = req.assetId;
-            rai.resourceKey.resourceName = req.resourceName;
-            rai.applicationId = applicationId;
-            rai.resourceSetId = req.resourceSetId;
-            rai.resourceUnionId = req.resourceUnionId;
-            rai.resourceShareGroupList = req.resourceShareGroupList;
-            rai.used = requestedNumbers;
-
-            if (rr.allocationItems == null)
-                rr.allocationItems = new ArrayList<AllocationItem>();
-            rr.allocationItems.add(rai);
-        } else if (req.replace)
-            rai.used = requestedNumbers;
-        else
-            rai.used.addAll(requestedNumbers);
-
-        rai.allocationTime = new Date();
-
-        recalculate(rr);
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
deleted file mode 100644
index 9ef78eea7..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.rm.util;
-
-import org.openecomp.sdnc.rm.data.AllocationItem;
-import org.openecomp.sdnc.rm.data.LabelResource;
-import org.openecomp.sdnc.rm.data.LimitResource;
-import org.openecomp.sdnc.rm.data.Resource;
-import org.openecomp.sdnc.rm.data.ResourceType;
-
-public class ResourceUtil {
-
-    public static AllocationItem getAllocationItem(Resource r, String resourceSetId) {
-        if (r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId))
-                    return ai;
-        return null;
-    }
-
-    public static void recalculate(Resource r) {
-        if (r == null)
-            return;
-
-        if (r.resourceType == ResourceType.Limit)
-            LimitUtil.recalculate((LimitResource) r);
-        else if (r.resourceType == ResourceType.Label)
-            LabelUtil.recalculate((LabelResource) r);
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
deleted file mode 100644
index 252e37700..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.db;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-
-import javax.sql.DataSource;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class CachedDataSourceWrap implements DataSource {
-
-    private static final Logger log = LoggerFactory.getLogger(CachedDataSourceWrap.class);
-
-    private ThreadLocal<ConnectionWrap> con = new ThreadLocal<>();
-
-    private DataSource dataSource;
-
-    @Override
-    public PrintWriter getLogWriter() throws SQLException {
-        return dataSource.getLogWriter();
-    }
-
-    @Override
-    public void setLogWriter(PrintWriter out) throws SQLException {
-        dataSource.setLogWriter(out);
-    }
-
-    @Override
-    public void setLoginTimeout(int seconds) throws SQLException {
-        dataSource.setLoginTimeout(seconds);
-    }
-
-    @Override
-    public int getLoginTimeout() throws SQLException {
-        return dataSource.getLoginTimeout();
-    }
-
-    @Override
-    public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
-        return dataSource.getParentLogger();
-    }
-
-    @Override
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return dataSource.unwrap(iface);
-    }
-
-    @Override
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return dataSource.isWrapperFor(iface);
-    }
-
-    @Override
-    public Connection getConnection() throws SQLException {
-        if (con.get() == null) {
-            Connection c = dataSource.getConnection();
-            ConnectionWrap cc = new ConnectionWrap(c);
-            con.set(cc);
-
-            log.info("Got new DB connection: " + c);
-        } else
-            log.info("Using thread DB connection: " + con.get().getCon());
-
-        return con.get();
-    }
-
-    @Override
-    public Connection getConnection(String username, String password) throws SQLException {
-        if (con.get() == null) {
-            Connection c = dataSource.getConnection(username, password);
-            ConnectionWrap cc = new ConnectionWrap(c);
-            con.set(cc);
-
-            log.info("Got new DB connection: " + c);
-        } else
-            log.info("Using thread DB connection: " + con.get().getCon());
-
-        return con.get();
-    }
-
-    public void releaseConnection() {
-        if (con.get() != null) {
-            try {
-                con.get().realClose();
-
-                log.info("DB Connection released: " + con.get().getCon());
-            } catch (SQLException e) {
-                log.warn("Failed to release DB connection", e);
-            } finally {
-                con.remove();
-            }
-        }
-    }
-
-    public void setDataSource(DataSource dataSource) {
-        this.dataSource = dataSource;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
deleted file mode 100644
index 21a0c80d4..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.db;
-
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.SQLClientInfoException;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.sql.Struct;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-public class ConnectionWrap implements Connection {
-
-    private Connection cc;
-
-    public ConnectionWrap(Connection cc) {
-        super();
-        this.cc = cc;
-    }
-
-    public Connection getCon() {
-        return cc;
-    }
-
-    public void realClose() throws SQLException {
-        cc.close();
-    }
-
-    @Override
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return cc.unwrap(iface);
-    }
-
-    @Override
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return cc.isWrapperFor(iface);
-    }
-
-    @Override
-    public Statement createStatement() throws SQLException {
-        return cc.createStatement();
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        return cc.prepareStatement(sql);
-    }
-
-    @Override
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        return cc.prepareCall(sql);
-    }
-
-    @Override
-    public String nativeSQL(String sql) throws SQLException {
-        return cc.nativeSQL(sql);
-    }
-
-    @Override
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        cc.setAutoCommit(autoCommit);
-    }
-
-    @Override
-    public boolean getAutoCommit() throws SQLException {
-        return cc.getAutoCommit();
-    }
-
-    @Override
-    public void commit() throws SQLException {
-        cc.commit();
-    }
-
-    @Override
-    public void rollback() throws SQLException {
-        cc.rollback();
-    }
-
-    @Override
-    public void close() throws SQLException {
-    }
-
-    @Override
-    public boolean isClosed() throws SQLException {
-        return cc.isClosed();
-    }
-
-    @Override
-    public DatabaseMetaData getMetaData() throws SQLException {
-        return cc.getMetaData();
-    }
-
-    @Override
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        cc.setReadOnly(readOnly);
-    }
-
-    @Override
-    public boolean isReadOnly() throws SQLException {
-        return cc.isReadOnly();
-    }
-
-    @Override
-    public void setCatalog(String catalog) throws SQLException {
-        cc.setCatalog(catalog);
-    }
-
-    @Override
-    public String getCatalog() throws SQLException {
-        return cc.getCatalog();
-    }
-
-    @Override
-    public void setTransactionIsolation(int level) throws SQLException {
-        cc.setTransactionIsolation(level);
-    }
-
-    @Override
-    public int getTransactionIsolation() throws SQLException {
-        return cc.getTransactionIsolation();
-    }
-
-    @Override
-    public SQLWarning getWarnings() throws SQLException {
-        return cc.getWarnings();
-    }
-
-    @Override
-    public void clearWarnings() throws SQLException {
-        cc.clearWarnings();
-    }
-
-    @Override
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        return cc.createStatement(resultSetType, resultSetConcurrency);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
-            throws SQLException {
-        return cc.prepareStatement(sql, resultSetType, resultSetConcurrency);
-    }
-
-    @Override
-    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
-        return cc.prepareCall(sql, resultSetType, resultSetConcurrency);
-    }
-
-    @Override
-    public Map<String, Class<?>> getTypeMap() throws SQLException {
-        return cc.getTypeMap();
-    }
-
-    @Override
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-        cc.setTypeMap(map);
-    }
-
-    @Override
-    public void setHoldability(int holdability) throws SQLException {
-        cc.setHoldability(holdability);
-    }
-
-    @Override
-    public int getHoldability() throws SQLException {
-        return cc.getHoldability();
-    }
-
-    @Override
-    public Savepoint setSavepoint() throws SQLException {
-        return cc.setSavepoint();
-    }
-
-    @Override
-    public Savepoint setSavepoint(String name) throws SQLException {
-        return cc.setSavepoint(name);
-    }
-
-    @Override
-    public void rollback(Savepoint savepoint) throws SQLException {
-        cc.rollback(savepoint);
-    }
-
-    @Override
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        cc.releaseSavepoint(savepoint);
-    }
-
-    @Override
-    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
-            throws SQLException {
-        return cc.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(
-            String sql,
-            int resultSetType,
-            int resultSetConcurrency,
-            int resultSetHoldability) throws SQLException {
-        return cc.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-    }
-
-    @Override
-    public CallableStatement prepareCall(
-            String sql,
-            int resultSetType,
-            int resultSetConcurrency,
-            int resultSetHoldability) throws SQLException {
-        return cc.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        return cc.prepareStatement(sql, autoGeneratedKeys);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
-        return cc.prepareStatement(sql, columnIndexes);
-    }
-
-    @Override
-    public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
-        return cc.prepareStatement(sql, columnNames);
-    }
-
-    @Override
-    public Clob createClob() throws SQLException {
-        return cc.createClob();
-    }
-
-    @Override
-    public Blob createBlob() throws SQLException {
-        return cc.createBlob();
-    }
-
-    @Override
-    public NClob createNClob() throws SQLException {
-        return cc.createNClob();
-    }
-
-    @Override
-    public SQLXML createSQLXML() throws SQLException {
-        return cc.createSQLXML();
-    }
-
-    @Override
-    public boolean isValid(int timeout) throws SQLException {
-        return cc.isValid(timeout);
-    }
-
-    @Override
-    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-        cc.setClientInfo(name, value);
-    }
-
-    @Override
-    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-        cc.setClientInfo(properties);
-    }
-
-    @Override
-    public String getClientInfo(String name) throws SQLException {
-        return cc.getClientInfo(name);
-    }
-
-    @Override
-    public Properties getClientInfo() throws SQLException {
-        return cc.getClientInfo();
-    }
-
-    @Override
-    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-        return cc.createArrayOf(typeName, elements);
-    }
-
-    @Override
-    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-        return cc.createStruct(typeName, attributes);
-    }
-
-    @Override
-    public void setSchema(String schema) throws SQLException {
-        cc.setSchema(schema);
-    }
-
-    @Override
-    public String getSchema() throws SQLException {
-        return cc.getSchema();
-    }
-
-    @Override
-    public void abort(Executor executor) throws SQLException {
-        cc.abort(executor);
-    }
-
-    @Override
-    public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
-        cc.setNetworkTimeout(executor, milliseconds);
-    }
-
-    @Override
-    public int getNetworkTimeout() throws SQLException {
-        return cc.getNetworkTimeout();
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
deleted file mode 100644
index 40af34bdc..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.db;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-
-import javax.sql.DataSource;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataSourceWrap implements DataSource {
-
-    private static final Logger log = LoggerFactory.getLogger(DataSourceWrap.class);
-
-    private DataSource dataSource;
-
-    @Override
-    public PrintWriter getLogWriter() throws SQLException {
-        return dataSource.getLogWriter();
-    }
-
-    @Override
-    public void setLogWriter(PrintWriter out) throws SQLException {
-        dataSource.setLogWriter(out);
-    }
-
-    @Override
-    public void setLoginTimeout(int seconds) throws SQLException {
-        dataSource.setLoginTimeout(seconds);
-    }
-
-    @Override
-    public int getLoginTimeout() throws SQLException {
-        return dataSource.getLoginTimeout();
-    }
-
-    @Override
-    public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
-        return dataSource.getParentLogger();
-    }
-
-    @Override
-    public <T> T unwrap(Class<T> iface) throws SQLException {
-        return dataSource.unwrap(iface);
-    }
-
-    @Override
-    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-        return dataSource.isWrapperFor(iface);
-    }
-
-    @Override
-    public Connection getConnection() throws SQLException {
-        Connection c = dataSource.getConnection();
-
-        log.debug("getConnection: " + c.getClass().getName());
-
-        c.setAutoCommit(true);
-        return c;
-    }
-
-    @Override
-    public Connection getConnection(String username, String password) throws SQLException {
-        Connection c = dataSource.getConnection(username, password);
-
-        log.debug("getConnection: " + c.getClass().getName());
-
-        c.setAutoCommit(true);
-        return c;
-    }
-
-    public void setDataSource(DataSource dataSource) {
-        this.dataSource = dataSource;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
deleted file mode 100644
index 83cc77490..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.expr;
-
-import java.util.Map;
-
-public class ExpressionEvaluator {
-
-    public static long evalLong(String expr, Map<String, Object> vars) {
-        return (long) evalFloat(expr, vars);
-    }
-
-    public static float evalFloat(String expr, Map<String, Object> vars) {
-        expr = expr.trim();
-        int sl = expr.length();
-        if (sl == 0)
-            throw new IllegalArgumentException("Cannot interpret empty string.");
-
-        // Remove parentheses if any
-        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
-            return evalFloat(expr.substring(1, sl - 1), vars);
-
-        // Look for operators in the order of least priority
-        String[] sss = findOperator(expr, "-", true);
-        if (sss != null)
-            return evalFloat(sss[0], vars) - evalFloat(sss[1], vars);
-
-        sss = findOperator(expr, "+", true);
-        if (sss != null)
-            return evalFloat(sss[0], vars) + evalFloat(sss[1], vars);
-
-        sss = findOperator(expr, "/", true);
-        if (sss != null)
-            return evalFloat(sss[0], vars) / evalFloat(sss[1], vars);
-
-        sss = findOperator(expr, "*", true);
-        if (sss != null)
-            return evalFloat(sss[0], vars) * evalFloat(sss[1], vars);
-
-        // Check if expr is a number
-        try {
-            return Float.valueOf(expr);
-        } catch (Exception e) {
-        }
-
-        // Must be a variable
-        Object v = vars.get(expr);
-        if (v != null) {
-            if (v instanceof Float)
-                return (Float) v;
-            if (v instanceof Long)
-                return (Long) v;
-            if (v instanceof Integer)
-                return (Integer) v;
-        }
-        return 0;
-    }
-
-    public static boolean evalBoolean(String expr, Map<String, Object> vars) {
-        expr = expr.trim();
-        int sl = expr.length();
-        if (sl == 0)
-            throw new IllegalArgumentException("Cannot interpret empty string.");
-
-        if (expr.equalsIgnoreCase("true"))
-            return true;
-
-        if (expr.equalsIgnoreCase("false"))
-            return false;
-
-        // Remove parentheses if any
-        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
-            return evalBoolean(expr.substring(1, sl - 1), vars);
-
-        // Look for operators in the order of least priority
-        String[] sss = findOperator(expr, "or", true);
-        if (sss != null)
-            return evalBoolean(sss[0], vars) || evalBoolean(sss[1], vars);
-
-        sss = findOperator(expr, "and", true);
-        if (sss != null)
-            return evalBoolean(sss[0], vars) && evalBoolean(sss[1], vars);
-
-        sss = findOperator(expr, "not", true);
-        if (sss != null)
-            return !evalBoolean(sss[1], vars);
-
-        sss = findOperator(expr, "!=", false);
-        if (sss == null)
-            sss = findOperator(expr, "<>", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) != evalLong(sss[1], vars);
-
-        sss = findOperator(expr, "==", false);
-        if (sss == null)
-            sss = findOperator(expr, "=", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) == evalLong(sss[1], vars);
-
-        sss = findOperator(expr, ">=", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) >= evalLong(sss[1], vars);
-
-        sss = findOperator(expr, ">", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) > evalLong(sss[1], vars);
-
-        sss = findOperator(expr, "<=", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) <= evalLong(sss[1], vars);
-
-        sss = findOperator(expr, "<", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) < evalLong(sss[1], vars);
-
-        throw new IllegalArgumentException("Cannot interpret '" + expr + "': Invalid expression.");
-    }
-
-    private static String[] findOperator(String s, String op, boolean delimiterRequired) {
-        int opl = op.length();
-        int sl = s.length();
-        String delimiters = " \0\t\r\n()";
-        int pcount = 0, qcount = 0;
-        for (int i = 0; i < sl; i++) {
-            char c = s.charAt(i);
-            if (c == '(' && qcount == 0)
-                pcount++;
-            else if (c == ')' && qcount == 0) {
-                pcount--;
-                if (pcount < 0)
-                    throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
-            } else if (c == '\'')
-                qcount = (qcount + 1) % 2;
-            else if (i <= sl - opl && pcount == 0 && qcount == 0) {
-                String ss = s.substring(i, i + opl);
-                if (ss.equalsIgnoreCase(op)) {
-                    boolean found = true;
-                    if (delimiterRequired) {
-                        // Check for delimiter before and after to make sure it is not part of another word
-                        char chbefore = '\0';
-                        if (i > 0)
-                            chbefore = s.charAt(i - 1);
-                        char chafter = '\0';
-                        if (i < sl - opl)
-                            chafter = s.charAt(i + opl);
-                        found = delimiters.indexOf(chbefore) >= 0 && delimiters.indexOf(chafter) >= 0;
-                    }
-                    if (found) {
-                        // We've found the operator, split the string
-                        String[] sss = new String[2];
-                        sss[0] = s.substring(0, i);
-                        sss[1] = s.substring(i + opl);
-                        return sss;
-                    }
-                }
-            }
-        }
-        if (pcount > 0)
-            throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
-        if (qcount > 0)
-            throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
-        return null;
-    }
-
-    private static Object parseObject(String s) {
-        s = s.trim();
-        int sl = s.length();
-        if (sl == 0)
-            throw new IllegalArgumentException("Cannot interpret empty string.");
-        if (s.equalsIgnoreCase("null"))
-            return null;
-        if (s.charAt(0) == '\'') {
-            if (sl < 2 || s.charAt(sl - 1) != '\'')
-                throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
-            return s.substring(1, sl - 1);
-        }
-        // Not in quotes - must be a number
-        try {
-            return Long.valueOf(s);
-        } catch (Exception e) {
-        }
-        try {
-            return Double.valueOf(s);
-        } catch (Exception e) {
-            throw new IllegalArgumentException("Cannot interpret '" + s + "': Invalid number.");
-        }
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
deleted file mode 100644
index 4a26d8c43..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.speed;
-
-public class SpeedUtil {
-
-    private long unitFactor = 1000;
-
-    public long convertToKbps(long maxSpeed, String unit) {
-        if (unit.equalsIgnoreCase("kbps"))
-            return maxSpeed;
-        if (unit.equalsIgnoreCase("Mbps"))
-            return maxSpeed * unitFactor;
-        if (unit.equalsIgnoreCase("Gbps"))
-            return maxSpeed * unitFactor * unitFactor;
-        return 0;
-    }
-
-    public void setUnitFactor(long unitFactor) {
-        this.unitFactor = unitFactor;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
deleted file mode 100644
index fdc3892af..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.str;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class StrUtil {
-
-    private static final Logger log = LoggerFactory.getLogger(StrUtil.class);
-
-    public static final String INDENT_STR = "    ";
-
-    public static void indent(StringBuilder ss, int ind) {
-        for (int i = 0; i < ind; i++)
-            ss.append(INDENT_STR);
-    }
-
-    public static void info(Logger log, Object o) {
-        if (log.isInfoEnabled()) {
-            StringBuilder ss = new StringBuilder();
-            struct(ss, o);
-            log.info(ss.toString());
-        }
-    }
-
-    public static void debug(Logger log, Object o) {
-        if (log.isDebugEnabled()) {
-            StringBuilder ss = new StringBuilder();
-            struct(ss, o);
-            log.debug(ss.toString());
-        }
-    }
-
-    public static void struct(StringBuilder ss, Object o) {
-        struct(ss, o, 0);
-    }
-
-    public static void struct(StringBuilder ss, Object o, int ind) {
-        if (o == null) {
-            ss.append("null");
-            return;
-        }
-
-        if (isSimple(o)) {
-            ss.append(o);
-            return;
-        }
-
-        Class<? extends Object> cls = o.getClass();
-
-        if (cls.isEnum()) {
-            ss.append(o);
-            return;
-        }
-
-        if (cls.isArray()) {
-            int n = Array.getLength(o);
-            if (n == 0) {
-                ss.append("[]");
-                return;
-            }
-
-            Object o1 = Array.get(o, 0);
-            if (isSimple(o1)) {
-                ss.append('[').append(o1);
-                for (int i = 1; i < n; i++) {
-                    o1 = Array.get(o, i);
-                    ss.append(", ").append(o1);
-                }
-                ss.append(']');
-                return;
-            }
-
-            ss.append('\n');
-            indent(ss, ind + 1);
-            ss.append('[');
-            struct(ss, o1, ind + 1);
-            for (int i = 1; i < n; i++) {
-                o1 = Array.get(o, i);
-                struct(ss, o1, ind + 1);
-            }
-            ss.append('\n');
-            indent(ss, ind + 1);
-            ss.append(']');
-            return;
-        }
-
-        if (o instanceof Collection<?>) {
-            Collection<?> ll = (Collection<?>) o;
-
-            int n = ll.size();
-            if (n == 0) {
-                ss.append("[]");
-                return;
-            }
-
-            Iterator<?> ii = ll.iterator();
-            Object o1 = ii.next();
-            if (isSimple(o1)) {
-                ss.append('[').append(o1);
-                while (ii.hasNext()) {
-                    o1 = ii.next();
-                    ss.append(", ").append(o1);
-                }
-                ss.append(']');
-                return;
-            }
-
-            ss.append('\n');
-            indent(ss, ind + 1);
-            ss.append('[');
-            struct(ss, o1, ind + 1);
-            while (ii.hasNext()) {
-                o1 = ii.next();
-                struct(ss, o1, ind + 1);
-            }
-            ss.append('\n');
-            indent(ss, ind + 1);
-            ss.append(']');
-            return;
-
-        }
-
-        if (o instanceof Map<?, ?>) {
-            Map<?, ?> mm = (Map<?, ?>) o;
-
-            int n = mm.size();
-            if (n == 0) {
-                ss.append("{}");
-                return;
-            }
-
-            ss.append('{');
-
-            for (Object k : mm.keySet()) {
-                ss.append('\n');
-                indent(ss, ind + 1);
-                ss.append(k).append(": ");
-
-                Object o1 = mm.get(k);
-                struct(ss, o1, ind + 2);
-            }
-
-            ss.append('\n');
-            indent(ss, ind);
-            ss.append('}');
-
-            return;
-        }
-
-        Field[] fields = cls.getFields();
-
-        if (fields.length == 0) {
-            ss.append(o);
-            return;
-        }
-
-        ss.append('\n');
-        indent(ss, ind + 1);
-        ss.append('<').append(cls.getSimpleName()).append("> {");
-        for (Field f : fields) {
-            ss.append('\n');
-            indent(ss, ind + 2);
-            ss.append(f.getName()).append(": ");
-            Object v = null;
-            try {
-                v = f.get(o);
-            } catch (IllegalAccessException e) {
-                v = "*** Cannot obtain value *** : " + e.getMessage();
-            }
-            struct(ss, v, ind + 2);
-        }
-        ss.append('\n');
-        indent(ss, ind + 1);
-        ss.append('}');
-    }
-
-    public static SortedSet<Integer> listInt(String ss, String warning) {
-        if (ss == null || ss.length() == 0)
-            return null;
-
-        SortedSet<Integer> ll = new TreeSet<Integer>();
-        String[] str = ss.split(",");
-        for (String s : str) {
-            try {
-                int i1 = s.indexOf('-');
-                int start, end;
-                if (i1 > 0) {
-                    String s1 = s.substring(0, i1);
-                    String s2 = s.substring(i1 + 1);
-                    start = Integer.parseInt(s1);
-                    end = Integer.parseInt(s2);
-                } else
-                    start = end = Integer.parseInt(s);
-                for (int i = start; i <= end; i++)
-                    ll.add(i);
-            } catch (NumberFormatException e) {
-                // Skip this - bad data in DB
-                log.warn(warning + " [" + s + "].", e);
-            }
-        }
-        return ll;
-    }
-
-    public static String listInt(SortedSet<Integer> ll) {
-        if (ll == null || ll.size() == 0)
-            return null;
-
-        StringBuilder sb = new StringBuilder(2000);
-        Iterator<Integer> i = ll.iterator();
-        int n = i.next();
-        int start = n;
-        int end = n;
-        boolean first = true;
-        while (i.hasNext()) {
-            n = i.next();
-            if (n != end + 1) {
-                if (!first)
-                    sb.append(',');
-                first = false;
-
-                if (start == end)
-                    sb.append(start);
-                else if (start == end - 1)
-                    sb.append(start).append(',').append(end);
-                else
-                    sb.append(start).append('-').append(end);
-
-                start = n;
-            }
-            end = n;
-        }
-
-        if (!first)
-            sb.append(',');
-
-        if (start == end)
-            sb.append(start);
-        else if (start == end - 1)
-            sb.append(start).append(',').append(end);
-        else
-            sb.append(start).append('-').append(end);
-
-        return sb.toString();
-    }
-
-    public static List<String> listStr(String s) {
-        if (s == null || s.length() == 0)
-            return null;
-        String[] ss = s.split(",");
-        return Arrays.asList(ss);
-    }
-
-    public static String listStr(Collection<String> ll) {
-        if (ll == null || ll.isEmpty())
-            return null;
-        StringBuilder ss = new StringBuilder(1000);
-        Iterator<String> i = ll.iterator();
-        ss.append(i.next());
-        while (i.hasNext())
-            ss.append(',').append(i.next());
-        return ss.toString();
-    }
-
-    private static boolean isSimple(Object o) {
-        if (o == null)
-            return true;
-
-        if (o instanceof Number || o instanceof String || o instanceof Boolean || o instanceof Date)
-            return true;
-
-        return false;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
deleted file mode 100644
index 4e262ba9b..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.vrf;
-
-public class VpnParam {
-
-    public String vpnId;
-    public String siteType;
-    public String spokeServiceInstanceId;
-    public String routeGroupName;
-}
diff --git a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java b/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
deleted file mode 100644
index 4060935ae..000000000
--- a/resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdnc.util.vrf;
-
-public class VrfUtil {
-
-    public static String createVrfInstanceName(
-            String serviceInstanceId,
-            String vpnId,
-            String siteType,
-            String routeGroup) {
-        if (vpnId == null || vpnId.trim().length() == 0)
-            return null;
-
-        String ss = "VPN-" + vpnId;
-        if (siteType != null && siteType.equalsIgnoreCase("hub"))
-            ss += "-HUB";
-        if (siteType != null && siteType.equalsIgnoreCase("spoke"))
-            ss += "-SP-" + serviceInstanceId;
-        if (routeGroup != null && routeGroup.trim().length() > 0)
-            ss += "-RG-" + routeGroup;
-
-        return ss;
-    }
-
-    public static VpnParam parseVrfInstanceName(String vrfInstanceName) {
-        VpnParam vpnParam = new VpnParam();
-
-        int i1 = vrfInstanceName.indexOf("-HUB");
-        if (i1 > 0)
-            vpnParam.siteType = "HUB";
-
-        int i2 = vrfInstanceName.indexOf("-SP-");
-        if (i2 > 0)
-            vpnParam.siteType = "SPOKE";
-
-        int i3 = vrfInstanceName.indexOf("-RG-");
-        if (i3 > 0)
-            vpnParam.routeGroupName = vrfInstanceName.substring(i3 + 4);
-
-        int i4 = vrfInstanceName.length();
-        if (i1 > 0)
-            i4 = i1;
-        else if (i2 > 0)
-            i4 = i2;
-        else if (i3 > 0)
-            i4 = i3;
-        vpnParam.vpnId = vrfInstanceName.substring(4, i4);
-
-        if (i2 > 0 && i3 < 0)
-            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4);
-        if (i2 > 0 && i3 > 0)
-            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4, i3);
-
-        return vpnParam;
-    }
-}
diff --git a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
index 5dfb08838..473173e76 100644
--- a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
+++ b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-  			reserved.
+                          reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -27,11 +27,11 @@
 
     <!-- JDBC setup -->
 
-    <bean id="rm.dataSource" class="org.openecomp.sdnc.util.db.DataSourceWrap">
+    <bean id="rm.dataSource" class="org.onap.ccsdk.sli.adaptors.util.db.DataSourceWrap">
         <property name="dataSource" ref="dblib.dataSource" />
     </bean>
 
-    <bean id="lock.dataSource" class="org.openecomp.sdnc.util.db.CachedDataSourceWrap">
+    <bean id="lock.dataSource" class="org.onap.ccsdk.sli.adaptors.util.db.CachedDataSourceWrap">
         <property name="dataSource" ref="rm.dataSource" />
     </bean>
 
@@ -45,17 +45,17 @@
 
     <!-- Utils Configuration -->
 
-    <bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
+    <bean id="speedUtil" class="org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil">
         <property name="unitFactor" value="1000" />
     </bean>
 
     <!-- Resource Lock Configuration -->
 
-    <bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
+    <bean id="resourceLockDao" class="org.onap.ccsdk.sli.adaptors.lock.dao.ResourceLockDaoImpl">
         <property name="jdbcTemplate" ref="lock.jdbcTemplate" />
     </bean>
 
-    <bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
+    <bean id="lockHelper" class="org.onap.ccsdk.sli.adaptors.lock.comp.LockHelperImpl">
         <property name="resourceLockDao" ref="resourceLockDao" />
         <property name="retryCount" value="10" />
         <property name="lockWait" value="5" /> <!-- Seconds -->
@@ -63,25 +63,25 @@
 
     <!-- RM Configuration -->
 
-    <bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
+    <bean id="resourceJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
+    <bean id="allocationItemJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
+    <bean id="resourceLoadJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
+    <bean id="resourceDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceDaoImpl">
         <property name="resourceJdbcDao" ref="resourceJdbcDao" />
         <property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
         <property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
     </bean>
 
-    <bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
+    <bean id="resourceManager" class="org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManagerImpl">
         <property name="lockHelper" ref="lockHelper" />
         <property name="resourceDao" ref="resourceDao" />
         <property name="applicationId" value="SDNC" />
@@ -90,61 +90,61 @@
 
     <!-- Equipment DAO Configuration -->
 
-    <bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
+    <bean id="serverDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.ServerDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
+    <bean id="vpePortDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
+    <bean id="vplspePortDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.VplspePortDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
     <!-- Rule DAO Configuration -->
 
-    <bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
+    <bean id="parameterDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.ParameterDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
+    <bean id="maxPortSpeedDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxPortSpeedDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
         <property name="speedUtil" ref="speedUtil" />
     </bean>
 
-    <bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
+    <bean id="maxServerSpeedDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxServerSpeedDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
         <property name="speedUtil" ref="speedUtil" />
     </bean>
 
-    <bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
+    <bean id="resourceRuleDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
+    <bean id="rangeRuleDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
+    <bean id="vpeLockDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.VpeLockDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
     <!-- Service DAO Configuration -->
 
-    <bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
+    <bean id="serviceResourceDao" class="org.onap.ccsdk.sli.adaptors.ra.service.dao.ServiceResourceDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
     <!-- ResourceAllocator Configuration -->
 
     <bean id="allocationRequestBuilder"
-        class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
+        class="org.onap.ccsdk.sli.adaptors.ra.rule.comp.AllocationRequestBuilderImpl">
         <property name="resourceRuleDao" ref="resourceRuleDao" />
         <property name="rangeRuleDao" ref="rangeRuleDao" />
     </bean>
 
-    <bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
+    <bean id="resourceAllocator" class="org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator">
         <property name="speedUtil" ref="speedUtil" />
         <property name="parameterDao" ref="parameterDao" />
         <property name="serverDao" ref="serverDao" />
@@ -160,13 +160,13 @@
 
     <!-- EndPointAllocator Configuration -->
 
-    <bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
+    <bean id="endPointAllocator" class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocatorImpl">
         <property name="resourceManager" ref="resourceManager" />
         <property name="endPointAllocationDefinitionMap">
             <map>
                 <entry key="L3AVPN-PORT">
                     <list>
-                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
                             <property name="serviceModel" value="L3AVPN-PORT" />
                             <property name="endPointPosition" value="VPE-Cust" />
                             <property name="equipmentReader" ref="vpePortReader" />
@@ -193,7 +193,7 @@
                 </entry>
                 <entry key="L3AVPN-EVC">
                     <list>
-                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
                             <property name="serviceModel" value="L3AVPN-EVC" />
                             <property name="endPointPosition" value="VPE-Cust" />
                             <property name="equipmentReader" ref="vpePortReader" />
@@ -230,67 +230,67 @@
 
     <!-- Equipment Readers Configuration -->
 
-    <bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
+    <bean id="vpePortReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.VpePortReader">
         <property name="vpePortDao" ref="vpePortDao" />
     </bean>
 
-    <bean id="vnfReader" class="org.openecomp.sdnc.ra.reader.VnfReader">
+    <bean id="vnfReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.VnfReader">
     </bean>
 
-    <bean id="aicSiteReader" class="org.openecomp.sdnc.ra.reader.AicSiteReader">
+    <bean id="aicSiteReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.AicSiteReader">
     </bean>
 
-    <bean id="uplinkCircuitReader" class="org.openecomp.sdnc.ra.reader.UplinkCircuitReader">
+    <bean id="uplinkCircuitReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.UplinkCircuitReader">
     </bean>
 
     <!-- Equipment Checks Configuration -->
 
-    <bean id="vlanSpeedCheck" class="org.openecomp.sdnc.ra.check.VlanSpeedCheck">
+    <bean id="vlanSpeedCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.VlanSpeedCheck">
     </bean>
 
-    <bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
+    <bean id="provStatusCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.ProvStatusCheck">
     </bean>
 
-    <bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
+    <bean id="excludeVpeCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.ExcludeVpeCheck">
     </bean>
 
-    <bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
+    <bean id="vpeLockCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.VpeLockCheck">
         <property name="vpeLockDao" ref="vpeLockDao" />
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
-    <bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
+    <bean id="anyVrfPresentCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.AnyVrfPresentCheck">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
-    <bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
+    <bean id="oneMVrfCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.OneMVrfCheck">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
-    <bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
+    <bean id="hubWithRgCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.HubWithRgCheck">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
     <!-- Preference Rule Configuration -->
 
-    <bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
+    <bean id="affinityLinkPref" class="org.onap.ccsdk.sli.adaptors.ra.pref.AffinityLinkPref">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
     <!-- Resource Allocation Rule Configuration -->
 
-    <bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
+    <bean id="dbAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.DbAllocationRule">
         <property name="resourceRuleDao" ref="resourceRuleDao" />
         <property name="rangeRuleDao" ref="rangeRuleDao" />
     </bean>
 
-    <bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
+    <bean id="vrfAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.VrfAllocationRule">
     </bean>
 
-    <bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
+    <bean id="servingSiteAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.ServingSiteAllocationRule">
     </bean>
 
-    <bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
+    <bean id="affinityAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.AffinityAllocationRule">
     </bean>
 
 </beans>
diff --git a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
index 591e5b88e..7fe544378 100644
--- a/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
+++ b/resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-  			reserved.
+                          reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -30,10 +30,10 @@
     <reference id="dblib.dataSource">
         <interfaces>
             <beans:value>javax.sql.DataSource</beans:value>
-            <beans:value>org.openecomp.sdnc.sli.resource.dblib.DbLibService</beans:value>
+            <beans:value>org.onap.ccsdk.sli.adaptors.resource.dblib.DbLibService</beans:value>
         </interfaces>
     </reference>
 
-    <service ref="resourceAllocator" interface="org.openecomp.sdnc.ra.ResourceAllocator" />
+    <service ref="resourceAllocator" interface="org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator" />
 
 </beans:beans>
diff --git a/resource-assignment/provider/src/main/resources/resource-allocator.properties b/resource-assignment/provider/src/main/resources/resource-allocator.properties
index 887697bdb..72dbcf87c 100644
--- a/resource-assignment/provider/src/main/resources/resource-allocator.properties
+++ b/resource-assignment/provider/src/main/resources/resource-allocator.properties
@@ -3,7 +3,7 @@
 # openECOMP : SDN-C
 # ================================================================================
 # Copyright (C) 2017 AT&T Intellectual Property. All rights
-# 			reserved.
+#                         reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -19,8 +19,8 @@
 # ============LICENSE_END=========================================================
 ###
 
-org.openecomp.sdnc.sli.dbtype = jdbc
-org.openecomp.sdnc.sli.jdbc.url = jdbc:mysql://dbhost:3306/sdnctl
-org.openecomp.sdnc.sli.jdbc.database = sdnctl
-org.openecomp.sdnc.sli.jdbc.user = sdnctl
-org.openecomp.sdnc.sli.jdbc.password = gamma
+org.onap.ccsdk.sli.adaptors.dbtype = jdbc
+org.onap.ccsdk.sli.adaptors.jdbc.url = jdbc:mysql://dbhost:3306/sdnctl
+org.onap.ccsdk.sli.adaptors.jdbc.database = sdnctl
+org.onap.ccsdk.sli.adaptors.jdbc.user = sdnctl
+org.onap.ccsdk.sli.adaptors.jdbc.password = gamma
diff --git a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
index 8c0b0fb7d..f69b6bcd8 100644
--- a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 AT&T Intellectual Property. All rights
--- 			reserved.
+--                         reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
index 8d8af4988..bc7babaf1 100644
--- a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 AT&T Intellectual Property. All rights
--- 			reserved.
+--                         reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
index ca0624a24..e3f18390b 100644
--- a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
+++ b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 AT&T Intellectual Property. All rights
--- 			reserved.
+--                         reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java
new file mode 100644
index 000000000..ba57f626a
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java
@@ -0,0 +1,261 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import java.util.Date;
+
+import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestDb;
+import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestTable;
+
+public class DataSetup {
+
+    private TestDb testDb;
+
+    private TestTable vpePool = null;
+    private TestTable vplspePool = null;
+    private TestTable pserver = null;
+    private TestTable serviceResource = null;
+    private TestTable resource = null;
+    private TestTable allocationItem = null;
+
+    private static final String[] VPE_POOL_COLUMNS = {
+            "vpe_name", "ipv4_oam_address", "loopback0_ipv4_address", "provisioning_status", "aic_site_id",
+            "availability_zone", "vlan_id_outer", "vendor", "physical_intf_name", "physical_intf_speed",
+            "physical_intf_units", "vpe_uuid", "vpe_id", "image_filename" };
+
+    private static final String[] VPLSPE_POOL_COLUMNS = {
+            "vplspe_name", "aic_site_id", "availability_zone", "physical_intf_name", "physical_intf_speed",
+            "physical_intf_units", "loopback0_ipv4_address", "vlan_id_outer", "vplspe_uuid", "image_filename",
+            "provisioning_status", "vendor" };
+
+    private static final String[] PSERVER_COLUMNS = {
+            "hostname", "ptnii_equip_name", "number_of_cpus", "disk_in_gigabytes", "ram_in_megabytes", "equip_type",
+            "equip_vendor", "equip_model", "fqdn", "pserver_selflink", "ipv4_oam_address", "serial_number",
+            "pserver_id", "internet_topology", "aic_site_id", "in_maint", "pserver_name2", "purpose" };
+
+    private static final String[] SERVICE_RESOURCE_COLUMNS = {
+            "service_instance_id", "service_status", "service_change_number", "resource_set_id", "resource_union_id" };
+
+    private static final String[] RESOURCE_COLUMNS = { "asset_id", "resource_name", "resource_type", "lt_used" };
+
+    private static final String[] ALLOCATION_ITEM_COLUMNS = {
+            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
+            "lt_used", "allocation_time" };
+
+    private void initTables() {
+        if (vpePool == null)
+            vpePool = testDb.table("VPE_POOL", "vpe_name", VPE_POOL_COLUMNS);
+        if (vplspePool == null)
+            vplspePool = testDb.table("VPLSPE_POOL", "vplspe_name", VPLSPE_POOL_COLUMNS);
+        if (pserver == null)
+            pserver = testDb.table("PSERVER", "hostname", PSERVER_COLUMNS);
+        if (serviceResource == null)
+            serviceResource = testDb.table("SERVICE_RESOURCE", "service_resource_id", SERVICE_RESOURCE_COLUMNS);
+        if (resource == null)
+            resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
+        if (allocationItem == null)
+            allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
+    }
+
+    public void cleanup() {
+        initTables();
+        vpePool.delete("true");
+        vplspePool.delete("true");
+        pserver.delete("true");
+        serviceResource.delete("true");
+        allocationItem.delete("true");
+        resource.delete("true");
+    }
+
+    public void setupVpePort(
+            String aicSiteId,
+            String vpeId,
+            String interfaceName,
+            String provStatus,
+            String imageFileName) {
+        initTables();
+        vpePool.add(vpeId, "127.0.0.1", "107.134.152.139", provStatus, aicSiteId, "mtanj-esx-az01", "3501",
+                "JUNIPER", interfaceName, "1", "GBPS", "vpe002", "VPESAT-auttx200me6", imageFileName);
+    }
+
+    public void setupVplspePort(
+            String aicSiteId,
+            String vplspeId,
+            String interfaceName,
+            String provStatus,
+            String imageFileName) {
+        initTables();
+        vplspePool.add(vplspeId, aicSiteId, "mtanj-esx-az01", interfaceName, "100", "GBPS", "192.168.119.32", "3501",
+                "vpls002", imageFileName, provStatus, "JUNIPER");
+    }
+
+    public void setupPserver(String hostname, String aicSiteId) {
+        initTables();
+        pserver.add(hostname, hostname + "srv1", 4, 1000, 16000, "equip_type", "equip_vendor", "equip_model", "fqdn",
+                "pserver_selflink", "123.123.123.123", "serial_number", "pserver_id", "internet_topology", aicSiteId,
+                "N", hostname, "purpose");
+    }
+
+    public void setupService(
+            String serviceInstanceId,
+            String status,
+            int changeNumber,
+            long speedKbps,
+            String vpeId,
+            String vplspeId,
+            String serverId) {
+        initTables();
+
+        String resourceSetId = serviceInstanceId + "/" + changeNumber;
+        String resourceUnionId = serviceInstanceId;
+
+        serviceResource.add(serviceInstanceId, status, changeNumber, resourceSetId, resourceUnionId);
+
+        Long rid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
+        if (rid == null) {
+            resource.add(vpeId + "/ae0", "Bandwidth", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
+
+        rid = resource.getId("asset_id = '" + vplspeId + "' AND resource_name = 'Bandwidth'");
+        if (rid == null) {
+            resource.add(vplspeId, "Bandwidth", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
+
+        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Bandwidth'");
+        if (rid == null) {
+            resource.add(serverId, "Bandwidth", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
+
+        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Connection'");
+        if (rid == null) {
+            resource.add(serverId, "Connection", "Limit", 1);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, 1, new Date());
+    }
+
+    public boolean serviceNotInDb(String serviceInstanceId, String status, Integer changeNumber) {
+        String where = "service_instance_id = '" + serviceInstanceId + "'";
+        if (status != null)
+            where += " AND service_status = '" + status + "'";
+        if (changeNumber != null)
+            where += " AND service_change_number = " + changeNumber;
+
+        if (serviceResource.exists(where))
+            return false;
+
+        where = "resource_union_id = '" + serviceInstanceId + "'";
+        if (changeNumber != null)
+            where += " AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "'";
+
+        if (allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public boolean serviceCorrectInDb(String serviceInstanceId, String status, int changeNumber, long speedKbps) {
+        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
+                "' AND service_change_number = " + changeNumber;
+        if (!serviceResource.exists(where))
+            return false;
+
+        where = "resource_union_id = '" + serviceInstanceId + "' AND resource_set_id = '" + serviceInstanceId + "/" +
+                changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public boolean serviceCorrectInDb(
+            String vpeId,
+            String aicSiteId,
+            String serviceInstanceId,
+            String status,
+            int changeNumber,
+            long speedKbps) {
+
+        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
+                "' AND service_change_number = " + changeNumber;
+        if (!serviceResource.exists(where))
+            return false;
+
+        Long vpebwrid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
+        if (vpebwrid == null)
+            return false;
+
+        where = "resource_id = " + vpebwrid + " AND resource_union_id = '" + serviceInstanceId +
+                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        Long srvbwrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Bandwidth'");
+        if (srvbwrid == null)
+            return false;
+
+        where = "resource_id = " + srvbwrid + " AND resource_union_id = '" + serviceInstanceId +
+                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        Long srvconrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Connection'");
+        if (srvconrid == null)
+            return false;
+
+        where = "resource_id = " + srvconrid + " AND resource_union_id = '" + serviceInstanceId +
+                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = 1";
+        if (!allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public boolean serviceCorrectInDb(
+            String serviceInstanceId,
+            String endPointPosition,
+            String status,
+            int changeNumber,
+            long speedKbps) {
+        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
+                "' AND service_change_number = " + changeNumber;
+        if (!serviceResource.exists(where))
+            return false;
+
+        where = "resource_union_id = '" + serviceInstanceId + "/" + endPointPosition + "' AND resource_set_id = '" +
+                serviceInstanceId + "/" + endPointPosition + "/" + changeNumber + "' AND lt_used = " + speedKbps;
+        if (!allocationItem.exists(where))
+            return false;
+
+        return true;
+    }
+
+    public void setTestDb(TestDb testDb) {
+        this.testDb = testDb;
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java
new file mode 100644
index 000000000..5b9423422
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java
@@ -0,0 +1,424 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestIsAvailable {
+
+    private static final Logger log = LoggerFactory.getLogger(TestIsAvailable.class);
+
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
+
+    @Autowired(required = true)
+    private DataSetup dataSetup;
+
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test successful response - all resources available");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test002() throws Exception {
+        String t = "002";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - request very big number that is above the limits");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("960000"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test003() throws Exception {
+        String t = "003";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - PROV check for VPE");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "---", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test004() throws Exception {
+        String t = "004";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - PROV check for VPLSPE");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "---", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test005() throws Exception {
+        String t = "005";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - VPE not found in DB");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test006() throws Exception {
+        String t = "006";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - VPLSPE not found in DB");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("0"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test007() throws Exception {
+        String t = "007";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - test max available speed calculation");
+
+        String service1 = "isAvailable" + t + "/service1";
+        String existingService1 = "isAvailable" + t + "/existing-service1";
+        String existingService2 = "isAvailable" + t + "/existing-service2";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(existingService1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1",
+                "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(existingService2, "Active", 3, 100000, "mtanjrsv127", "mtsnj303vr1",
+                "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(existingService2, "Pending", 4, 500000, "mtanjrsv127", "mtsnj303vr1",
+                "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("260000"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test008() throws Exception {
+        String t = "008";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test capacity not found - test server limit depending on number of connections");
+
+        String service1 = "isAvailable" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 13; i++)
+            dataSetup.setupService("isAvailable" + t + "/existing-service" + i, "Active", 2, 20000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
+        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
+        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(maxAvailableSpeed.equals("340000"));
+        Assert.assertTrue(speedUnit.equals("kbps"));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test009() throws Exception {
+        String t = "009";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test successful response - no service instance id in input - all resources available");
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+    }
+
+    @Test
+    public void test010() throws Exception {
+        String t = "010";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - no aic-site-id in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.aic-site-id is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test011() throws Exception {
+        String t = "011";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - no speed in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals("tmp.resource-allocator.speed is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test012() throws Exception {
+        String t = "012";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - speed not a number in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "nnnnn");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals("Invalid tmp.resource-allocator.speed. Must be a number."));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test013() throws Exception {
+        String t = "013";
+        log.info("============== isAvailable " + t + " ================================");
+        log.info("=== Test input validations - speed-unit missing in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.speed-unit is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java
new file mode 100644
index 000000000..435f4aaa5
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java
@@ -0,0 +1,85 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestQuery {
+
+    private static final Logger log = LoggerFactory.getLogger(TestQuery.class);
+
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
+
+    @Autowired(required = true)
+    private DataSetup dataSetup;
+
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== query " + t + " ================================");
+        log.info("=== Test reading assigned resources (subinterface-id, vlan-id-inner)");
+
+        String service1 = "ICOREPVC" + t + "-1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
+        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
+
+        st = resourceAllocator.query("NetworkCapacity", true, null, service1, "end-point", null, ctx);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertEquals(ctx.getAttribute("end-point.subinterface-id"), "100");
+        Assert.assertEquals(ctx.getAttribute("end-point.vlan-id-inner"), "2");
+        Assert.assertEquals(ctx.getAttribute("end-point.vpe-name"), "mtanjrsv126");
+        Assert.assertEquals(ctx.getAttribute("end-point.affinity-link"), "1");
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java
new file mode 100644
index 000000000..621022545
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java
@@ -0,0 +1,430 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestRelease {
+
+    private static final Logger log = LoggerFactory.getLogger(TestRelease.class);
+
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
+
+    @Autowired(required = true)
+    private DataSetup dataSetup;
+
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - new start");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test002() throws Exception {
+        String t = "002";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - change");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test003() throws Exception {
+        String t = "003";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - active there, but no pending - should do nothing and return success");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+    }
+
+    @Test
+    public void test004() throws Exception {
+        String t = "004";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - cancel - nothing in DB - should return success");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test005() throws Exception {
+        String t = "005";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - activate - new start");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+    }
+
+    @Test
+    public void test006() throws Exception {
+        String t = "006";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - actovate - change");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
+    }
+
+    @Test
+    public void test007() throws Exception {
+        String t = "007";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - activate - active there, but no pending - should do nothing and return success");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+    }
+
+    @Test
+    public void test008() throws Exception {
+        String t = "008";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - activate - nothing in DB - should return success");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test009() throws Exception {
+        String t = "009";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - only pending in DB");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test010() throws Exception {
+        String t = "010";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - only active in DB");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test011() throws Exception {
+        String t = "011";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - both active and pending in DB");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test012() throws Exception {
+        String t = "012";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test release - disconnect - nothing in DB - should return success");
+
+        String service1 = "release" + t + "/service1";
+
+        dataSetup.cleanup();
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test013() throws Exception {
+        String t = "013";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test input validations - request-type missing in input");
+
+        String service1 = "release" + t + "/service1";
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        try {
+            resourceAllocator.release("NetworkCapacity", null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.request-type is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test014() throws Exception {
+        String t = "014";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test input validations - invalid request-type in input");
+
+        String service1 = "release" + t + "/service1";
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+
+        try {
+            resourceAllocator.release("NetworkCapacity", null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are Cancel, Activate, Disconnect."));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test015() throws Exception {
+        String t = "015";
+        log.info("============== release " + t + " ================================");
+        log.info("=== Test input validations - missing service-instance-id in input");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
+
+        try {
+            resourceAllocator.release("NetworkCapacity", null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "tmp.resource-allocator.service-instance-id is required in ResourceAllocator"));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java
new file mode 100644
index 000000000..a4ee52547
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java
@@ -0,0 +1,681 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestReserve {
+
+    private static final Logger log = LoggerFactory.getLogger(TestReserve.class);
+
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
+
+    @Autowired(required = true)
+    private DataSetup dataSetup;
+
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - new start - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 300000));
+    }
+
+    @Test
+    public void test002() throws Exception {
+        String t = "002";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - new start supp - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        // ctx.setAttribute("tmp.resource-allocator.request-type", "New"); - Default is New
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "400");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
+    }
+
+    @Test
+    public void test003() throws Exception {
+        String t = "003";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - change - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "400");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+    }
+
+    @Test
+    public void test004() throws Exception {
+        String t = "004";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - change supp - all resources available");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "500");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 500000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test005() throws Exception {
+        String t = "005";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - change - check that hard limits are applied, not soft for change");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1200000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "kbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 1200000));
+    }
+
+    @Test
+    public void test006() throws Exception {
+        String t = "006";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - new start");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test007() throws Exception {
+        String t = "007";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - new start supp");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test008() throws Exception {
+        String t = "008";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - change");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test009() throws Exception {
+        String t = "009";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test capacity not found - change supp");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 4));
+    }
+
+    @Test
+    public void test010() throws Exception {
+        String t = "010";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test border condition - connection limit - new start - adding connection " +
+                "when we are on the limit should fail");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 40; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 40; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+
+    @Test
+    public void test011() throws Exception {
+        String t = "011";
+        log.info("============== reserve " + t + " ================================");
+        log.info(
+                "=== Test border condition - connection limit - new start supp should succeed as no new connection being added");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 39; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 39; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        dataSetup.setupService(service1, "Pending", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 1000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "5");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
+    }
+
+    @Test
+    public void test012() throws Exception {
+        String t = "012";
+        log.info("============== reserve " + t + " ================================");
+        log.info(
+                "=== Test border condition - connection limit - change should succeed as no new connection being added");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 39; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 39; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "5");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+    }
+
+    @Test
+    public void test013() throws Exception {
+        String t = "013";
+        log.info("============== reserve " + t + " ================================");
+        log.info(
+                "=== Test border condition - connection limit - change supp should succeed as no new connection being added");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        for (int i = 1; i <= 39; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        for (int i = 1; i <= 39; i += 4)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        dataSetup.setupService(service1, "Pending", 3, 5000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "10");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 10000));
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
+    }
+
+    @Test
+    public void test014() throws Exception {
+        String t = "014";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test input validations - invalid request-type in input");
+
+        String service1 = "reserve" + t + "/service1";
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "10");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        try {
+            resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        } catch (SvcLogicException e) {
+            Assert.assertTrue(e.getMessage().equals(
+                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are New, Change."));
+            return;
+        }
+        Assert.fail("SvcLogicException expected");
+    }
+
+    @Test
+    public void test015() throws Exception {
+        String t = "015";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test server bw limit depends on number of servers - limit is 960Mbps for 1 server, 1920 for 2");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1200");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1200000));
+    }
+
+    @Test
+    public void test016() throws Exception {
+        String t = "016";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test resource threshold output");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "1605");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        for (String key : ctx.getAttributeKeySet())
+            if (key.startsWith("tmp.resource-allocator-output"))
+                log.info("  " + key + ": " + ctx.getAttribute(key));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1605000));
+    }
+
+    @Test
+    public void test017() throws Exception {
+        String t = "017";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
+        log.info("=== For 10 existing EVC, it should take the first row, not the second (see data.sql).");
+        log.info("=== Applied limit should be 1920Mbps, not 1680Mbps.");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        for (int i = 1; i <= 10; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "800"); // 10*100Mbps existing + 800 = 1800
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 800000));
+    }
+
+    @Test
+    public void test018() throws Exception {
+        String t = "018";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
+        log.info("=== For 11 existing EVC, it should take the second row (see data.sql).");
+        log.info("=== Applied limit should be 1680Mbps. We have 11*100 + 700, so this should fail.");
+
+        String service1 = "reserve" + t + "/service1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
+        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
+        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+
+        for (int i = 1; i <= 11; i++)
+            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
+                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "700"); // 11*100Mbps existing + 700 = 1800
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        log.info("Result: " + st);
+        log.info("  tmp.resource-allocator-output.max-available-speed: " +
+                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
+        log.info("  tmp.resource-allocator-output.speed-unit: " +
+                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+
+        log.info("Result: " + st);
+
+        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
+        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java
new file mode 100644
index 000000000..7ae169762
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java
@@ -0,0 +1,77 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestReserve2 {
+
+    private static final Logger log = LoggerFactory.getLogger(TestReserve2.class);
+
+    @Autowired(required = true)
+    private ResourceAllocator resourceAllocator;
+
+    @Autowired(required = true)
+    private DataSetup dataSetup;
+
+    @Test
+    public void test001() throws Exception {
+        String t = "001";
+        log.info("============== reserve " + t + " ================================");
+        log.info("=== Test successful response - new start - all resources available");
+
+        String service1 = "ICOREPVC" + t + "-1";
+
+        dataSetup.cleanup();
+        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
+
+        SvcLogicContext ctx = new SvcLogicContext();
+        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
+        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
+        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
+        ctx.setAttribute("tmp.resource-allocator.speed", "300");
+        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
+        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
+        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
+
+        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+
+        Assert.assertTrue(st == QueryStatus.SUCCESS);
+        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/rm/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/rm/DataSetup.java
new file mode 100644
index 000000000..473a99f4c
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/rm/DataSetup.java
@@ -0,0 +1,106 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.org.onap.ccsdk.sli.adaptors.rm;
+
+import java.util.Date;
+
+import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestDb;
+import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestTable;
+
+public class DataSetup {
+
+    private TestDb testDb;
+
+    private TestTable resource = null;
+    private TestTable allocationItem = null;
+
+    private static final String[] RESOURCE_COLUMNS =
+            { "asset_id", "resource_name", "resource_type", "lt_used", "ll_label", "ll_reference_count", "rr_used" };
+
+    private static final String[] ALLOCATION_ITEM_COLUMNS = {
+            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
+            "lt_used", "ll_label", "rr_used", "allocation_time" };
+
+    private void initTables() {
+        if (resource == null)
+            resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
+        if (allocationItem == null)
+            allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
+    }
+
+    public void cleanup() {
+        allocationItem.delete("true");
+        resource.delete("true");
+    }
+
+    public void setupLimitItem(
+            String resourceName,
+            String assetId,
+            String resourceSetId,
+            String resourceUnionId,
+            long used) {
+        initTables();
+
+        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
+        if (rid == null) {
+            resource.add(assetId, resourceName, "Limit", 1, null, null, null);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, used, null, null, new Date());
+    }
+
+    public void setupRangeItem(
+            String resourceName,
+            String assetId,
+            String resourceSetId,
+            String resourceUnionId,
+            String used) {
+        initTables();
+
+        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
+        if (rid == null) {
+            resource.add(assetId, resourceName, "Range", null, null, null, used);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, null, used, new Date());
+    }
+
+    public void setupLabelItem(
+            String resourceName,
+            String assetId,
+            String resourceSetId,
+            String resourceUnionId,
+            String label) {
+        initTables();
+
+        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
+        if (rid == null) {
+            resource.add(assetId, resourceName, "Label", null, label, 1, null);
+            rid = resource.getLastId();
+        }
+        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, label, null, new Date());
+    }
+
+    public void setTestDb(TestDb testDb) {
+        this.testDb = testDb;
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
deleted file mode 100644
index 8329cd0b7..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.ra;
-
-import java.util.Date;
-
-import jtest.util.org.openecomp.sdnc.ra.TestDb;
-import jtest.util.org.openecomp.sdnc.ra.TestTable;
-
-public class DataSetup {
-
-    private TestDb testDb;
-
-    private TestTable vpePool = null;
-    private TestTable vplspePool = null;
-    private TestTable pserver = null;
-    private TestTable serviceResource = null;
-    private TestTable resource = null;
-    private TestTable allocationItem = null;
-
-    private static final String[] VPE_POOL_COLUMNS = {
-            "vpe_name", "ipv4_oam_address", "loopback0_ipv4_address", "provisioning_status", "aic_site_id",
-            "availability_zone", "vlan_id_outer", "vendor", "physical_intf_name", "physical_intf_speed",
-            "physical_intf_units", "vpe_uuid", "vpe_id", "image_filename" };
-
-    private static final String[] VPLSPE_POOL_COLUMNS = {
-            "vplspe_name", "aic_site_id", "availability_zone", "physical_intf_name", "physical_intf_speed",
-            "physical_intf_units", "loopback0_ipv4_address", "vlan_id_outer", "vplspe_uuid", "image_filename",
-            "provisioning_status", "vendor" };
-
-    private static final String[] PSERVER_COLUMNS = {
-            "hostname", "ptnii_equip_name", "number_of_cpus", "disk_in_gigabytes", "ram_in_megabytes", "equip_type",
-            "equip_vendor", "equip_model", "fqdn", "pserver_selflink", "ipv4_oam_address", "serial_number",
-            "pserver_id", "internet_topology", "aic_site_id", "in_maint", "pserver_name2", "purpose" };
-
-    private static final String[] SERVICE_RESOURCE_COLUMNS = {
-            "service_instance_id", "service_status", "service_change_number", "resource_set_id", "resource_union_id" };
-
-    private static final String[] RESOURCE_COLUMNS = { "asset_id", "resource_name", "resource_type", "lt_used" };
-
-    private static final String[] ALLOCATION_ITEM_COLUMNS = {
-            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
-            "lt_used", "allocation_time" };
-
-    private void initTables() {
-        if (vpePool == null)
-            vpePool = testDb.table("VPE_POOL", "vpe_name", VPE_POOL_COLUMNS);
-        if (vplspePool == null)
-            vplspePool = testDb.table("VPLSPE_POOL", "vplspe_name", VPLSPE_POOL_COLUMNS);
-        if (pserver == null)
-            pserver = testDb.table("PSERVER", "hostname", PSERVER_COLUMNS);
-        if (serviceResource == null)
-            serviceResource = testDb.table("SERVICE_RESOURCE", "service_resource_id", SERVICE_RESOURCE_COLUMNS);
-        if (resource == null)
-            resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
-        if (allocationItem == null)
-            allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
-    }
-
-    public void cleanup() {
-        initTables();
-        vpePool.delete("true");
-        vplspePool.delete("true");
-        pserver.delete("true");
-        serviceResource.delete("true");
-        allocationItem.delete("true");
-        resource.delete("true");
-    }
-
-    public void setupVpePort(
-            String aicSiteId,
-            String vpeId,
-            String interfaceName,
-            String provStatus,
-            String imageFileName) {
-        initTables();
-        vpePool.add(vpeId, "127.0.0.1", "107.134.152.139", provStatus, aicSiteId, "mtanj-esx-az01", "3501",
-                "JUNIPER", interfaceName, "1", "GBPS", "vpe002", "VPESAT-auttx200me6", imageFileName);
-    }
-
-    public void setupVplspePort(
-            String aicSiteId,
-            String vplspeId,
-            String interfaceName,
-            String provStatus,
-            String imageFileName) {
-        initTables();
-        vplspePool.add(vplspeId, aicSiteId, "mtanj-esx-az01", interfaceName, "100", "GBPS", "192.168.119.32", "3501",
-                "vpls002", imageFileName, provStatus, "JUNIPER");
-    }
-
-    public void setupPserver(String hostname, String aicSiteId) {
-        initTables();
-        pserver.add(hostname, hostname + "srv1", 4, 1000, 16000, "equip_type", "equip_vendor", "equip_model", "fqdn",
-                "pserver_selflink", "123.123.123.123", "serial_number", "pserver_id", "internet_topology", aicSiteId,
-                "N", hostname, "purpose");
-    }
-
-    public void setupService(
-            String serviceInstanceId,
-            String status,
-            int changeNumber,
-            long speedKbps,
-            String vpeId,
-            String vplspeId,
-            String serverId) {
-        initTables();
-
-        String resourceSetId = serviceInstanceId + "/" + changeNumber;
-        String resourceUnionId = serviceInstanceId;
-
-        serviceResource.add(serviceInstanceId, status, changeNumber, resourceSetId, resourceUnionId);
-
-        Long rid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
-        if (rid == null) {
-            resource.add(vpeId + "/ae0", "Bandwidth", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-        rid = resource.getId("asset_id = '" + vplspeId + "' AND resource_name = 'Bandwidth'");
-        if (rid == null) {
-            resource.add(vplspeId, "Bandwidth", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Bandwidth'");
-        if (rid == null) {
-            resource.add(serverId, "Bandwidth", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Connection'");
-        if (rid == null) {
-            resource.add(serverId, "Connection", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, 1, new Date());
-    }
-
-    public boolean serviceNotInDb(String serviceInstanceId, String status, Integer changeNumber) {
-        String where = "service_instance_id = '" + serviceInstanceId + "'";
-        if (status != null)
-            where += " AND service_status = '" + status + "'";
-        if (changeNumber != null)
-            where += " AND service_change_number = " + changeNumber;
-
-        if (serviceResource.exists(where))
-            return false;
-
-        where = "resource_union_id = '" + serviceInstanceId + "'";
-        if (changeNumber != null)
-            where += " AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "'";
-
-        if (allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public boolean serviceCorrectInDb(String serviceInstanceId, String status, int changeNumber, long speedKbps) {
-        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-                "' AND service_change_number = " + changeNumber;
-        if (!serviceResource.exists(where))
-            return false;
-
-        where = "resource_union_id = '" + serviceInstanceId + "' AND resource_set_id = '" + serviceInstanceId + "/" +
-                changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public boolean serviceCorrectInDb(
-            String vpeId,
-            String aicSiteId,
-            String serviceInstanceId,
-            String status,
-            int changeNumber,
-            long speedKbps) {
-
-        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-                "' AND service_change_number = " + changeNumber;
-        if (!serviceResource.exists(where))
-            return false;
-
-        Long vpebwrid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
-        if (vpebwrid == null)
-            return false;
-
-        where = "resource_id = " + vpebwrid + " AND resource_union_id = '" + serviceInstanceId +
-                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        Long srvbwrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Bandwidth'");
-        if (srvbwrid == null)
-            return false;
-
-        where = "resource_id = " + srvbwrid + " AND resource_union_id = '" + serviceInstanceId +
-                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        Long srvconrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Connection'");
-        if (srvconrid == null)
-            return false;
-
-        where = "resource_id = " + srvconrid + " AND resource_union_id = '" + serviceInstanceId +
-                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = 1";
-        if (!allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public boolean serviceCorrectInDb(
-            String serviceInstanceId,
-            String endPointPosition,
-            String status,
-            int changeNumber,
-            long speedKbps) {
-        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-                "' AND service_change_number = " + changeNumber;
-        if (!serviceResource.exists(where))
-            return false;
-
-        where = "resource_union_id = '" + serviceInstanceId + "/" + endPointPosition + "' AND resource_set_id = '" +
-                serviceInstanceId + "/" + endPointPosition + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public void setTestDb(TestDb testDb) {
-        this.testDb = testDb;
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
deleted file mode 100644
index 951b40559..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestIsAvailable {
-
-    private static final Logger log = LoggerFactory.getLogger(TestIsAvailable.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test successful response - all resources available");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test002() throws Exception {
-        String t = "002";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - request very big number that is above the limits");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("960000"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test003() throws Exception {
-        String t = "003";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - PROV check for VPE");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "---", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test004() throws Exception {
-        String t = "004";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - PROV check for VPLSPE");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "---", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test005() throws Exception {
-        String t = "005";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - VPE not found in DB");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test006() throws Exception {
-        String t = "006";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - VPLSPE not found in DB");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test007() throws Exception {
-        String t = "007";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - test max available speed calculation");
-
-        String service1 = "isAvailable" + t + "/service1";
-        String existingService1 = "isAvailable" + t + "/existing-service1";
-        String existingService2 = "isAvailable" + t + "/existing-service2";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(existingService1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1",
-                "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(existingService2, "Active", 3, 100000, "mtanjrsv127", "mtsnj303vr1",
-                "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(existingService2, "Pending", 4, 500000, "mtanjrsv127", "mtsnj303vr1",
-                "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("260000"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test008() throws Exception {
-        String t = "008";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - test server limit depending on number of connections");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 13; i++)
-            dataSetup.setupService("isAvailable" + t + "/existing-service" + i, "Active", 2, 20000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("340000"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test009() throws Exception {
-        String t = "009";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test successful response - no service instance id in input - all resources available");
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-    }
-
-    @Test
-    public void test010() throws Exception {
-        String t = "010";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - no aic-site-id in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.aic-site-id is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test011() throws Exception {
-        String t = "011";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - no speed in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals("tmp.resource-allocator.speed is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test012() throws Exception {
-        String t = "012";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - speed not a number in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "nnnnn");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals("Invalid tmp.resource-allocator.speed. Must be a number."));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test013() throws Exception {
-        String t = "013";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - speed-unit missing in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.speed-unit is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
deleted file mode 100644
index 3b4898888..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestQuery {
-
-    private static final Logger log = LoggerFactory.getLogger(TestQuery.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== query " + t + " ================================");
-        log.info("=== Test reading assigned resources (subinterface-id, vlan-id-inner)");
-
-        String service1 = "ICOREPVC" + t + "-1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
-        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
-
-        st = resourceAllocator.query("NetworkCapacity", true, null, service1, "end-point", null, ctx);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertEquals(ctx.getAttribute("end-point.subinterface-id"), "100");
-        Assert.assertEquals(ctx.getAttribute("end-point.vlan-id-inner"), "2");
-        Assert.assertEquals(ctx.getAttribute("end-point.vpe-name"), "mtanjrsv126");
-        Assert.assertEquals(ctx.getAttribute("end-point.affinity-link"), "1");
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
deleted file mode 100644
index b72d5079a..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestRelease {
-
-    private static final Logger log = LoggerFactory.getLogger(TestRelease.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - new start");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test002() throws Exception {
-        String t = "002";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - change");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test003() throws Exception {
-        String t = "003";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - active there, but no pending - should do nothing and return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-    }
-
-    @Test
-    public void test004() throws Exception {
-        String t = "004";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - nothing in DB - should return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test005() throws Exception {
-        String t = "005";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - activate - new start");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-    }
-
-    @Test
-    public void test006() throws Exception {
-        String t = "006";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - actovate - change");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 3, 400000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-    }
-
-    @Test
-    public void test007() throws Exception {
-        String t = "007";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - activate - active there, but no pending - should do nothing and return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-    }
-
-    @Test
-    public void test008() throws Exception {
-        String t = "008";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - activate - nothing in DB - should return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test009() throws Exception {
-        String t = "009";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - only pending in DB");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test010() throws Exception {
-        String t = "010";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - only active in DB");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test011() throws Exception {
-        String t = "011";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - both active and pending in DB");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test012() throws Exception {
-        String t = "012";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - nothing in DB - should return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test013() throws Exception {
-        String t = "013";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test input validations - request-type missing in input");
-
-        String service1 = "release" + t + "/service1";
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        try {
-            resourceAllocator.release("NetworkCapacity", null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.request-type is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test014() throws Exception {
-        String t = "014";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test input validations - invalid request-type in input");
-
-        String service1 = "release" + t + "/service1";
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        try {
-            resourceAllocator.release("NetworkCapacity", null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are Cancel, Activate, Disconnect."));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test015() throws Exception {
-        String t = "015";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test input validations - missing service-instance-id in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-
-        try {
-            resourceAllocator.release("NetworkCapacity", null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.service-instance-id is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
deleted file mode 100644
index 913f2d16a..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
+++ /dev/null
@@ -1,681 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestReserve {
-
-    private static final Logger log = LoggerFactory.getLogger(TestReserve.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - new start - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 300000));
-    }
-
-    @Test
-    public void test002() throws Exception {
-        String t = "002";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - new start supp - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        // ctx.setAttribute("tmp.resource-allocator.request-type", "New"); - Default is New
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "400");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-    }
-
-    @Test
-    public void test003() throws Exception {
-        String t = "003";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - change - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "400");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-    }
-
-    @Test
-    public void test004() throws Exception {
-        String t = "004";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - change supp - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "500");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 500000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test005() throws Exception {
-        String t = "005";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - change - check that hard limits are applied, not soft for change");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1200000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "kbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 1200000));
-    }
-
-    @Test
-    public void test006() throws Exception {
-        String t = "006";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - new start");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test007() throws Exception {
-        String t = "007";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - new start supp");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test008() throws Exception {
-        String t = "008";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - change");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test009() throws Exception {
-        String t = "009";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - change supp");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 4));
-    }
-
-    @Test
-    public void test010() throws Exception {
-        String t = "010";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test border condition - connection limit - new start - adding connection " +
-                "when we are on the limit should fail");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 40; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 40; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test011() throws Exception {
-        String t = "011";
-        log.info("============== reserve " + t + " ================================");
-        log.info(
-                "=== Test border condition - connection limit - new start supp should succeed as no new connection being added");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 39; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 39; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        dataSetup.setupService(service1, "Pending", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 1000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "5");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-    }
-
-    @Test
-    public void test012() throws Exception {
-        String t = "012";
-        log.info("============== reserve " + t + " ================================");
-        log.info(
-                "=== Test border condition - connection limit - change should succeed as no new connection being added");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 39; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 39; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "5");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-    }
-
-    @Test
-    public void test013() throws Exception {
-        String t = "013";
-        log.info("============== reserve " + t + " ================================");
-        log.info(
-                "=== Test border condition - connection limit - change supp should succeed as no new connection being added");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 39; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 39; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 5000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "10");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 10000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test014() throws Exception {
-        String t = "014";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test input validations - invalid request-type in input");
-
-        String service1 = "reserve" + t + "/service1";
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "10");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are New, Change."));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test015() throws Exception {
-        String t = "015";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test server bw limit depends on number of servers - limit is 960Mbps for 1 server, 1920 for 2");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1200");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1200000));
-    }
-
-    @Test
-    public void test016() throws Exception {
-        String t = "016";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test resource threshold output");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1605");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        for (String key : ctx.getAttributeKeySet())
-            if (key.startsWith("tmp.resource-allocator-output"))
-                log.info("  " + key + ": " + ctx.getAttribute(key));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1605000));
-    }
-
-    @Test
-    public void test017() throws Exception {
-        String t = "017";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
-        log.info("=== For 10 existing EVC, it should take the first row, not the second (see data.sql).");
-        log.info("=== Applied limit should be 1920Mbps, not 1680Mbps.");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        for (int i = 1; i <= 10; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "800"); // 10*100Mbps existing + 800 = 1800
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 800000));
-    }
-
-    @Test
-    public void test018() throws Exception {
-        String t = "018";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
-        log.info("=== For 11 existing EVC, it should take the second row (see data.sql).");
-        log.info("=== Applied limit should be 1680Mbps. We have 11*100 + 700, so this should fail.");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        for (int i = 1; i <= 11; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "700"); // 11*100Mbps existing + 700 = 1800
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
deleted file mode 100644
index c4d015891..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.openecomp.sdnc.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestReserve2 {
-
-    private static final Logger log = LoggerFactory.getLogger(TestReserve2.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - new start - all resources available");
-
-        String service1 = "ICOREPVC" + t + "-1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
-        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
deleted file mode 100644
index 118137ec6..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.openecomp.sdnc.rm;
-
-import java.util.Date;
-
-import jtest.util.org.openecomp.sdnc.ra.TestDb;
-import jtest.util.org.openecomp.sdnc.ra.TestTable;
-
-public class DataSetup {
-
-    private TestDb testDb;
-
-    private TestTable resource = null;
-    private TestTable allocationItem = null;
-
-    private static final String[] RESOURCE_COLUMNS =
-            { "asset_id", "resource_name", "resource_type", "lt_used", "ll_label", "ll_reference_count", "rr_used" };
-
-    private static final String[] ALLOCATION_ITEM_COLUMNS = {
-            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
-            "lt_used", "ll_label", "rr_used", "allocation_time" };
-
-    private void initTables() {
-        if (resource == null)
-            resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
-        if (allocationItem == null)
-            allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
-    }
-
-    public void cleanup() {
-        allocationItem.delete("true");
-        resource.delete("true");
-    }
-
-    public void setupLimitItem(
-            String resourceName,
-            String assetId,
-            String resourceSetId,
-            String resourceUnionId,
-            long used) {
-        initTables();
-
-        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
-        if (rid == null) {
-            resource.add(assetId, resourceName, "Limit", 1, null, null, null);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, used, null, null, new Date());
-    }
-
-    public void setupRangeItem(
-            String resourceName,
-            String assetId,
-            String resourceSetId,
-            String resourceUnionId,
-            String used) {
-        initTables();
-
-        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
-        if (rid == null) {
-            resource.add(assetId, resourceName, "Range", null, null, null, used);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, null, used, new Date());
-    }
-
-    public void setupLabelItem(
-            String resourceName,
-            String assetId,
-            String resourceSetId,
-            String resourceUnionId,
-            String label) {
-        initTables();
-
-        Long rid = resource.getId("asset_id = '" + assetId + "' AND resource_name = '" + resourceName + "'");
-        if (rid == null) {
-            resource.add(assetId, resourceName, "Label", null, label, 1, null);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, null, label, null, new Date());
-    }
-
-    public void setTestDb(TestDb testDb) {
-        this.testDb = testDb;
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
index 7434d939f..6446240dc 100644
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * 			reserved.
+ *                         reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package jtest.util.org.openecomp.sdnc.ra;
+package jtest.util.org.onap.ccsdk.sli.adaptors.ra;
 
 import org.springframework.jdbc.core.JdbcTemplate;
 
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
index fe854bdd1..cda7302c9 100644
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * 			reserved.
+ *                         reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
  * ============LICENSE_END=========================================================
  */
 
-package jtest.util.org.openecomp.sdnc.ra;
+package jtest.util.org.onap.ccsdk.sli.adaptors.ra;
 
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.support.rowset.SqlRowSet;
diff --git a/resource-assignment/provider/src/test/resources/log4j.properties b/resource-assignment/provider/src/test/resources/log4j.properties
index 922ce8615..34dcdfb68 100644
--- a/resource-assignment/provider/src/test/resources/log4j.properties
+++ b/resource-assignment/provider/src/test/resources/log4j.properties
@@ -3,7 +3,7 @@
 # openECOMP : SDN-C
 # ================================================================================
 # Copyright (C) 2017 AT&T Intellectual Property. All rights
-# 			reserved.
+#                         reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/test/resources/param.txt b/resource-assignment/provider/src/test/resources/param.txt
index d1aac4777..a20ac909d 100755
--- a/resource-assignment/provider/src/test/resources/param.txt
+++ b/resource-assignment/provider/src/test/resources/param.txt
@@ -40,5 +40,5 @@ Release:
 			Error message in: error-message, error-code
 
 
-Plugin name: org.openecomp.sdnc.ra.ResourceAllocator
+Plugin name: org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator
 Resource: NetworkCapacity
diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
index 05f9ef4f4..5fd4c7577 100644
--- a/resource-assignment/provider/src/test/resources/sql/data.sql
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 AT&T Intellectual Property. All rights
--- 			reserved.
+--                         reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/test/resources/sql/schema.sql b/resource-assignment/provider/src/test/resources/sql/schema.sql
index a61158aa0..40761de42 100644
--- a/resource-assignment/provider/src/test/resources/sql/schema.sql
+++ b/resource-assignment/provider/src/test/resources/sql/schema.sql
@@ -3,7 +3,7 @@
 -- openECOMP : SDN-C
 -- ================================================================================
 -- Copyright (C) 2017 AT&T Intellectual Property. All rights
--- 			reserved.
+--                         reserved.
 -- ================================================================================
 -- Licensed under the Apache License, Version 2.0 (the "License");
 -- you may not use this file except in compliance with the License.
diff --git a/resource-assignment/provider/src/test/resources/test-context.xml b/resource-assignment/provider/src/test/resources/test-context.xml
index 4f7bf4fbf..c3b09a1f5 100644
--- a/resource-assignment/provider/src/test/resources/test-context.xml
+++ b/resource-assignment/provider/src/test/resources/test-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-  			reserved.
+                          reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -49,28 +49,28 @@
         <property name="dataSource" ref="test.dataSource" />
     </bean>
 
-    <bean id="testDb" class="jtest.util.org.openecomp.sdnc.ra.TestDb">
+    <bean id="testDb" class="jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestDb">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="dataSetup" class="jtest.org.openecomp.sdnc.ra.DataSetup">
+    <bean id="dataSetup" class="jtest.org.onap.ccsdk.sli.adaptors.ra.DataSetup">
         <property name="testDb" ref="testDb" />
     </bean>
 
     <!-- Utils Configuration -->
 
-    <bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
+    <bean id="speedUtil" class="org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil">
         <property name="unitFactor" value="1000" />
     </bean>
 
     <!-- Resource Lock Configuration -->
 
-    <bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
+    <bean id="resourceLockDao" class="org.onap.ccsdk.sli.adaptors.lock.dao.ResourceLockDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
         <property name="testing" value="true" />
     </bean>
 
-    <bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
+    <bean id="lockHelper" class="org.onap.ccsdk.sli.adaptors.lock.comp.LockHelperImpl">
         <property name="resourceLockDao" ref="resourceLockDao" />
         <property name="retryCount" value="10" />
         <property name="lockWait" value="5" /> <!-- Seconds -->
@@ -78,25 +78,25 @@
 
     <!-- RM Configuration -->
 
-    <bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
+    <bean id="resourceJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
+    <bean id="allocationItemJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
+    <bean id="resourceLoadJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
+    <bean id="resourceDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceDaoImpl">
         <property name="resourceJdbcDao" ref="resourceJdbcDao" />
         <property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
         <property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
     </bean>
 
-    <bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
+    <bean id="resourceManager" class="org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManagerImpl">
         <property name="lockHelper" ref="lockHelper" />
         <property name="resourceDao" ref="resourceDao" />
         <property name="applicationId" value="SDNC" />
@@ -105,60 +105,60 @@
 
     <!-- Equipment DAO Configuration -->
 
-    <bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
+    <bean id="serverDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.ServerDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
+    <bean id="vpePortDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
+    <bean id="vplspePortDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.VplspePortDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
     <!-- Rule DAO Configuration -->
 
-    <bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
+    <bean id="maxPortSpeedDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxPortSpeedDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
         <property name="speedUtil" ref="speedUtil" />
     </bean>
 
-    <bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
+    <bean id="maxServerSpeedDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxServerSpeedDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
         <property name="speedUtil" ref="speedUtil" />
     </bean>
 
-    <bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
+    <bean id="resourceRuleDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
+    <bean id="rangeRuleDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
+    <bean id="vpeLockDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.VpeLockDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
+    <bean id="parameterDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.ParameterDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
     <!-- Service DAO Configuration -->
 
-    <bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
+    <bean id="serviceResourceDao" class="org.onap.ccsdk.sli.adaptors.ra.service.dao.ServiceResourceDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
     <!-- ResourceAllocator Configuration -->
 
-    <bean id="allocationRequestBuilder" class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
+    <bean id="allocationRequestBuilder" class="org.onap.ccsdk.sli.adaptors.ra.rule.comp.AllocationRequestBuilderImpl">
         <property name="resourceRuleDao" ref="resourceRuleDao" />
         <property name="rangeRuleDao" ref="rangeRuleDao" />
     </bean>
 
-    <bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
+    <bean id="resourceAllocator" class="org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator">
         <property name="speedUtil" ref="speedUtil" />
         <property name="parameterDao" ref="parameterDao" />
         <property name="serverDao" ref="serverDao" />
@@ -174,13 +174,13 @@
 
     <!-- EndPointAllocator Configuration -->
 
-    <bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
+    <bean id="endPointAllocator" class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocatorImpl">
         <property name="resourceManager" ref="resourceManager" />
         <property name="endPointAllocationDefinitionMap">
             <map>
                 <entry key="L3AVPN-PORT">
                     <list>
-                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
                             <property name="serviceModel" value="L3AVPN-PORT" />
                             <property name="endPointPosition" value="VPE-Cust" />
                             <property name="equipmentReader" ref="vpePortReader" />
@@ -207,7 +207,7 @@
                 </entry>
                 <entry key="L3AVPN-EVC">
                     <list>
-                        <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
                             <property name="serviceModel" value="L3AVPN-EVC" />
                             <property name="endPointPosition" value="VPE-Cust" />
                             <property name="equipmentReader" ref="vpePortReader" />
@@ -243,55 +243,55 @@
 
     <!-- Equipment Readers Configuration -->
 
-    <bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
+    <bean id="vpePortReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.VpePortReader">
         <property name="vpePortDao" ref="vpePortDao" />
     </bean>
 
     <!-- Equipment Checks Configuration -->
 
-    <bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
+    <bean id="provStatusCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.ProvStatusCheck">
     </bean>
 
-    <bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
+    <bean id="excludeVpeCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.ExcludeVpeCheck">
     </bean>
 
-    <bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
+    <bean id="vpeLockCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.VpeLockCheck">
         <property name="vpeLockDao" ref="vpeLockDao" />
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
-    <bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
+    <bean id="anyVrfPresentCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.AnyVrfPresentCheck">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
-    <bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
+    <bean id="oneMVrfCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.OneMVrfCheck">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
-    <bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
+    <bean id="hubWithRgCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.HubWithRgCheck">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
     <!-- Preference Rule Configuration -->
 
-    <bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
+    <bean id="affinityLinkPref" class="org.onap.ccsdk.sli.adaptors.ra.pref.AffinityLinkPref">
         <property name="resourceManager" ref="resourceManager" />
     </bean>
 
     <!-- Resource Allocation Rule Configuration -->
 
-    <bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
+    <bean id="dbAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.DbAllocationRule">
         <property name="resourceRuleDao" ref="resourceRuleDao" />
         <property name="rangeRuleDao" ref="rangeRuleDao" />
     </bean>
 
-    <bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
+    <bean id="vrfAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.VrfAllocationRule">
     </bean>
 
-    <bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
+    <bean id="servingSiteAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.ServingSiteAllocationRule">
     </bean>
 
-    <bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
+    <bean id="affinityAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.AffinityAllocationRule">
     </bean>
 
 </beans>
-- 
cgit 1.2.3-korg


From 7893d08db0ef3fd29d64c9be759325fa18cc21fa Mon Sep 17 00:00:00 2001
From: sb5356 <sb5356@att.com>
Date: Tue, 15 May 2018 11:58:17 -0400
Subject: [CCSDK-245] RA: Refactor RA to make it generic

Resource allocator is cleaned up and refactored so it does not contain
any service specific logic.

Issue-ID: CCSDK-245
Change-Id: Ib948eb813020fbe7dc779148e412de1e074b300b
Signed-off-by: sb5356 <sb5356@att.com>
---
 .../sli/adaptors/lock/comp/LockHelperImpl.java     |   82 +-
 .../sli/adaptors/lock/dao/ResourceLockDao.java     |   13 +-
 .../sli/adaptors/lock/dao/ResourceLockDaoImpl.java |   44 +-
 .../ccsdk/sli/adaptors/ra/ReleaseRequestType.java  |   45 -
 .../ccsdk/sli/adaptors/ra/ReserveRequestType.java  |   43 -
 .../ccsdk/sli/adaptors/ra/ResourceAllocator.java   | 1114 +++++--------------
 .../adaptors/ra/alloc/AffinityAllocationRule.java  |   68 --
 .../sli/adaptors/ra/alloc/DbAllocationRule.java    |  243 +++--
 .../ra/alloc/ServingSiteAllocationRule.java        |   80 --
 .../sli/adaptors/ra/alloc/VrfAllocationRule.java   |  111 --
 .../sli/adaptors/ra/check/AnyVrfPresentCheck.java  |   74 --
 .../sli/adaptors/ra/check/ExcludeVpeCheck.java     |   57 -
 .../sli/adaptors/ra/check/HubWithRgCheck.java      |  107 --
 .../ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java  |  100 --
 .../sli/adaptors/ra/check/ProvStatusCheck.java     |   49 -
 .../sli/adaptors/ra/check/VlanSpeedCheck.java      |   50 -
 .../ccsdk/sli/adaptors/ra/check/VpeLockCheck.java  |  111 --
 .../ccsdk/sli/adaptors/ra/comp/AllocationRule.java |   17 +-
 .../ra/comp/EndPointAllocationDefinition.java      |   60 --
 .../sli/adaptors/ra/comp/EndPointAllocator.java    |   20 +-
 .../adaptors/ra/comp/EndPointAllocatorImpl.java    |  329 +++---
 .../ccsdk/sli/adaptors/ra/comp/EndPointData.java   |   33 -
 .../ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java |   35 -
 .../ccsdk/sli/adaptors/ra/comp/PreferenceRule.java |   30 -
 .../ccsdk/sli/adaptors/ra/comp/ResourceData.java   |   35 +
 .../ccsdk/sli/adaptors/ra/comp/ResourceEntity.java |   32 +
 .../sli/adaptors/ra/comp/ResourceRequest.java      |   39 +
 .../sli/adaptors/ra/comp/ResourceResponse.java     |   13 +
 .../ccsdk/sli/adaptors/ra/comp/ResourceTarget.java |   31 +
 .../ccsdk/sli/adaptors/ra/comp/ServiceData.java    |   36 -
 .../adaptors/ra/equip/comp/EquipmentReader.java    |   32 -
 .../ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java |   30 -
 .../sli/adaptors/ra/equip/dao/ServerDaoImpl.java   |   64 --
 .../sli/adaptors/ra/equip/dao/VpePortDao.java      |   32 -
 .../sli/adaptors/ra/equip/dao/VpePortDaoImpl.java  |   81 --
 .../sli/adaptors/ra/equip/dao/VplspePortDao.java   |   30 -
 .../adaptors/ra/equip/dao/VplspePortDaoImpl.java   |   70 --
 .../sli/adaptors/ra/equip/data/EquipmentData.java  |   31 -
 .../sli/adaptors/ra/equip/data/EquipmentLevel.java |   26 -
 .../sli/adaptors/ra/pref/AffinityLinkPref.java     |   85 --
 .../sli/adaptors/ra/pref/EvcExistingVrfPref.java   |   60 --
 .../sli/adaptors/ra/reader/AicSiteReader.java      |   49 -
 .../adaptors/ra/reader/UplinkCircuitReader.java    |   54 -
 .../ccsdk/sli/adaptors/ra/reader/VnfReader.java    |   49 -
 .../sli/adaptors/ra/reader/VpePortReader.java      |   70 --
 .../ra/rule/comp/AllocationRequestBuilder.java     |   42 -
 .../ra/rule/comp/AllocationRequestBuilderImpl.java |  172 ---
 .../sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java  |   28 -
 .../adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java  |   85 --
 .../adaptors/ra/rule/dao/MaxServerSpeedDao.java    |   28 -
 .../ra/rule/dao/MaxServerSpeedDaoImpl.java         |   86 --
 .../sli/adaptors/ra/rule/dao/ParameterDao.java     |   27 -
 .../sli/adaptors/ra/rule/dao/ParameterDaoImpl.java |   57 -
 .../sli/adaptors/ra/rule/dao/RangeRuleDao.java     |    8 +-
 .../sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java |   40 +-
 .../sli/adaptors/ra/rule/dao/ResourceRuleDao.java  |   14 +-
 .../adaptors/ra/rule/dao/ResourceRuleDaoImpl.java  |   35 +-
 .../ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java |   27 -
 .../sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java   |   48 -
 .../ra/service/dao/ServiceResourceDao.java         |   38 -
 .../ra/service/dao/ServiceResourceDaoImpl.java     |  110 --
 .../adaptors/ra/service/data/ServiceResource.java  |   32 -
 .../adaptors/ra/service/data/ServiceStatus.java    |   27 -
 .../sli/adaptors/rm/comp/AllocationFunction.java   |  113 +-
 .../sli/adaptors/rm/comp/ResourceManagerImpl.java  |   29 +-
 .../sli/adaptors/rm/data/AllocationRequest.java    |    6 +-
 .../adaptors/rm/data/RangeAllocationRequest.java   |    6 +-
 .../onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java |   28 +-
 .../onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java |   93 +-
 .../onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java |   83 +-
 .../ccsdk/sli/adaptors/rm/util/ResourceUtil.java   |   24 +-
 .../sli/adaptors/util/db/CachedDataSourceWrap.java |   46 +-
 .../adaptors/util/expr/ExpressionEvaluator.java    |  161 ++-
 .../ccsdk/sli/adaptors/util/speed/SpeedUtil.java   |   26 +-
 .../onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java |   30 -
 .../onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java  |   76 --
 .../blueprint/resource-assignment-blueprint.xml    |    2 +
 .../opendaylight/blueprint/resource-assignment.xml |   17 +-
 .../main/resources/resource-allocator.properties   |   26 -
 .../main/resources/sql/001_resource_rule_ddl.sql   |   32 -
 .../main/resources/sql/002_max_port_speed_ddl.sql  |   29 -
 .../resources/sql/003_max_server_speed_ddl.sql     |   28 -
 .../org/onap/ccsdk/sli/adaptors/ra/DataSetup.java  |  224 +---
 .../ccsdk/sli/adaptors/ra/TestIsAvailable.java     |  405 -------
 .../onap/ccsdk/sli/adaptors/ra/TestLockHelper.java |   59 +
 .../org/onap/ccsdk/sli/adaptors/ra/TestQuery.java  |   85 --
 .../onap/ccsdk/sli/adaptors/ra/TestRelease.java    |  430 --------
 .../onap/ccsdk/sli/adaptors/ra/TestReserve.java    | 1122 ++++++++++----------
 .../onap/ccsdk/sli/adaptors/ra/TestReserve2.java   |   77 --
 .../org/onap/ccsdk/sli/adaptors/ra/TestDb.java     |   37 +
 .../org/onap/ccsdk/sli/adaptors/ra/TestTable.java  |  135 +++
 .../jtest/util/org/openecomp/sdnc/ra/TestDb.java   |   37 -
 .../util/org/openecomp/sdnc/ra/TestTable.java      |   84 --
 .../provider/src/test/resources/homing-req.json    |   46 -
 .../provider/src/test/resources/param.txt          |   44 -
 .../provider/src/test/resources/sql/data.sql       |   66 ++
 .../src/test/resources/svc-topology-req.json       |  195 ----
 .../provider/src/test/resources/test-context.xml   |  217 +---
 98 files changed, 2147 insertions(+), 6739 deletions(-)
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java
 delete mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java
 delete mode 100644 resource-assignment/provider/src/main/resources/resource-allocator.properties
 delete mode 100644 resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
 delete mode 100644 resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
 delete mode 100644 resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestLockHelper.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestDb.java
 create mode 100644 resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestTable.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
 delete mode 100644 resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
 delete mode 100644 resource-assignment/provider/src/test/resources/homing-req.json
 delete mode 100755 resource-assignment/provider/src/test/resources/param.txt
 delete mode 100644 resource-assignment/provider/src/test/resources/svc-topology-req.json

(limited to 'resource-assignment/provider/src/test/resources/sql/data.sql')

diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
index 4d9bb27de..3a8c730e4 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
@@ -8,9 +8,9 @@
  * 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.
@@ -26,12 +26,15 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
-
 import org.onap.ccsdk.sli.adaptors.lock.dao.ResourceLockDao;
 import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class LockHelperImpl implements LockHelper {
 
+    private static final Logger log = LoggerFactory.getLogger(LockHelperImpl.class);
+
     private ResourceLockDao resourceLockDao;
     private int retryCount = 10;
     private int lockWait = 5; // Seconds
@@ -51,10 +54,12 @@ public class LockHelperImpl implements LockHelper {
         for (int i = 0; true; i++) {
             try {
                 tryLock(resourceNameList, lockRequester, lockTimeout);
+                log.info("Resources locked: " + resourceNameList);
                 return;
             } catch (ResourceLockedException e) {
-                if (i > retryCount)
+                if (i > retryCount) {
                     throw e;
+                }
                 try {
                     Thread.sleep(lockWait * 1000);
                 } catch (InterruptedException ex) {
@@ -65,58 +70,64 @@ public class LockHelperImpl implements LockHelper {
 
     @Override
     public void unlock(Collection<String> lockNames, boolean force) {
-        if (lockNames == null || lockNames.size() == 0)
+        if (lockNames == null || lockNames.size() == 0) {
             return;
-
-        resourceLockDao.lockTable();
+        }
 
         try {
             for (String name : lockNames) {
                 ResourceLock l = resourceLockDao.getByResourceName(name);
-                if (l != null)
-                    if (force || l.lockCount == 1)
+                if (l != null) {
+                    if (force || l.lockCount == 1) {
                         resourceLockDao.delete(l.id);
-                    else
+                    } else {
                         resourceLockDao.decrementLockCount(l.id);
+                    }
+                }
             }
+
+            resourceLockDao.commit();
+
+            log.info("Resources unlocked: " + lockNames);
         } finally {
-            resourceLockDao.unlockTable();
+            resourceLockDao.rollback();
         }
     }
 
     public void tryLock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
-        if (resourceNameList == null || resourceNameList.size() == 0)
+        if (resourceNameList == null || resourceNameList.size() == 0) {
             return;
+        }
 
         lockRequester = generateLockRequester(lockRequester, 100);
 
-        resourceLockDao.lockTable();
-
-        try {
-            // First check if all requested records are available to lock
+        // First check if all requested records are available to lock
 
-            Date now = new Date();
+        Date now = new Date();
 
-            List<ResourceLock> dbLockList = new ArrayList<ResourceLock>();
-            List<String> insertLockNameList = new ArrayList<String>();
+        try {
+            List<ResourceLock> dbLockList = new ArrayList<>();
+            List<String> insertLockNameList = new ArrayList<>();
             for (String name : resourceNameList) {
                 ResourceLock l = resourceLockDao.getByResourceName(name);
 
-                boolean canLock =
-                        l == null || now.getTime() > l.expirationTime.getTime() || lockRequester != null &&
-                                lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
-                if (!canLock)
+                boolean canLock = l == null || now.getTime() > l.expirationTime.getTime() ||
+                        lockRequester != null && lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
+                if (!canLock) {
                     throw new ResourceLockedException(l.resourceName, l.lockHolder, lockRequester);
+                }
 
-                if (l != null)
+                if (l != null) {
                     dbLockList.add(l);
-                else
+                } else {
                     insertLockNameList.add(name);
+                }
             }
 
             // Update the lock info in DB
-            for (ResourceLock l : dbLockList)
+            for (ResourceLock l : dbLockList) {
                 resourceLockDao.update(l.id, now, new Date(now.getTime() + lockTimeout * 1000), l.lockCount + 1);
+            }
 
             // Insert records for those that are not yet there
             for (String lockName : insertLockNameList) {
@@ -126,16 +137,26 @@ public class LockHelperImpl implements LockHelper {
                 l.lockTime = now;
                 l.expirationTime = new Date(now.getTime() + lockTimeout * 1000);
                 l.lockCount = 1;
-                resourceLockDao.add(l);
+
+                try {
+                    resourceLockDao.add(l);
+                } catch (Exception e) {
+                    log.info("Failed to insert lock record: " + lockName);
+                    throw new ResourceLockedException(l.resourceName, "unknown", lockRequester);
+                }
             }
+
+            resourceLockDao.commit();
+
         } finally {
-            resourceLockDao.unlockTable();
+            resourceLockDao.rollback();
         }
     }
 
     private static String generateLockRequester(String name, int maxLength) {
-        if (name == null)
+        if (name == null) {
             name = "";
+        }
         int l1 = name.length();
         String tname = Thread.currentThread().getName();
         int l2 = tname.length();
@@ -146,8 +167,9 @@ public class LockHelperImpl implements LockHelper {
                 l1 = maxl1;
             }
             int maxl2 = maxLength - l1 - 1;
-            if (l2 > maxl2)
+            if (l2 > maxl2) {
                 tname = tname.substring(0, 6) + "..." + tname.substring(l2 - maxl2 + 9);
+            }
         }
         return tname + '-' + name;
     }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
index bcabb36d1..f9d41135c 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
@@ -8,9 +8,9 @@
  * 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.
@@ -22,15 +22,10 @@
 package org.onap.ccsdk.sli.adaptors.lock.dao;
 
 import java.util.Date;
-
 import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
 
 public interface ResourceLockDao {
 
-    void lockTable();
-
-    void unlockTable();
-
     void add(ResourceLock l);
 
     void update(long id, Date lockTime, Date expirationTime, int lockCount);
@@ -40,4 +35,8 @@ public interface ResourceLockDao {
     void delete(long id);
 
     void decrementLockCount(long id);
+
+    void commit();
+
+    void rollback();
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
index d68317fb7..485419224 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
@@ -8,9 +8,9 @@
  * 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.
@@ -25,7 +25,6 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Date;
 import java.util.List;
-
 import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
 import org.onap.ccsdk.sli.adaptors.util.db.CachedDataSourceWrap;
 import org.slf4j.Logger;
@@ -35,29 +34,10 @@ import org.springframework.jdbc.core.RowMapper;
 
 public class ResourceLockDaoImpl implements ResourceLockDao {
 
+    @SuppressWarnings("unused")
     private static final Logger log = LoggerFactory.getLogger(ResourceLockDaoImpl.class);
 
     private JdbcTemplate jdbcTemplate;
-    private boolean testing = false;
-
-    @Override
-    public void lockTable() {
-        if (!testing) {
-            jdbcTemplate.update("LOCK TABLES RESOURCE_LOCK WRITE");
-        log.info("Table RESOURCE_LOCK locked.");
-    }
-    }
-
-    @Override
-    public void unlockTable() {
-        if (!testing) {
-            jdbcTemplate.update("UNLOCK TABLES");
-        log.info("Table RESOURCE_LOCK unlocked.");
-
-            CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
-            ds.releaseConnection();
-        }
-    }
 
     @Override
     public void add(ResourceLock l) {
@@ -109,7 +89,21 @@ public class ResourceLockDaoImpl implements ResourceLockDao {
         this.jdbcTemplate = jdbcTemplate;
     }
 
-    public void setTesting(boolean testing) {
-        this.testing = testing;
+    @Override
+    public void commit() {
+        if (jdbcTemplate.getDataSource() instanceof CachedDataSourceWrap) {
+            CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
+            ds.commit();
+            ds.releaseConnection();
+        }
+    }
+
+    @Override
+    public void rollback() {
+        if (jdbcTemplate.getDataSource() instanceof CachedDataSourceWrap) {
+            CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
+            ds.rollback();
+            ds.releaseConnection();
+        }
     }
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java
deleted file mode 100644
index d3df91c2d..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReleaseRequestType.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra;
-
-public enum ReleaseRequestType {
-    Cancel, Activate, Disconnect;
-
-    public static ReleaseRequestType convert(Object o) {
-        if (o == null)
-            return null;
-        String s = o.toString();
-        s = s.trim();
-        if (s.length() == 0)
-            return null;
-
-        if (s.equalsIgnoreCase("Cancel"))
-            return Cancel;
-        if (s.equalsIgnoreCase("Activate"))
-            return Activate;
-        if (s.equalsIgnoreCase("Disconnect"))
-            return Disconnect;
-
-        throw new IllegalArgumentException("Invalid request-type: " + s +
-                ". Supported values are Cancel, Activate, Disconnect.");
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java
deleted file mode 100644
index b46b7dede..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ReserveRequestType.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra;
-
-public enum ReserveRequestType {
-    New, Change;
-
-    public static ReserveRequestType convert(Object o) {
-        if (o == null)
-            return null;
-        String s = o.toString();
-        s = s.trim();
-        if (s.length() == 0)
-            return null;
-
-        if (s.equalsIgnoreCase("New"))
-            return New;
-        if (s.equalsIgnoreCase("Change"))
-            return Change;
-
-        throw new IllegalArgumentException("Invalid request-type: " + s +
-                ". Supported values are New, Change.");
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
index 8e7c63ceb..426fd289d 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
@@ -3,14 +3,14 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ * 							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.
@@ -21,48 +21,25 @@
 
 package org.onap.ccsdk.sli.adaptors.ra;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
+import java.util.Set;
 import org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocator;
-import org.onap.ccsdk.sli.adaptors.ra.comp.EndPointData;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.dao.ServerDao;
-import org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDao;
-import org.onap.ccsdk.sli.adaptors.ra.equip.dao.VplspePortDao;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
-import org.onap.ccsdk.sli.adaptors.ra.rule.comp.AllocationRequestBuilder;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxPortSpeedDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxServerSpeedDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ParameterDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ThresholdStatus;
-import org.onap.ccsdk.sli.adaptors.ra.service.dao.ServiceResourceDao;
-import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceResource;
-import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceStatus;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceData;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceEntity;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceRequest;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceTarget;
 import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
 import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
 import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -70,23 +47,15 @@ public class ResourceAllocator implements SvcLogicResource {
 
     private static final Logger log = LoggerFactory.getLogger(ResourceAllocator.class);
 
-    public ResourceAllocator() {
-        log.info("ResourceAllocator created.");
-    }
+    private static final String[] INPUT_PREFIX = {"ra-input.", "tmp.resource-allocator."};
 
-    private ServerDao serverDao;
-    private VpePortDao vpePortDao;
-    private VplspePortDao vplspePortDao;
-    private MaxPortSpeedDao maxPortSpeedDao;
-    private MaxServerSpeedDao maxServerSpeedDao;
-    private ServiceResourceDao serviceResourceDao;
-    private ParameterDao parameterDao;
-
-    private AllocationRequestBuilder allocationRequestBuilder;
     private ResourceManager resourceManager;
+    private EndPointAllocator endPointAllocator;
     private SpeedUtil speedUtil;
 
-    private EndPointAllocator endPointAllocator;
+    public ResourceAllocator() {
+        log.info("ResourceAllocator created.");
+    }
 
     @Override
     public QueryStatus notify(String resource, String action, String key, SvcLogicContext ctx)
@@ -95,11 +64,7 @@ public class ResourceAllocator implements SvcLogicResource {
     }
 
     @Override
-    public QueryStatus update(
-            String resource,
-            String key,
-            Map<String, String> parms,
-            String prefix,
+    public QueryStatus update(String resource, String key, Map<String, String> parms, String prefix,
             SvcLogicContext ctx) throws SvcLogicException {
 
         return QueryStatus.SUCCESS;
@@ -117,13 +82,7 @@ public class ResourceAllocator implements SvcLogicResource {
     }
 
     @Override
-    public QueryStatus save(
-            String arg0,
-            boolean arg1,
-            boolean arg2,
-            String arg3,
-            Map<String, String> arg4,
-            String arg5,
+    public QueryStatus save(String arg0, boolean arg1, boolean arg2, String arg3, Map<String, String> arg4, String arg5,
             SvcLogicContext arg6) throws SvcLogicException {
         return QueryStatus.SUCCESS;
     }
@@ -131,886 +90,355 @@ public class ResourceAllocator implements SvcLogicResource {
     @Override
     public QueryStatus isAvailable(String resource, String key, String prefix, SvcLogicContext ctx)
             throws SvcLogicException {
-        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
-        if (serviceModel != null && serviceModel.trim().length() > 0)
-            return allocateResources(serviceModel, ctx, true, prefix);
-        return allocateResourcesL3SDN(ctx, true, prefix);
+        return allocateResources(ctx, true, prefix);
     }
 
     @Override
-    public QueryStatus query(
-            String resource,
-            boolean localOnly,
-            String select,
-            String key,
-            String prefix,
-            String orderBy,
-            SvcLogicContext ctx) throws SvcLogicException {
-
-        prefix = prefix == null ? "" : prefix + '.';
-
-        if (!"NetworkCapacity".equals(resource)) {
-            log.info("resource: " + resource);
-            log.info("key: " + key);
-
-            Resource r = resourceManager.getResource(resource, key);
-            if (r == null)
-                return QueryStatus.NOT_FOUND;
-
-            if (r instanceof LimitResource) {
-                ctx.setAttribute(prefix + "used", String.valueOf(((LimitResource) r).used));
-
-                log.info("Added context attr: " + prefix + "used: " + String.valueOf(((LimitResource) r).used));
-            }
-
-            return QueryStatus.SUCCESS;
+    public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
+            String orderBy, SvcLogicContext ctx) throws SvcLogicException {
+
+        String resourceEntityId = getParam(ctx,
+                new String[] {"service-instance-id", "reservation-entity-id", "resource-entity-id"}, false, null);
+        String resourceEntityType =
+                getParam(ctx, new String[] {"reservation-entity-type", "resource-entity-type"}, false, null);
+        String resourceEntityVersion =
+                getParam(ctx, new String[] {"reservation-entity-version", "resource-entity-version"}, false, "1");
+
+        String resourceTargetId =
+                getParam(ctx, new String[] {"reservation-target-id", "resource-target-id"}, false, null);
+        String resourceTargetType =
+                getParam(ctx, new String[] {"reservation-target-type", "resource-target-type"}, false, null);
+        String resourceName = getParam(ctx, "resource-name", false, null);
+
+        if (resourceEntityId != null && resourceEntityType != null) {
+            List<ResourceData> rdlist = endPointAllocator.getResourcesForEntity(resourceEntityType, resourceEntityId,
+                    resourceEntityVersion);
+            setResourceDataInContext(ctx, prefix, rdlist);
+        } else if (resourceTargetId != null && resourceTargetType != null && resourceName != null) {
+            ResourceData rd = endPointAllocator.getResource(resourceTargetType, resourceTargetId, resourceName);
+            setResourceDataInContext(ctx, prefix, Collections.singletonList(rd));
         }
 
-        log.info("key: " + key);
-        log.info("prefix: " + prefix);
-
-        if (key == null)
-            return QueryStatus.SUCCESS;
-
-        if (key.startsWith("'") && key.endsWith("'"))
-            key = key.substring(1, key.length() - 1);
-
-        String endPointPosition = "VPE-Cust";
+        return QueryStatus.SUCCESS;
+    }
 
-        String resourceUnionId = key + '/' + endPointPosition;
-        List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
+    public AllocationStatus query(ResourceEntity sd, ResourceTarget rt, ResourceRequest rr,
+            List<ResourceResponse> rsList) throws Exception {
+
+        if (sd.resourceEntityId != null && sd.resourceEntityType != null) {
+            List<ResourceData> rdlist = endPointAllocator.getResourcesForEntity(sd.resourceEntityType,
+                    sd.resourceEntityId, sd.resourceEntityVersion);
+            setResourceDataInResponse(rdlist, rsList);
+        } else if (rt.resourceTargetId != null && rt.resourceTargetType != null && rr.resourceName != null) {
+            ResourceData rd =
+                    endPointAllocator.getResource(rt.resourceTargetType, rt.resourceTargetId, rr.resourceName);
+            setResourceDataInResponse(Collections.singletonList(rd), rsList);
+        }
 
-        log.info("Resources found for " + resourceUnionId + ": " + rlist.size());
+        return AllocationStatus.Success;
+    }
 
-        String assetId = null;
-        for (Resource r : rlist) {
-            log.info("Resource: " + r.resourceKey.resourceName);
+    private void setResourceDataInContext(SvcLogicContext ctx, String prefix, List<ResourceData> rdlist) {
+        prefix = prefix == null ? "" : prefix + '.';
 
-            if (r instanceof RangeResource) {
-                RangeResource rr = (RangeResource) r;
-                for (AllocationItem ai : r.allocationItems)
-                    if (ai.resourceUnionId.equals(resourceUnionId)) {
-                        RangeAllocationItem rai = (RangeAllocationItem) ai;
-                        ctx.setAttribute(prefix + r.resourceKey.resourceName, String.valueOf(rai.used.first()));
+        setAttr(ctx, prefix + "resource-list_length", String.valueOf(rdlist.size()));
 
-                        log.info("Added context attr: " + prefix + r.resourceKey.resourceName + ": " +
-                                String.valueOf(rr.used.first()));
+        for (int i = 0; i < rdlist.size(); i++) {
+            ResourceData rd = rdlist.get(i);
 
-                        assetId = r.resourceKey.assetId;
-                        String vpeName = assetId;
-                        int i1 = assetId.indexOf('/');
-                        if (i1 > 0)
-                            vpeName = assetId.substring(0, i1);
-                        ctx.setAttribute(prefix + "vpe-name", vpeName);
+            String pp = prefix + "resource-list[" + i + "].";
 
-                        log.info("Added context attr: " + prefix + "vpe-name: " + vpeName);
-                    }
-            }
-        }
+            setAttr(ctx, pp + "resource-name", rd.resourceName);
+            setAttr(ctx, pp + "endpoint-position", rd.endPointPosition);
+            setAttr(ctx, pp + "resource-target-type", rd.resourceTargetType);
+            setAttr(ctx, pp + "resource-target-id", rd.resourceTargetId);
+            // SDNGC-7687
+            setAttr(ctx, pp + "resource-target-value", rd.resourceTargetValue);
+            setAttr(ctx, pp + "status", rd.status);
 
-        String affinityLink = "1";
-        if (assetId != null) {
-            for (Resource r : rlist) {
-                if (r instanceof LimitResource) {
-                    LimitResource ll = (LimitResource) r;
-                    if (ll.resourceKey.assetId.startsWith(assetId + '-')) {
-                        int i1 = ll.resourceKey.assetId.lastIndexOf('-');
-                        affinityLink = ll.resourceKey.assetId.substring(i1 + 1);
-                        break;
-                    }
+            if (rd.data != null && !rd.data.isEmpty()) {
+                for (String kk : rd.data.keySet()) {
+                    String value = String.valueOf(rd.data.get(kk));
+                    setAttr(ctx, pp + kk, value);
                 }
             }
         }
-
-        ctx.setAttribute(prefix + "affinity-link", affinityLink);
-
-        log.info("Added context attr: " + prefix + "affinity-link: " + affinityLink);
-
-        return QueryStatus.SUCCESS;
     }
 
     @Override
     public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx)
             throws SvcLogicException {
-        String serviceModel = ctx.getAttribute("tmp.resource-allocator.service-model");
-        if (serviceModel != null && serviceModel.trim().length() > 0)
-            return allocateResources(serviceModel, ctx, false, prefix);
-        return allocateResourcesL3SDN(ctx, false, prefix);
+        return allocateResources(ctx, false, prefix);
+    }
+
+    public AllocationStatus reserve(ResourceEntity sd, ResourceTarget rt, ResourceRequest rr,
+            List<ResourceResponse> rsList) throws Exception {
+        return allocateResources(sd, rt, rr, rsList);
     }
 
     @Override
     public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
-        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
-        if (serviceInstanceId == null)
-            throw new SvcLogicException("tmp.resource-allocator.service-instance-id is required in ResourceAllocator");
-
-        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-        if (requestTypeStr == null)
-            throw new SvcLogicException("tmp.resource-allocator.request-type is required in ResourceAllocator");
+        String resourceEntityId = getParam(ctx,
+                new String[] {"service-instance-id", "reservation-entity-id", "resource-entity-id"}, true, null);
+        String resourceEntityType =
+                getParam(ctx, new String[] {"reservation-entity-type", "resource-entity-type"}, true, null);
+        String resourceEntityVersion =
+                getParam(ctx, new String[] {"reservation-entity-version", "resource-entity-version"}, false, null);
+
+        ResourceEntity sd = new ResourceEntity();
+        sd.resourceEntityId = resourceEntityId;
+        sd.resourceEntityType = resourceEntityType;
+        sd.resourceEntityVersion = resourceEntityVersion;
 
-        ReleaseRequestType requestType = null;
         try {
-            requestType = ReleaseRequestType.convert(requestTypeStr);
-        } catch (IllegalArgumentException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-                    ". Supported values are Cancel, Activate, Disconnect.");
-        }
-
-        log.info("Starting release: " + requestType + " for: " + serviceInstanceId);
-
-        ServiceResource activeServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-        ServiceResource pendingServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-        log.info("Active ServiceResource: ");
-        StrUtil.info(log, activeServiceResource);
-        log.info("Pending ServiceResource: ");
-        StrUtil.info(log, pendingServiceResource);
-
-        if (requestType == ReleaseRequestType.Cancel) {
-            if (pendingServiceResource != null) {
-                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
-
-                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
-            } else {
-                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
-            }
-
-        } else if (requestType == ReleaseRequestType.Activate) {
-            if (pendingServiceResource != null) {
-                if (activeServiceResource != null) {
-                    log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
-
-                    resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
-                    serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
-                }
-
-                log.info("Updating the status of the pending record to active.");
-
-                serviceResourceDao.updateServiceStatus(serviceInstanceId, ServiceStatus.Pending, ServiceStatus.Active);
-            } else {
-                log.info("Pending record not found for service instance: " + serviceInstanceId + ". Nothing to do.");
-            }
-
-        } else if (requestType == ReleaseRequestType.Disconnect) {
-            if (pendingServiceResource != null) {
-                log.info("Releasing pending resources: " + pendingServiceResource.resourceSetId);
-
-                resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Pending);
-            }
-            if (activeServiceResource != null) {
-                log.info("Releasing active resources: " + activeServiceResource.resourceSetId);
-
-                resourceManager.releaseResourceSet(activeServiceResource.resourceSetId);
-                serviceResourceDao.deleteServiceResource(serviceInstanceId, ServiceStatus.Active);
-            }
+            this.release(sd);
+        } catch (Exception e) {
+            throw new SvcLogicException(e.getMessage());
         }
-
         return QueryStatus.SUCCESS;
     }
 
-    private QueryStatus allocateResourcesL3SDN(SvcLogicContext ctx, boolean checkOnly, String prefix)
-            throws SvcLogicException {
-        prefix = prefix == null ? "" : prefix + '.';
+    public AllocationStatus release(ResourceEntity sd) throws Exception {
 
-        String aicSiteId = getAicSiteId(ctx);
-        Map<String, Object> service = getServiceData(ctx);
+        if (sd.resourceEntityVersion != null) {
+            String resourceSet = sd.resourceEntityType + "::" + sd.resourceEntityId + "::" + sd.resourceEntityVersion;
+            log.info("Starting release for: " + resourceSet);
 
-        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-        if (requestTypeStr == null)
-            requestTypeStr = "New";
+            resourceManager.releaseResourceSet(resourceSet);
+        } else {
+            String resourceUnion = sd.resourceEntityType + "::" + sd.resourceEntityId;
+            log.info("Starting release for: " + resourceUnion);
 
-        ReserveRequestType requestType = null;
-        try {
-            requestType = ReserveRequestType.convert(requestTypeStr);
-        } catch (IllegalArgumentException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-                    ". Supported values are New, Change.");
+            resourceManager.releaseResourceUnion(resourceUnion);
         }
 
-        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
-
-        ServiceResource activeServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-        ServiceResource pendingServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-        log.info("Active ServiceResource: ");
-        StrUtil.info(log, activeServiceResource);
-        log.info("Pending ServiceResource: ");
-        StrUtil.info(log, pendingServiceResource);
+        return AllocationStatus.Success;
 
-        ServiceResource sr = new ServiceResource();
-        sr.serviceInstanceId = serviceInstanceId;
-        sr.serviceStatus = ServiceStatus.Pending;
-        sr.serviceChangeNumber = 1;
-        if (pendingServiceResource != null)
-            sr.serviceChangeNumber = pendingServiceResource.serviceChangeNumber + 1;
-        else if (activeServiceResource != null)
-            sr.serviceChangeNumber = activeServiceResource.serviceChangeNumber + 1;
-        sr.resourceSetId = serviceInstanceId + "/" + sr.serviceChangeNumber;
-        sr.resourceUnionId = serviceInstanceId;
-
-        log.info("New ServiceResource: ");
-        StrUtil.info(log, sr);
+    }
 
-        List<Map<String, Object>> vpePortData = vpePortDao.getVpePortData(aicSiteId);
-        List<Map<String, Object>> vplspePortData = vplspePortDao.getVplspePortData(aicSiteId);
-        List<Map<String, Object>> serverData = serverDao.getServerData(aicSiteId);
+    private QueryStatus allocateResources(SvcLogicContext ctx, boolean checkOnly, String prefix)
+            throws SvcLogicException {
+        String serviceModel = getParam(ctx, "service-model", true, null);
+        String requestType = getParam(ctx, "request-type", false, "New");
 
-        vpePortData = orderVpe(vpePortData);
+        ResourceEntity sd = getResourceEntityData(ctx);
+        ResourceTarget rt = getResourceTargetData(ctx);
+        ResourceRequest rr = getResourceRequest(ctx);
 
-        long maxAvailableSpeedVpePort = 0;
-        boolean vpePortFound = false;
+        log.info("Starting reserve: " + requestType + ", service-model: " + serviceModel);
+        StrUtil.info(log, sd);
+        StrUtil.info(log, rt);
+        StrUtil.info(log, rr);
 
-        for (Map<String, Object> vpe : vpePortData) {
-            String vpeId = String.valueOf(vpe.get("vpe-id"));
-            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
-            String portId = vpeId + "/" + interfaceName;
+        boolean change = requestType.equalsIgnoreCase("change");
 
-            log.info("Checking VPE port: " + portId);
+        List<ResourceData> rlist = endPointAllocator.allocateResources(serviceModel, sd, rt, rr, checkOnly, change);
 
-            String provStatus = String.valueOf(vpe.get("provisioning-status"));
-            if (!"PROV".equals(provStatus)) {
-                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
-                continue;
-            }
+        if (rlist != null && !rlist.isEmpty()) {
+            setResourceDataInContext(ctx, prefix, rlist);
 
-            String imageFile = String.valueOf(vpe.get("image-file-name"));
-            String endPointPosition = "VPE-Cust";
-            long maxPortSpeed = maxPortSpeedDao.getMaxPortSpeed(imageFile, endPointPosition, interfaceName);
-            vpe.put("max-port-speed", maxPortSpeed);
-
-            EquipmentData ed = new EquipmentData();
-            ed.data = vpe;
-            ed.equipmentId = portId;
-            ed.equipmentLevel = EquipmentLevel.Port;
-
-            ServiceData sd = new ServiceData();
-            sd.data = service;
-            sd.serviceModel = "L3SDN";
-            sd.endPointPosition = endPointPosition;
-            sd.resourceUnionId = sr.resourceUnionId;
-            sd.resourceSetId = sr.resourceSetId;
-
-            StrUtil.info(log, ed);
-            StrUtil.info(log, sd);
-
-            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-                    requestType == ReserveRequestType.Change);
-            AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-            if (ao.status == AllocationStatus.Success) {
-
-                // Assign affinity link
-                if (!checkOnly) {
-                    List<String> affinityLinkIdList = new ArrayList<>();
-                    affinityLinkIdList.add("0");
-                    affinityLinkIdList.add("1");
-                    affinityLinkIdList.add("2");
-                    affinityLinkIdList.add("3");
-
-                    String preferedAffinityLinkId = "0";
-                    long lowestAssignedBw = Long.MAX_VALUE;
-                    for (String affinityLinkId : affinityLinkIdList) {
-                        long used = 0;
-                        String assetId = ed.equipmentId + "-" + affinityLinkId;
-                        Resource r = resourceManager.getResource("Bandwidth", assetId);
-                        if (r != null) {
-                            LimitResource ll = (LimitResource) r;
-                            used = ll.used;
-                        }
-                        if (used < lowestAssignedBw) {
-                            lowestAssignedBw = used;
-                            preferedAffinityLinkId = affinityLinkId;
-                        }
-                        log.info("Assigned bandwidth on affinity link: " + assetId + ": " + used);
-                    }
-
-                    log.info("Prefered affinity link for " + ed.equipmentId + ": " + preferedAffinityLinkId);
-
-                    ctx.setAttribute(prefix + "affinity-link", preferedAffinityLinkId);
-
-                    LimitAllocationRequest ar1 = new LimitAllocationRequest();
-                    ar1.resourceSetId = sd.resourceSetId;
-                    ar1.resourceUnionId = sd.resourceUnionId;
-                    ar1.resourceShareGroupList = null;
-                    ar1.resourceName = "Bandwidth";
-                    ar1.assetId = ed.equipmentId + "-" + preferedAffinityLinkId;
-                    ar1.missingResourceAction = AllocationAction.Succeed_Allocate;
-                    ar1.expiredResourceAction = AllocationAction.Succeed_Allocate;
-                    ar1.replace = true;
-                    ar1.strict = false;
-                    ar1.checkLimit = Long.MAX_VALUE;
-                    ar1.checkCount = 0;
-                    ar1.allocateCount = (Long) sd.data.get("service-speed-kbps");
-
-                    resourceManager.allocateResources(ar1);
+            for (ResourceData rd : rlist) {
+                if (!rd.status.equals("Success")) {
+                    log.info("Capacity not found for: " + sd.resourceEntityType + "::" + sd.resourceEntityId);
+                    return QueryStatus.NOT_FOUND;
                 }
-
-                ctx.setAttribute(prefix + "vpe-name", vpeId);
-
-                vpePortFound = true;
-                break;
-            }
-
-            if (ao instanceof LimitAllocationOutcome) {
-                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
-                long available = lao.limit - lao.used;
-                if (available > maxAvailableSpeedVpePort)
-                    maxAvailableSpeedVpePort = available;
             }
         }
+        return QueryStatus.SUCCESS;
+    }
 
-        long maxAvailableSpeedVplspePort = 0;
-        boolean vplspePortFound = false;
+    private AllocationStatus allocateResources(ResourceEntity sd, ResourceTarget rt, ResourceRequest rr,
+            List<ResourceResponse> rsList) throws Exception {
 
-        for (Map<String, Object> vplspe : vplspePortData) {
-            String vplspeId = String.valueOf(vplspe.get("vplspe-id"));
-            String interfaceName = String.valueOf(vplspe.get("physical-interface-name"));
-            String portId = vplspeId + "/" + interfaceName;
+        String serviceModel = rr.serviceModel;
+        String requestType = rr.requestType == null ? "New" : rr.requestType;
 
-            log.info("Checking VPLSPE port: " + portId);
+        log.info("Starting reserve: " + requestType + ", service-model: " + serviceModel);
+        StrUtil.info(log, sd);
+        StrUtil.info(log, rt);
+        StrUtil.info(log, rr);
 
-            String provStatus = String.valueOf(vplspe.get("provisioning-status"));
-            if (!"PROV".equals(provStatus)) {
-                log.info("Skipping port " + portId + ": Provisioning status is not PROV.");
-                continue;
-            }
+        boolean change = requestType.equalsIgnoreCase("change");
 
-            long physicalSpeed = (Long) vplspe.get("physical-interface-speed");
-            String physicalSpeedUnit = String.valueOf(vplspe.get("physical-interface-speed-unit"));
-            long maxPortSpeed = speedUtil.convertToKbps(physicalSpeed, physicalSpeedUnit);
-            vplspe.put("max-port-speed", maxPortSpeed);
-
-            EquipmentData ed = new EquipmentData();
-            ed.data = vplspe;
-            ed.equipmentId = portId;
-            ed.equipmentLevel = EquipmentLevel.Port;
-
-            ServiceData sd = new ServiceData();
-            sd.data = service;
-            sd.serviceModel = "L3SDN";
-            sd.endPointPosition = "IPAG-TOA";
-            sd.resourceUnionId = sr.resourceUnionId;
-            sd.resourceSetId = sr.resourceSetId;
-
-            StrUtil.info(log, ed);
-            StrUtil.info(log, sd);
-
-            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-                    requestType == ReserveRequestType.Change);
-            AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-            if (ao.status == AllocationStatus.Success) {
-                vplspePortFound = true;
-                break;
-            }
+        List<ResourceData> rlist = endPointAllocator.allocateResources(serviceModel, sd, rt, rr, rr.checkOnly, change);
 
-            if (ao instanceof LimitAllocationOutcome) {
-                LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
-                long available = lao.limit - lao.used;
-                if (available > maxAvailableSpeedVplspePort)
-                    maxAvailableSpeedVplspePort = available;
+        if (rlist != null && !rlist.isEmpty()) {
+            setResourceDataInResponse(rlist, rsList);
+
+            for (ResourceData rd : rlist) {
+                if (!rd.status.equals("Success")) {
+                    log.info("Capacity not found for: " + sd.resourceEntityType + "::" + sd.resourceEntityId);
+                    return AllocationStatus.ResourceNotFound;
+                }
             }
         }
 
-        long maxAvailableSpeedServer = 0;
-        boolean serverFound = false;
-
-        for (Map<String, Object> server : serverData) {
-            String serverId = String.valueOf(server.get("server-id"));
-            String serverModel = String.valueOf(server.get("server-model"));
-
-            log.info("Checking Server: " + serverId);
-
-            String endPointPosition = "VCE-Cust";
-
-            int serverCount = (Integer) server.get("server-count");
-            if (serverCount == 0)
-                serverCount = 1;
-            String ratioString = parameterDao.getParameter("homing.pserver.sparing.ratio");
-            if (ratioString == null || ratioString.length() == 0)
-                ratioString = "1:1";
-            int primaryServerCount = calculatePrimaryServerCount(serverCount, ratioString);
-            server.put("number-primary-servers", primaryServerCount);
-
-            int evcCount = getEvcCountOnServer(serverId);
-            int evcCountPerServer = (evcCount + primaryServerCount - 1) / primaryServerCount;
-            long maxServerSpeed = maxServerSpeedDao.getMaxServerSpeed(serverModel, evcCountPerServer);
-            server.put("max-server-speed", maxServerSpeed);
-            server.put("evc-count", evcCount);
-            server.put("evc-count-per-server", evcCountPerServer);
-
-            EquipmentData ed = new EquipmentData();
-            ed.data = server;
-            ed.equipmentId = serverId;
-            ed.equipmentLevel = EquipmentLevel.Server;
-
-            ServiceData sd = new ServiceData();
-            sd.data = service;
-            sd.serviceModel = "L3SDN";
-            sd.endPointPosition = endPointPosition;
-            sd.resourceUnionId = sr.resourceUnionId;
-            sd.resourceSetId = sr.resourceSetId;
-
-            StrUtil.info(log, ed);
-            StrUtil.info(log, sd);
-
-            AllocationRequest ar = allocationRequestBuilder.buildAllocationRequest(sd, ed, checkOnly,
-                    requestType == ReserveRequestType.Change);
-            AllocationOutcome ao = resourceManager.allocateResources(ar);
-
-            if (ao.status == AllocationStatus.Success) {
-                serverFound = true;
-
-                if (ao instanceof MultiResourceAllocationOutcome) {
-                    MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
-                    for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
-                        if (ao1 instanceof LimitAllocationOutcome) {
-                            LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
-                            if ("Bandwidth".equals(lao.request.resourceName)) {
-                                ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
-                                setThresholdData(ctx, th, sd, ed);
-                            }
-                        }
+        return AllocationStatus.Success;
+    }
+
+    private void setResourceDataInResponse(List<ResourceData> rlist, List<ResourceResponse> rsList) {
+        for (ResourceData rd : emptyIfNull(rlist)) {
+            ResourceResponse res = new ResourceResponse();
+            res.resourceName = rd.resourceName;
+            res.endPointPosition = rd.endPointPosition;
+            res.resourceTargetId = rd.resourceTargetId;
+            res.resourceTargetType = rd.resourceTargetType;
+            res.status = rd.status;
+            if (rd.data != null && !rd.data.isEmpty()) {
+                for (String kk : rd.data.keySet()) {
+                    if (kk.equalsIgnoreCase("allocated")) {
+                        res.resourceAllocated = String.valueOf(rd.data.get(kk));
                     }
-                }
 
-                break;
-            }
+                    if (kk.equalsIgnoreCase("used")) {
+                        res.resourceUsed = String.valueOf(rd.data.get(kk));
+                    }
 
-            if (ao instanceof MultiResourceAllocationOutcome) {
-                MultiResourceAllocationOutcome mrao = (MultiResourceAllocationOutcome) ao;
-                for (AllocationOutcome ao1 : mrao.allocationOutcomeList) {
-                    if (ao1 instanceof LimitAllocationOutcome) {
-                        LimitAllocationOutcome lao = (LimitAllocationOutcome) ao1;
-                        if (lao.status == AllocationStatus.Failure && "Bandwidth".equals(lao.request.resourceName)) {
-                            long available = lao.limit - lao.used;
-                            if (available > maxAvailableSpeedServer)
-                                maxAvailableSpeedServer = available;
-                        }
-                        if (lao.status == AllocationStatus.Failure && "Connection".equals(lao.request.resourceName)) {
-                            maxAvailableSpeedServer = 0;
-                            break;
-                        }
+                    if (kk.equalsIgnoreCase("available")) {
+                        res.resourceAvailable = String.valueOf(rd.data.get(kk));
+                    }
 
-                        ThresholdStatus th = allocationRequestBuilder.getThresholdStatus(sd, ed, lao);
-                        setThresholdData(ctx, th, sd, ed);
+                    if (kk.equalsIgnoreCase("limit")) {
+                        res.resourceLimit = String.valueOf(rd.data.get(kk));
                     }
-                }
-            }
-        }
 
-        if (vpePortFound && vplspePortFound && serverFound) {
-            if (!checkOnly) {
-                if (pendingServiceResource == null) {
-                    log.info("Adding the pending service resource record to DB.");
-                    serviceResourceDao.addServiceResource(sr);
-                } else {
-                    log.info("Releasing previously allocated resources for resource set id: " +
-                            pendingServiceResource.resourceSetId);
-                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-
-                    log.info("Updating the pending service resource record in DB with service change number: " +
-                            sr.serviceChangeNumber);
-                    serviceResourceDao.updateServiceResource(sr);
                 }
             }
-
-            return QueryStatus.SUCCESS;
+            rsList.add(res);
         }
 
-        log.info("Releasing allocated resources (if any) for resource set id: " + sr.resourceSetId);
-        resourceManager.releaseResourceSet(sr.resourceSetId);
-
-        long maxAvailableSpeed = Long.MAX_VALUE;
-        if (!vpePortFound && maxAvailableSpeedVpePort < maxAvailableSpeed)
-            maxAvailableSpeed = maxAvailableSpeedVpePort;
-        if (!vplspePortFound && maxAvailableSpeedVplspePort < maxAvailableSpeed)
-            maxAvailableSpeed = maxAvailableSpeedVplspePort;
-        if (!serverFound && maxAvailableSpeedServer < maxAvailableSpeed)
-            maxAvailableSpeed = maxAvailableSpeedServer;
-
-        setOutputContext(ctx, maxAvailableSpeed, "kbps");
-        return QueryStatus.NOT_FOUND;
     }
 
-    private List<Map<String, Object>> orderVpe(List<Map<String, Object>> vpePortData) {
-        for (Map<String, Object> vpe : vpePortData) {
-            String vpeId = String.valueOf(vpe.get("vpe-id"));
-            String interfaceName = String.valueOf(vpe.get("physical-interface-name"));
-            String portId = vpeId + "/" + interfaceName;
-            Resource r = resourceManager.getResource("Bandwidth", portId);
-            long used = 0;
-            if (r != null) {
-                LimitResource ll = (LimitResource) r;
-                used = ll.used;
-            }
-            vpe.put("used-bandwidth", used);
-
-            log.info("Used bandwidth on VPE: " + vpeId + ": " + used);
-        }
-
-        Collections.sort(vpePortData, new Comparator<Map<String, Object>>() {
-
-            @Override
-            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
-                long used1 = (Long) o1.get("used-bandwidth");
-                long used2 = (Long) o2.get("used-bandwidth");
-                if (used1 < used2)
-                    return -1;
-                if (used1 > used2)
-                    return 1;
-                return 0;
-            }
-        });
-
-        return vpePortData;
+    public static <T> Iterable<T> emptyIfNull(Iterable<T> iterable) {
+        return iterable == null ? Collections.<T>emptyList() : iterable;
     }
 
-    private void setThresholdData(SvcLogicContext ctx, ThresholdStatus th, ServiceData sd, EquipmentData ed) {
-        if (th == null)
-            return;
-
-        String pp = "tmp.resource-allocator-output.threshold-notification-list.threshold-hotification[0].";
-        ctx.setAttribute("tmp.resource-allocator-output.threshold-notification-list.threshold-hotification_length",
-                "1");
-        ctx.setAttribute(pp + "message", th.resourceThreshold.message);
-        ctx.setAttribute(pp + "resource-rule.service-model", th.resourceRule.serviceModel);
-        ctx.setAttribute(pp + "resource-rule.endpoint-position", th.resourceRule.endPointPosition);
-        ctx.setAttribute(pp + "resource-rule.resource-name", th.resourceRule.resourceName);
-        ctx.setAttribute(pp + "resource-rule.equipment-level", th.resourceRule.equipmentLevel);
-        ctx.setAttribute(pp + "resource-rule.soft-limit-expression", th.resourceRule.softLimitExpression);
-        ctx.setAttribute(pp + "resource-rule.hard-limit-expression", th.resourceRule.hardLimitExpression);
-        ctx.setAttribute(pp + "resource-state.used", String.valueOf(th.used));
-        ctx.setAttribute(pp + "resource-state.limit-value", String.valueOf(th.limitValue));
-        ctx.setAttribute(pp + "resource-state.threshold-value", String.valueOf(th.thresholdValue));
-        ctx.setAttribute(pp + "resource-state.last-added", String.valueOf(th.lastAdded));
-        ctx.setAttribute(pp + "equipment-data.equipment-id", ed.equipmentId);
-        for (String edKey : ed.data.keySet())
-            ctx.setAttribute(pp + "equipment-data." + edKey, String.valueOf(ed.data.get(edKey)));
+    private void setAttr(SvcLogicContext ctx, String name, String value) {
+        ctx.setAttribute(name, value);
+        log.info("Added context attr: " + name + ": " + value);
     }
 
-    private QueryStatus allocateResources(String serviceModel, SvcLogicContext ctx, boolean checkOnly, String prefix)
-            throws SvcLogicException {
-        prefix = prefix == null ? "" : prefix + '.';
-
-        Map<String, Object> service = getServiceData(ctx);
-        Map<String, Object> ec = getEquipConstraints(ctx);
-
-        String requestTypeStr = ctx.getAttribute("tmp.resource-allocator.request-type");
-        if (requestTypeStr == null)
-            requestTypeStr = "New";
-
-        ReserveRequestType requestType = null;
-        try {
-            requestType = ReserveRequestType.convert(requestTypeStr);
-        } catch (IllegalArgumentException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.request-type: " + requestTypeStr +
-                    ". Supported values are New, Change.");
-        }
-
-        String serviceInstanceId = String.valueOf(service.get("service-instance-id"));
-
-        log.info("Starting reserve: " + requestType + ", service-instance-id: " + serviceInstanceId);
-
-        ServiceResource activeServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Active);
-        ServiceResource pendingServiceResource =
-                serviceResourceDao.getServiceResource(serviceInstanceId, ServiceStatus.Pending);
-
-        log.info("Active ServiceResource: ");
-        StrUtil.info(log, activeServiceResource);
-        log.info("Pending ServiceResource: ");
-        StrUtil.info(log, pendingServiceResource);
-
-        int changeNumber = 1;
-        if (pendingServiceResource != null)
-            changeNumber = pendingServiceResource.serviceChangeNumber + 1;
-        else if (activeServiceResource != null)
-            changeNumber = activeServiceResource.serviceChangeNumber + 1;
-
-        ServiceData sd = new ServiceData();
-        sd.data = service;
-        sd.serviceModel = serviceModel;
-        sd.endPointPosition = (String) service.get("end-point-position");
-        sd.resourceShareGroup = (String) service.get("resource-share-group");
-        sd.resourceName = (String) service.get("resource-name");
-        sd.serviceInstanceId = serviceInstanceId;
-
-        StrUtil.info(log, sd);
-
-        List<EndPointData> epList = endPointAllocator.allocateEndPoints(sd, ec, checkOnly,
-                requestType == ReserveRequestType.Change, changeNumber);
-
-        if (epList != null && !epList.isEmpty()) {
-            if (!checkOnly) {
-                EndPointData ep = epList.get(0);
-
-                if (sd.resourceName == null) {
-                ServiceResource sr = new ServiceResource();
-                sr.serviceInstanceId = serviceInstanceId;
-                sr.serviceStatus = ServiceStatus.Pending;
-                sr.serviceChangeNumber = changeNumber;
-                sr.resourceSetId = ep.resourceSetId;
-                sr.resourceUnionId = ep.resourceUnionId;
-
-                log.info("New ServiceResource: ");
-                StrUtil.info(log, sr);
-
-                if (pendingServiceResource == null) {
-                    log.info("Adding the pending service resource record to DB.");
-                    serviceResourceDao.addServiceResource(sr);
-                } else {
-                    log.info("Releasing previously allocated resources for resource set id: " +
-                            pendingServiceResource.resourceSetId);
-                    resourceManager.releaseResourceSet(pendingServiceResource.resourceSetId);
-
-                    log.info("Updating the pending service resource record in DB with service change number: " +
-                            sr.serviceChangeNumber);
-                    serviceResourceDao.updateServiceResource(sr);
-                }
-            }
-
-                for (EndPointData ep1 : epList)
-                    if (ep1.data != null && !ep1.data.isEmpty())
-                        for (String key : ep1.data.keySet()) {
-                            String value = String.valueOf(ep1.data.get(key));
-                            ctx.setAttribute(prefix + key, value);
-
-                            log.info("Added context attr: " + prefix + key + ": " + value);
-                        }
-            }
-
-            return QueryStatus.SUCCESS;
-        }
-
-        log.info("Capacity not found for EVC: " + serviceInstanceId);
-
-        return QueryStatus.NOT_FOUND;
+    private ResourceEntity getResourceEntityData(SvcLogicContext ctx) throws SvcLogicException {
+        ResourceEntity sd = new ResourceEntity();
+        sd.resourceEntityId = getParam(ctx,
+                new String[] {"service-instance-id", "reservation-entity-id", "resource-entity-id"}, true, null);
+        sd.resourceEntityType =
+                getParam(ctx, new String[] {"reservation-entity-type", "resource-entity-type"}, true, null);
+        sd.resourceEntityVersion =
+                getParam(ctx, new String[] {"reservation-entity-version", "resource-entity-version"}, false, "1");
+        sd.data = getDataParam(ctx, "reservation-entity-data", "resource-entity-data", "service-data");
+        return sd;
     }
 
-    private int getEvcCountOnServer(String serverId) {
-        LimitResource l = (LimitResource) resourceManager.getResource("Connection", serverId);
-        if (l != null)
-            return (int) l.used;
-        return 0;
+    private ResourceTarget getResourceTargetData(SvcLogicContext ctx) throws SvcLogicException {
+        ResourceTarget sd = new ResourceTarget();
+        sd.resourceTargetId = getParam(ctx, new String[] {"reservation-target-id", "resource-target-id"}, true, null);
+        sd.resourceTargetType =
+                getParam(ctx, new String[] {"reservation-target-type", "resource-target-type"}, true, null);
+        sd.data = getDataParam(ctx, "reservation-target-data", "resource-target-data", "equipment-data");
+        return sd;
     }
 
-    private String getAicSiteId(SvcLogicContext ctx) throws SvcLogicException {
-        String aicSiteId = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
-        if (aicSiteId == null)
-            throw new SvcLogicException("tmp.resource-allocator.aic-site-id is required in ResourceAllocator");
-        return aicSiteId;
+    private ResourceRequest getResourceRequest(SvcLogicContext ctx) throws SvcLogicException {
+        ResourceRequest rr = new ResourceRequest();
+        rr.resourceName = getParam(ctx, "resource-name", false, null);
+        rr.resourceShareGroup = getParam(ctx, "resource-share-group", false, null);
+        rr.rangeRequestedNumbers = getParam(ctx, "range-requested-numbers", false, null);
+        rr.rangeExcludeNumbers = getParam(ctx, "range-exclude-numbers", false, null);
+        String rangeReverseOrderStr = getParam(ctx, "range-reverse-order", false, "false");
+        rr.rangeReverseOrder = Boolean.parseBoolean(rangeReverseOrderStr);
+        String rangeMinOverrideStr = getParam(ctx, "range-min-override", false, "-1");
+        rr.rangeMinOverride = Integer.parseInt(rangeMinOverrideStr);
+        String rangeMaxOverrideStr = getParam(ctx, "range-max-override", false, "-1");
+        rr.rangeMaxOverride = Integer.parseInt(rangeMaxOverrideStr);
+        String replaceStr = getParam(ctx, "replace", false, "true");
+        rr.replace = Boolean.parseBoolean(replaceStr);
+        rr.applicationId = getParam(ctx, "application-id", false, "SDNC");
+        rr.endPointPosition = getParam(ctx, "endpoint-position", false, null);
+        return rr;
     }
 
-    private Map<String, Object> getServiceData(SvcLogicContext ctx) throws SvcLogicException {
-        Map<String, Object> sd = new HashMap<String, Object>();
-
-        String endPointPosition = ctx.getAttribute("tmp.resource-allocator.end-point-position");
-        if (endPointPosition != null && endPointPosition.trim().length() > 0)
-            sd.put("end-point-position", endPointPosition.trim());
-
-        String resourceName = ctx.getAttribute("tmp.resource-allocator.resource-name");
-        if (resourceName != null && resourceName.trim().length() > 0)
-            sd.put("resource-name", resourceName.trim());
-
-        String resourceShareGroup = ctx.getAttribute("tmp.resource-allocator.resource-share-group");
-        if (resourceShareGroup != null && resourceShareGroup.trim().length() > 0)
-            sd.put("resource-share-group", resourceShareGroup.trim());
-
-        String serviceInstanceId = ctx.getAttribute("tmp.resource-allocator.service-instance-id");
-        if (serviceInstanceId == null)
-            serviceInstanceId = "checkServiceInstance";
-        sd.put("service-instance-id", serviceInstanceId);
-
-        String speedStr = ctx.getAttribute("tmp.resource-allocator.speed");
-        if (speedStr != null && speedStr.trim().length() > 0) {
-        long speed = 0;
-        try {
-            speed = Long.parseLong(speedStr);
-        } catch (NumberFormatException e) {
-            throw new SvcLogicException("Invalid tmp.resource-allocator.speed. Must be a number.");
+    private String getParam(SvcLogicContext ctx, String name, boolean required, String def) throws SvcLogicException {
+        String v = null;
+        for (String p : INPUT_PREFIX) {
+            v = ctx.getAttribute(p + name);
+            if (v != null && v.trim().length() > 0) {
+                log.info("Param: " + name + ": " + v.trim());
+                return v.trim();
+            }
         }
-        String unit = ctx.getAttribute("tmp.resource-allocator.speed-unit");
-        if (unit == null || unit.trim().length() == 0)
-            throw new SvcLogicException("tmp.resource-allocator.speed-unit is required in ResourceAllocator");
-        long serviceSpeedKbps = speedUtil.convertToKbps(speed, unit);
-
-        sd.put("service-speed-kbps", serviceSpeedKbps);
+        if (required) {
+            throw new SvcLogicException("The following variable is required in DG context: " + name);
         }
 
-        String vpnId = ctx.getAttribute("tmp.resource-allocator.vpn-id");
-        if (vpnId != null && vpnId.trim().length() > 0)
-            sd.put("vpn-id", vpnId.trim());
-
-        String vpnIdList = ctx.getAttribute("tmp.resource-allocator.vpn-id-list");
-        if (vpnIdList != null && vpnIdList.trim().length() > 0)
-            sd.put("vpn-id-list", vpnIdList.trim());
-
-        String vrfName = ctx.getAttribute("tmp.resource-allocator.vrf-name");
-        if (vrfName != null && vrfName.trim().length() > 0)
-            sd.put("vrf-name", vrfName.trim());
-
-        String vrfNameList = ctx.getAttribute("tmp.resource-allocator.vrf-name-list");
-        if (vrfNameList != null && vrfNameList.trim().length() > 0)
-            sd.put("vrf-name-list", vrfNameList.trim());
-
-        String v4multicast = ctx.getAttribute("tmp.resource-allocator.v4-multicast");
-        if (v4multicast != null && v4multicast.trim().length() > 0)
-            sd.put("v4-multicast", v4multicast.trim());
-
-        String v6multicast = ctx.getAttribute("tmp.resource-allocator.v6-multicast");
-        if (v6multicast != null && v6multicast.trim().length() > 0)
-            sd.put("v6-multicast", v6multicast.trim());
-
-        String v4ServingSite = ctx.getAttribute("tmp.resource-allocator.v4-serving-site");
-        if (v4ServingSite != null && v4ServingSite.trim().length() > 0)
-            sd.put("v4-serving-site", v4ServingSite.trim());
-
-        String v6ServingSite = ctx.getAttribute("tmp.resource-allocator.v6-serving-site");
-        if (v6ServingSite != null && v6ServingSite.trim().length() > 0)
-            sd.put("v6-serving-site", v6ServingSite.trim());
-
-        return sd;
+        log.info("Param: " + name + " not supplied. Using default: " + def);
+        return def;
     }
 
-    private Map<String, Object> getEquipConstraints(SvcLogicContext ctx) throws SvcLogicException {
-        Map<String, Object> mm = new HashMap<String, Object>();
-
-        String vrfRequired = ctx.getAttribute("tmp.resource-allocator.vrf-required");
-        if (vrfRequired != null && vrfRequired.trim().length() > 0)
-            mm.put("vrf-required", vrfRequired.trim());
-
-        String clli = ctx.getAttribute("tmp.resource-allocator.clli");
-        if (clli == null || clli.trim().length() == 0)
-            clli = ctx.getAttribute("tmp.resource-allocator.aic-site-id");
-        if (clli != null) {
-        mm.put("clli", clli.trim());
-            mm.put("aic-site-id", clli.trim());
-        }
-
-        String vpeName = ctx.getAttribute("tmp.resource-allocator.vpe-name");
-        if (vpeName != null && vpeName.trim().length() > 0)
-            mm.put("vpe-name", vpeName.trim());
-
-        String vnfName = ctx.getAttribute("tmp.resource-allocator.device-name");
-        if (vnfName != null && vnfName.trim().length() > 0)
-            mm.put("vnf-name", vnfName.trim());
-
-        String excludeVpeList = ctx.getAttribute("tmp.resource-allocator.exclude-vpe-list");
-        if (excludeVpeList != null && excludeVpeList.trim().length() > 0)
-            mm.put("exclude-vpe-list", excludeVpeList.trim());
-
-        String uplinkCircuitCountStr =
-                ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length");
-        if (uplinkCircuitCountStr != null) {
-            long uplinkCircuitCount = 0;
-            try {
-                uplinkCircuitCount = Long.parseLong(uplinkCircuitCountStr);
-            } catch (NumberFormatException e) {
-                throw new SvcLogicException(
-                        "Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit_length. Must be a number.");
-            }
-            List<Map<String, Object>> uplinkCircuitList = new ArrayList<>();
-            for (int i = 0; i < uplinkCircuitCount; i++) {
-                String uplinkCircuitId = ctx.getAttribute(
-                        "tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i + "].uplink-circuit-id");
-                String uplinkCircuitBandwidthStr =
-                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
-                                "].uplink-circuit-bandwidth");
-                String uplinkCircuitBandwidthUnit =
-                        ctx.getAttribute("tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" + i +
-                                "].uplink-circuit-bandwidth-unit");
-
-                long uplinkCircuitBandwidth = 0;
-                try {
-                    uplinkCircuitBandwidth = Long.parseLong(uplinkCircuitBandwidthStr);
-                } catch (NumberFormatException e) {
-                    throw new SvcLogicException("Invalid tmp.resource-allocator.uplink-circuit-list.uplink-circuit[" +
-                            i + "].uplink-circuit-id. Must be a number.");
-                }
-
-                long uplinkCircuitBandwidthKbps =
-                        speedUtil.convertToKbps(uplinkCircuitBandwidth, uplinkCircuitBandwidthUnit);
-
-                Map<String, Object> uplinkCircuit = new HashMap<String, Object>();
-                uplinkCircuit.put("uplink-circuit-id", uplinkCircuitId);
-                uplinkCircuit.put("uplink-circuit-bandwidth", uplinkCircuitBandwidthKbps);
-                uplinkCircuitList.add(uplinkCircuit);
+    private String getParam(SvcLogicContext ctx, String[] names, boolean required, String def)
+            throws SvcLogicException {
+        String v = null;
+        for (String name : names) {
+            v = getParam(ctx, name, false, def);
+            if (v != null) {
+                return v;
             }
-            mm.put("uplink-circuit-list", uplinkCircuitList);
         }
-
-        return mm;
-    }
-
-    private void setOutputContext(SvcLogicContext ctx, long maxAvailableSpeed, String unit) {
-        ctx.setAttribute("tmp.resource-allocator-output.max-available-speed", String.valueOf(maxAvailableSpeed));
-        ctx.setAttribute("tmp.resource-allocator-output.speed-unit", unit);
-    }
-
-    private int calculatePrimaryServerCount(int serverCount, String ratioString) throws SvcLogicException {
-        String[] ss = ratioString.split(":");
-        if (ss.length != 2)
-            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
-
-        int n = 1, m = 1;
-        try {
-            n = Integer.parseInt(ss[0]);
-            m = Integer.parseInt(ss[1]);
-        } catch (Exception e) {
-            throw new SvcLogicException("Invalid value for homing.pserver.sparing.ratio: " + ratioString);
+        if (required) {
+            throw new SvcLogicException(
+                    "One of the following variable is required in DG context: " + Arrays.deepToString(names));
         }
 
-        return (serverCount - 1) * n / (n + m) + 1;
+        log.info("Param: " + names + " not supplied. Using default: " + def);
+        return def;
     }
 
-    public void setServerDao(ServerDao serverDao) {
-        this.serverDao = serverDao;
-    }
-
-    public void setVpePortDao(VpePortDao vpePortDao) {
-        this.vpePortDao = vpePortDao;
-    }
-
-    public void setVplspePortDao(VplspePortDao vplspePortDao) {
-        this.vplspePortDao = vplspePortDao;
-    }
-
-    public void setMaxPortSpeedDao(MaxPortSpeedDao maxPortSpeedDao) {
-        this.maxPortSpeedDao = maxPortSpeedDao;
-    }
-
-    public void setMaxServerSpeedDao(MaxServerSpeedDao maxServerSpeedDao) {
-        this.maxServerSpeedDao = maxServerSpeedDao;
-    }
-
-    public void setAllocationRequestBuilder(AllocationRequestBuilder allocationRequestBuilder) {
-        this.allocationRequestBuilder = allocationRequestBuilder;
+    private Map<String, String> getDataParam(SvcLogicContext ctx, String... names) {
+        Map<String, String> data = new HashMap<>();
+        Set<String> ctxNames = ctx.getAttributeKeySet();
+        for (String n : ctxNames) {
+            for (String p : INPUT_PREFIX) {
+                for (String name : names) {
+                    String pp = p + name + '.';
+                    if (n.startsWith(pp)) {
+                        String nn = n.substring(pp.length());
+                        String vv = ctx.getAttribute(n);
+                        data.put(nn, vv);
+
+                        log.info("Data param: " + nn + ": " + vv);
+
+                        if (ctxNames.contains(n + "-unit")) {
+                            try {
+                                long v = Long.parseLong(vv);
+                                String unit = ctx.getAttribute(n + "-unit");
+                                long kbps = speedUtil.convertToKbps(v, unit);
+                                long mbps = speedUtil.convertToMbps(v, unit);
+                                data.put(nn + "-kbps", String.valueOf(kbps));
+                                data.put(nn + "-mbps", String.valueOf(mbps));
+
+                                log.info("Data param: " + nn + "-kbps: " + kbps);
+                                log.info("Data param: " + nn + "-mbps: " + mbps);
+
+                            } catch (Exception e) {
+                                log.warn("Invalid number for " + n + ": " + vv);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return data;
     }
 
     public void setResourceManager(ResourceManager resourceManager) {
         this.resourceManager = resourceManager;
     }
 
-    public void setSpeedUtil(SpeedUtil speedUtil) {
-        this.speedUtil = speedUtil;
-    }
-
-    public void setServiceResourceDao(ServiceResourceDao serviceResourceDao) {
-        this.serviceResourceDao = serviceResourceDao;
-    }
-
     public void setEndPointAllocator(EndPointAllocator endPointAllocator) {
         this.endPointAllocator = endPointAllocator;
     }
 
-    public void setParameterDao(ParameterDao parameterDao) {
-        this.parameterDao = parameterDao;
+    public void setSpeedUtil(SpeedUtil speedUtil) {
+        this.speedUtil = speedUtil;
     }
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java
deleted file mode 100644
index 0da7acb79..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/AffinityAllocationRule.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.alloc;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AffinityAllocationRule implements AllocationRule {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(AffinityAllocationRule.class);
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        String affinityLink = (String) equipmentData.data.get("affinity-link");
-        if (affinityLink == null)
-            affinityLink = "1";
-
-        long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceShareGroupList = null;
-        ar.resourceName = "Bandwidth";
-        ar.assetId = equipmentData.equipmentId + "-" + affinityLink;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = Long.MAX_VALUE;
-        ar.checkCount = 0;
-        ar.allocateCount = serviceSpeed;
-        return ar;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
index a0b698d73..e9f6e0d3f 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
@@ -3,14 +3,14 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ * 						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.
@@ -24,10 +24,10 @@ package org.onap.ccsdk.sli.adaptors.ra.alloc;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-
 import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceEntity;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceRequest;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceTarget;
 import org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDao;
 import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDao;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
@@ -44,112 +44,127 @@ import org.slf4j.LoggerFactory;
 
 public class DbAllocationRule implements AllocationRule {
 
-    private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
-
-    private ResourceRuleDao resourceRuleDao;
-    private RangeRuleDao rangeRuleDao;
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
-                endPointPosition, equipmentData.equipmentLevel);
-        List<RangeRule> rangeRuleList =
-                rangeRuleDao.getRangeRules(serviceData.serviceModel, endPointPosition, equipmentData.equipmentLevel);
-
-        List<AllocationRequest> arlist = new ArrayList<AllocationRequest>();
-
-        for (ResourceRule rr : resourceRuleList) {
-            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.resourceName))
-                continue;
-            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
-                    equipmentData, checkOnly, change);
-            arlist.add(ar1);
-        }
-        for (RangeRule rr : rangeRuleList) {
-            if (serviceData.resourceName != null && !serviceData.resourceName.equals(rr.rangeName))
-                continue;
-            AllocationRequest ar1 = buildAllocationRequest(rr, resourceUnionId, resourceSetId, serviceData,
-                    equipmentData, checkOnly, change);
-            arlist.add(ar1);
-        }
-
-        if (arlist.isEmpty())
-            return null;
-
-        if (arlist.size() == 1)
-            return arlist.get(0);
-
-        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-        ar.stopOnFirstFailure = false;
-        ar.allocationRequestList = arlist;
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            ResourceRule resourceRule,
-            String resourceUnionId,
-            String resourceSetId,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, resourceRule);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceName = resourceRule.resourceName;
-        if (serviceData.resourceShareGroup != null)
-            ar.resourceShareGroupList = Collections.singleton(serviceData.resourceShareGroup);
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = ExpressionEvaluator.evalLong(
-                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);;
-        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
-        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            RangeRule rangeRule,
-            String resourceUnionId,
-            String resourceSetId,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, rangeRule);
-
-        RangeAllocationRequest ar = new RangeAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceName = rangeRule.rangeName;
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.check = true;
-        ar.allocate = !checkOnly;
-        ar.checkMin = rangeRule.minValue;
-        ar.checkMax = rangeRule.maxValue;
-        return ar;
-    }
-
-    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-        this.resourceRuleDao = resourceRuleDao;
-    }
-
-    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-        this.rangeRuleDao = rangeRuleDao;
-    }
+	private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
+
+	private ResourceRuleDao resourceRuleDao;
+	private RangeRuleDao rangeRuleDao;
+
+	@Override
+	public AllocationRequest buildAllocationRequest(String serviceModel, ResourceEntity resourceEntity,
+			ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
+		List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceModel,
+				resourceTarget.resourceTargetType);
+		List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceModel, resourceTarget.resourceTargetType);
+
+		List<AllocationRequest> arlist = new ArrayList<>();
+
+		for (ResourceRule rr : resourceRuleList) {
+			if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.resourceName)) {
+				continue;
+			}
+
+			boolean matches = ExpressionEvaluator.evalBoolean(rr.serviceExpression, resourceEntity.data);
+			matches = matches && ExpressionEvaluator.evalBoolean(rr.equipmentExpression, resourceTarget.data);
+
+			if (matches) {
+				AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
+						checkOnly, change);
+				arlist.add(ar1);
+			}
+		}
+
+		for (RangeRule rr : rangeRuleList) {
+			if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.rangeName)) {
+				continue;
+			}
+			if (resourceRequest.endPointPosition != null
+					&& !resourceRequest.endPointPosition.equals(rr.endPointPosition)) {
+				continue;
+			}
+
+			AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
+					checkOnly, change);
+			arlist.add(ar1);
+		}
+
+		if (arlist.isEmpty()) {
+			return null;
+		}
+
+		if (arlist.size() == 1) {
+			return arlist.get(0);
+		}
+
+		MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
+		ar.stopOnFirstFailure = false;
+		ar.allocationRequestList = arlist;
+		return ar;
+	}
+
+	private AllocationRequest buildAllocationRequest(ResourceRule resourceRule, ResourceEntity resourceEntity,
+			ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
+		StrUtil.info(log, resourceRule);
+
+		LimitAllocationRequest ar = new LimitAllocationRequest();
+		ar.applicationId = resourceRequest.applicationId;
+		ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
+		ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
+		ar.resourceName = resourceRule.resourceName;
+		if (resourceRequest.resourceShareGroup != null) {
+			ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
+		}
+		ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
+		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+		ar.replace = resourceRequest.replace;
+		ar.strict = false;
+		ar.checkLimit = ExpressionEvaluator.evalLong(
+				change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, resourceTarget.data);
+		ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, resourceEntity.data);
+		ar.allocateCount = checkOnly ? 0 : ar.checkCount;
+		return ar;
+	}
+
+	private AllocationRequest buildAllocationRequest(RangeRule rangeRule, ResourceEntity resourceEntity,
+			ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
+		StrUtil.info(log, rangeRule);
+
+		RangeAllocationRequest ar = new RangeAllocationRequest();
+		ar.applicationId = resourceRequest.applicationId;
+		if (resourceRequest.endPointPosition != null) {
+			ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId + "::"
+					+ resourceRequest.endPointPosition;
+			ar.endPointPosition = resourceRequest.endPointPosition;
+		}else
+			ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
+		ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
+		ar.resourceName = rangeRule.rangeName;
+		if (resourceRequest.resourceShareGroup != null) {
+			ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
+		}
+		ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
+		ar.requestedNumbers = StrUtil.listInt(resourceRequest.rangeRequestedNumbers,
+				"Invalid value for requested-numbers");
+		if (ar.requestedNumbers != null) {
+			ar.requestedCount = ar.requestedNumbers.size();
+		}
+		ar.excludeNumbers = StrUtil.listInt(resourceRequest.rangeExcludeNumbers, "Invalid value for exclude-numbers");
+		ar.reverseOrder = resourceRequest.rangeReverseOrder;
+		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+		ar.replace = resourceRequest.replace;
+		ar.check = true;
+		ar.allocate = !checkOnly;
+		ar.checkMin = resourceRequest.rangeMinOverride >= 0 ? resourceRequest.rangeMinOverride : rangeRule.minValue;
+		ar.checkMax = resourceRequest.rangeMaxOverride >= 0 ? resourceRequest.rangeMaxOverride : rangeRule.maxValue;
+		return ar;
+	}
+
+	public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
+		this.resourceRuleDao = resourceRuleDao;
+	}
+
+	public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
+		this.rangeRuleDao = rangeRuleDao;
+	}
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java
deleted file mode 100644
index b1c4ac449..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/ServingSiteAllocationRule.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.alloc;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.util.vrf.VpnParam;
-import org.onap.ccsdk.sli.adaptors.util.vrf.VrfUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ServingSiteAllocationRule implements AllocationRule {
-
-    private static final Logger log = LoggerFactory.getLogger(ServingSiteAllocationRule.class);
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return null;
-
-        log.info("vrfName: " + vrfName);
-
-        String v4ServingSiteStr = (String) serviceData.data.get("v4-serving-site");
-        String v6ServingSiteStr = (String) serviceData.data.get("v6-serving-site");
-        boolean v4ServingSite = v4ServingSiteStr != null &&
-                (v4ServingSiteStr.equalsIgnoreCase("Y") || v4ServingSiteStr.equalsIgnoreCase("true"));
-        boolean v6ServingSite = v6ServingSiteStr != null &&
-                (v6ServingSiteStr.equalsIgnoreCase("Y") || v6ServingSiteStr.equalsIgnoreCase("true"));
-        if (!v4ServingSite && !v6ServingSite)
-            return null;
-
-        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceName = "ServingSite";
-        ar.assetId = equipmentData.equipmentId + "-" + vpnp.vpnId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = 1;
-        ar.checkCount = 1;
-        ar.allocateCount = 1;
-
-        return ar;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java
deleted file mode 100644
index 74bfe6634..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/VrfAllocationRule.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.alloc;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VrfAllocationRule implements AllocationRule {
-
-    private static final Logger log = LoggerFactory.getLogger(VrfAllocationRule.class);
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return null;
-
-        log.info("vrfName: " + vrfName);
-
-        Set<String> resourceShareGroupList = new HashSet<>();
-        resourceShareGroupList.add(vrfName);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = resourceSetId;
-        ar.resourceUnionId = resourceUnionId;
-        ar.resourceShareGroupList = resourceShareGroupList;
-        ar.resourceName = "VRF";
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = 999999999;
-        ar.checkCount = 1;
-        ar.allocateCount = 1;
-
-        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
-        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
-        boolean v4Multicast = v4MulticastStr != null &&
-                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
-        boolean v6Multicast = v6MulticastStr != null &&
-                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
-        if (v4Multicast || v6Multicast) {
-            LimitAllocationRequest ar2 = new LimitAllocationRequest();
-            ar2.resourceSetId = resourceSetId;
-            ar2.resourceUnionId = resourceUnionId;
-            ar2.resourceShareGroupList = resourceShareGroupList;
-            ar2.resourceName = "MVRF";
-            ar2.assetId = equipmentData.equipmentId;
-            ar2.missingResourceAction = AllocationAction.Succeed_Allocate;
-            ar2.expiredResourceAction = AllocationAction.Succeed_Allocate;
-            ar2.replace = true;
-            ar2.strict = false;
-            ar2.checkLimit = 999999999;
-            ar2.checkCount = 1;
-            ar2.allocateCount = 1;
-
-            MultiResourceAllocationRequest mar = new MultiResourceAllocationRequest();
-            mar.resourceSetId = resourceSetId;
-            mar.resourceUnionId = resourceUnionId;
-            mar.resourceShareGroupList = resourceShareGroupList;
-            mar.assetId = equipmentData.equipmentId;
-            mar.missingResourceAction = AllocationAction.Succeed_Allocate;
-            mar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-            mar.allocationRequestList = new ArrayList<>();
-            mar.allocationRequestList.add(ar);
-            mar.allocationRequestList.add(ar2);
-
-            return mar;
-        }
-
-        return ar;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java
deleted file mode 100644
index 6f4de2693..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/AnyVrfPresentCheck.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AnyVrfPresentCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(AnyVrfPresentCheck.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfNameListStr = (String) serviceData.data.get("vrf-name-list");
-        if (vrfNameListStr == null)
-            vrfNameListStr = (String) serviceData.data.get("vrf-name");
-        if (vrfNameListStr == null)
-            return true;
-
-        String vrfRequiredStr = (String) equipmentConstraints.get("vrf-required");
-        if (vrfRequiredStr == null || !vrfRequiredStr.equalsIgnoreCase("true"))
-            return true;
-
-        String[] vrfNameList = vrfNameListStr.split(",");
-
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                for (String vrfName : vrfNameList)
-                    if (ai.resourceShareGroupList.contains(vrfName))
-                        return true;
-
-        log.info("Skipping VPE " + equipData.equipmentId +
-                ": Existing VRF is required, but there is no existing VRF on the VPE for any of the requested VPNs.");
-        return false;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java
deleted file mode 100644
index 020c165ab..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ExcludeVpeCheck.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ExcludeVpeCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(ExcludeVpeCheck.class);
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String excludeVpeListStr = (String) equipmentConstraints.get("exclude-vpe-list");
-        if (excludeVpeListStr == null)
-            return true;
-
-        String vpeName = (String) equipData.data.get("vpe-id");
-
-        String[] excludeVpeList = excludeVpeListStr.split(",");
-        for (String excludeVpe : excludeVpeList)
-            if (excludeVpe.equals(vpeName)) {
-                log.info("Skipping VPE " + equipData.equipmentId + ": Present in the exclude VPE list.");
-                return false;
-            }
-
-        return true;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java
deleted file mode 100644
index 22fdeca33..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/HubWithRgCheck.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.util.vrf.VpnParam;
-import org.onap.ccsdk.sli.adaptors.util.vrf.VrfUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class HubWithRgCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(HubWithRgCheck.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return true;
-
-        // Check if this is HUB. If not, this check is not applicable
-        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-        if (vpnp.siteType == null || !vpnp.siteType.equals("HUB"))
-            return true;
-
-        boolean rgPresent = vpnp.routeGroupName != null;
-
-        // First check if a new VRF would be required. If not, we are good
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null) {
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceShareGroupList.contains(vrfName))
-                    return true;
-
-            String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
-
-            // Check if there is already another HUB VRF with RG presence that does not match the requested
-            for (AllocationItem ai : r.allocationItems) {
-
-                // Skip the allocation item for the current service instance, if there, in case it is a change order
-                if (ai.resourceUnionId.equals(resourceUnionId))
-                    continue;
-
-                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
-                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
-                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
-
-                    if (vpnp2.siteType == null || !vpnp2.siteType.equals("HUB"))
-                        continue;
-
-                    boolean rgPresent2 = vpnp2.routeGroupName != null;
-
-                    if (rgPresent && !rgPresent2) {
-                        log.info("Skipping VPE " + equipData.equipmentId +
-                                ": This request requires new HUB with RG VRF, " +
-                                "but there is already another HUB VRF with no RG: " + vrfName2 + ".");
-                        return false;
-                    }
-                    if (!rgPresent && rgPresent2) {
-                        log.info("Skipping VPE " + equipData.equipmentId +
-                                ": This request requires new HUB VRF with no RG, " +
-                                "but there is already another HUB with RG VRF: " + vrfName2 + ".");
-                        return false;
-                    }
-                }
-            }
-        }
-
-        return true;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java
deleted file mode 100644
index e54d89cb1..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/OneMVrfCheck.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.util.vrf.VpnParam;
-import org.onap.ccsdk.sli.adaptors.util.vrf.VrfUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class OneMVrfCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(OneMVrfCheck.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return true;
-
-        String v4MulticastStr = (String) serviceData.data.get("v4-multicast");
-        String v6MulticastStr = (String) serviceData.data.get("v6-multicast");
-        boolean v4Multicast = v4MulticastStr != null &&
-                (v4MulticastStr.equalsIgnoreCase("Y") || v4MulticastStr.equalsIgnoreCase("true"));
-        boolean v6Multicast = v6MulticastStr != null &&
-                (v6MulticastStr.equalsIgnoreCase("Y") || v6MulticastStr.equalsIgnoreCase("true"));
-        if (!v4Multicast && !v6Multicast)
-            return true;
-
-        // First check if a new VRF would be required. If not, we are good
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceShareGroupList.contains(vrfName))
-                    return true;
-
-        String resourceUnionId = serviceData.serviceInstanceId + '/' + serviceData.endPointPosition;
-
-        // Check if there is already another multicast VRF for the same VPN
-        VpnParam vpnp = VrfUtil.parseVrfInstanceName(vrfName);
-        r = resourceManager.getResource("MVRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null) {
-            for (AllocationItem ai : r.allocationItems) {
-
-                // Skip the allocation item for the current service instance, if there, in case it is a change order
-                if (ai.resourceUnionId.equals(resourceUnionId))
-                    continue;
-
-                if (ai.resourceShareGroupList != null && ai.resourceShareGroupList.size() > 0) {
-                    String vrfName2 = ai.resourceShareGroupList.iterator().next();
-                    VpnParam vpnp2 = VrfUtil.parseVrfInstanceName(vrfName2);
-                    if (vpnp.vpnId.equals(vpnp2.vpnId)) {
-                        log.info("Skipping VPE " + equipData.equipmentId +
-                                ": This request requires new multicast VRF, " +
-                                "but there is already another multicast VRF for the same VPN: " + vrfName2 + ".");
-                        return false;
-                    }
-                }
-            }
-        }
-
-        return true;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java
deleted file mode 100644
index f851b53b6..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/ProvStatusCheck.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ProvStatusCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(ProvStatusCheck.class);
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String provStatus = (String) equipData.data.get("provisioning-status");
-        if (provStatus == null || !provStatus.equals("PROV")) {
-            log.info("Skipping VPE " + equipData.equipmentId + ": Not in PROV status.");
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java
deleted file mode 100644
index 28e6278de..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VlanSpeedCheck.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VlanSpeedCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(VlanSpeedCheck.class);
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vpeName = (String) equipData.data.get("vpe-id");
-        Long serviceSpeed = (Long) serviceData.data.get("service-speed-kbps");
-        if (serviceSpeed != null && serviceSpeed > 0 && serviceSpeed < 1000) {
-            log.info("Skipping VPE " + vpeName + ": Service speed < 1Mbps is not supported.");
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java
deleted file mode 100644
index 503e1ffc2..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/check/VpeLockCheck.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.check;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.EquipmentCheck;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.VpeLockDao;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VpeLockCheck implements EquipmentCheck {
-
-    private static final Logger log = LoggerFactory.getLogger(VpeLockCheck.class);
-
-    private VpeLockDao vpeLockDao;
-    private ResourceManager resourceManager;
-
-    @Override
-    public boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return true;
-
-        String vpeName = (String) equipData.data.get("vpe-id");
-        String vpeLock = vpeLockDao.getVpeLock(vpeName);
-        if (vpeLock == null)
-            return true;
-
-        if (vpeLock.equals("vpe-total-lock")) {
-            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock + " on it.");
-            return false;
-        }
-
-        if (vpeLock.equals("vpe-vrf-lock") && requiresNewVrf(equipData.equipmentId, vrfName)) {
-            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
-                    " on it and it requires a new VRF for VPN: " + vrfName + ".");
-            return false;
-        }
-
-        if (vpeLock.equals("vpe-mvrf-lock") && requiresNewMVrf(equipData.equipmentId, vrfName)) {
-            log.info("Skipping VPE " + vpeName + ": There is a " + vpeLock +
-                    " on it and it requires a new multicast VRF for VPN: " + vrfName + ".");
-            return false;
-        }
-
-        return true;
-    }
-
-    boolean requiresNewVrf(String equipmentId, String vrfName) {
-        Resource r = resourceManager.getResource("VRF", equipmentId);
-        if (r == null || r.allocationItems == null)
-            return true;
-
-        for (AllocationItem ai : r.allocationItems) {
-            if (ai.resourceShareGroupList.contains(vrfName))
-                return false;
-        }
-
-        return true;
-    }
-
-    boolean requiresNewMVrf(String equipmentId, String vrfName) {
-        Resource r = resourceManager.getResource("MVRF", equipmentId);
-        if (r == null || r.allocationItems == null)
-            return true;
-
-        for (AllocationItem ai : r.allocationItems) {
-            if (ai.resourceShareGroupList.contains(vrfName))
-                return false;
-        }
-
-        return true;
-    }
-
-    public void setVpeLockDao(VpeLockDao vpeLockDao) {
-        this.vpeLockDao = vpeLockDao;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
index 831cac0c3..0e9737419 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
@@ -3,14 +3,14 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ * 						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.
@@ -21,17 +21,10 @@
 
 package org.onap.ccsdk.sli.adaptors.ra.comp;
 
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
 
 public interface AllocationRule {
 
-    AllocationRequest buildAllocationRequest(
-            String resourceUnionId,
-            String resourceSetId,
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change);
+    AllocationRequest buildAllocationRequest(String serviceModel, ResourceEntity resourceEntity,
+            ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change);
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java
deleted file mode 100644
index 589fafcd6..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocationDefinition.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
-
-public class EndPointAllocationDefinition {
-
-    public String serviceModel;
-    public String endPointPosition;
-    public EquipmentReader equipmentReader;
-    public List<EquipmentCheck> equipmentCheckList;
-    public List<PreferenceRule> preferenceRuleList;
-    public List<AllocationRule> allocationRuleList;
-
-    public void setServiceModel(String serviceModel) {
-        this.serviceModel = serviceModel;
-    }
-
-    public void setEndPointPosition(String endPointPosition) {
-        this.endPointPosition = endPointPosition;
-    }
-
-    public void setEquipmentReader(EquipmentReader equipmentReader) {
-        this.equipmentReader = equipmentReader;
-    }
-
-    public void setEquipmentCheckList(List<EquipmentCheck> equipmentCheckList) {
-        this.equipmentCheckList = equipmentCheckList;
-    }
-
-    public void setPreferenceRuleList(List<PreferenceRule> preferenceRuleList) {
-        this.preferenceRuleList = preferenceRuleList;
-    }
-
-    public void setAllocationRuleList(List<AllocationRule> allocationRuleList) {
-        this.allocationRuleList = allocationRuleList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
index 08713cd76..c6461d496 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
@@ -3,14 +3,14 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ * 						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.
@@ -22,14 +22,14 @@
 package org.onap.ccsdk.sli.adaptors.ra.comp;
 
 import java.util.List;
-import java.util.Map;
 
 public interface EndPointAllocator {
 
-    List<EndPointData> allocateEndPoints(
-            ServiceData serviceData,
-            Map<String, Object> equipmentConstraints,
-            boolean checkOnly,
-            boolean change,
-            int changeNumber);
+    List<ResourceData> allocateResources(String serviceModel, ResourceEntity resourceEntity,
+            ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change);
+
+    List<ResourceData> getResourcesForEntity(String resourceEntityType, String resourceEntityId,
+            String resourceEntityVersion);
+
+    ResourceData getResource(String resourceTargetType, String resourceTargetId, String resourceName);
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
index db30bf62d..e904035b1 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
@@ -3,7 +3,7 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ * 						reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,226 +22,237 @@
 package org.onap.ccsdk.sli.adaptors.ra.comp;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
-import org.apache.commons.lang.NotImplementedException;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
 import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
 import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
 import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class EndPointAllocatorImpl implements EndPointAllocator {
 
+    @SuppressWarnings("unused")
     private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
 
-    private Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap;
-
     private ResourceManager resourceManager;
 
-    @Override
-    public List<EndPointData> allocateEndPoints(
-            ServiceData serviceData,
-            Map<String, Object> equipmentConstraints,
-            boolean checkOnly,
-            boolean change,
-            int changeNumber) {
-        List<EndPointAllocationDefinition> defList = endPointAllocationDefinitionMap.get(serviceData.serviceModel);
-        if (defList == null)
-            throw new NotImplementedException("Service model: " + serviceData.serviceModel + " not supported");
-
-        List<EndPointData> epList = new ArrayList<>();
-        for (EndPointAllocationDefinition def : defList) {
-            if (serviceData.endPointPosition != null && !serviceData.endPointPosition.equals(def.endPointPosition))
-                continue;
-
-            log.info(
-                    "Starting allocation of end point: " + def.endPointPosition + ": " + serviceData.serviceInstanceId);
-
-            String resourceUnionId = serviceData.serviceInstanceId + '/' + def.endPointPosition;
-            String resourceSetId = resourceUnionId + '/' + changeNumber;
-
-            String equipmentId = (String) equipmentConstraints.get("equipment-id");
-            if (equipmentId == null) {
-                EndPointData epExisting = readEndPoint(resourceUnionId, resourceSetId);
-                if (epExisting != null && epExisting.equipmentId != null) {
-                    equipmentConstraints.put("equipment-id", epExisting.equipmentId);
-
-                    log.info("Trying assignment on the current equipment: " + epExisting.equipmentId);
-                }
-            }
-
-            List<EquipmentData> equipList = def.equipmentReader.readEquipment(equipmentConstraints);
-            if (equipList == null || equipList.isEmpty()) {
-                log.info("Equipment not found for " + def.endPointPosition);
-                break;
-            }
+    private Map<String, List<AllocationRule>> allocationRuleMap;
 
-            if (def.equipmentCheckList != null) {
-                for (EquipmentCheck filter : def.equipmentCheckList) {
-                    List<EquipmentData> newEquipList = new ArrayList<>();
-                    for (EquipmentData equipData : equipList)
-                        if (filter.checkEquipment(def.endPointPosition, serviceData, equipData, equipmentConstraints))
-                            newEquipList.add(equipData);
-                    equipList = newEquipList;
-                }
-                if (equipList.isEmpty()) {
-                    log.info("No equipment meets the requiremets for the service for: " + def.endPointPosition);
-                    break;
-                }
-            }
-
-            if (equipList.size() > 1 && def.preferenceRuleList != null && !def.preferenceRuleList.isEmpty()) {
-
-                List<PrefEquipment> prefEquipList = new ArrayList<>();
-                for (EquipmentData equipData : equipList) {
-                    PrefEquipment prefEquip = new PrefEquipment();
-                    prefEquip.equipData = equipData;
-                    prefEquip.prefNumbers = new long[def.preferenceRuleList.size()];
-                    prefEquipList.add(prefEquip);
-
-                    int i = 0;
-                    for (PreferenceRule prefRule : def.preferenceRuleList)
-                        prefEquip.prefNumbers[i++] =
-                                prefRule.assignOrderNumber(def.endPointPosition, serviceData, equipData);
-                }
+    @Override
+    public List<ResourceData> allocateResources(String serviceModel, ResourceEntity resourceEntity,
+            ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
 
-                Collections.sort(prefEquipList);
+        List<ResourceData> resourceList = new ArrayList<>();
 
-                equipList = new ArrayList<>();
-                for (PrefEquipment prefEquip : prefEquipList)
-                    equipList.add(prefEquip.equipData);
+        if (allocationRuleMap != null) {
+            List<AllocationRule> allocationRuleList = allocationRuleMap.get(serviceModel);
+            if (allocationRuleList == null) {
+                allocationRuleList = allocationRuleMap.get("DEFAULT");
             }
 
-            for (EquipmentData equipData : equipList) {
+            if (allocationRuleList != null) {
                 boolean allgood = true;
-                if (def.allocationRuleList != null)
-                    for (AllocationRule allocationRule : def.allocationRuleList) {
-                        AllocationRequest ar = allocationRule.buildAllocationRequest(resourceUnionId, resourceSetId,
-                                def.endPointPosition, serviceData, equipData, checkOnly, change);
-                        if (ar != null) {
-                            AllocationOutcome ao = resourceManager.allocateResources(ar);
-                            if (ao.status != AllocationStatus.Success) {
-                                allgood = false;
-                                break;
-                            }
+                for (AllocationRule allocationRule : allocationRuleList) {
+                    AllocationRequest ar = allocationRule.buildAllocationRequest(serviceModel, resourceEntity,
+                            resourceTarget, resourceRequest, checkOnly, change);
+                    if (ar != null) {
+                        AllocationOutcome ao = resourceManager.allocateResources(ar);
+                        List<ResourceData> rr = getResourceData(ao);
+                        resourceList.addAll(rr);
+
+                        if (ao.status != AllocationStatus.Success) {
+                            allgood = false;
                         }
                     }
-                if (allgood) {
-                    EndPointData ep = readEndPoint(resourceUnionId, resourceSetId);
-                    epList.add(ep);
-                    break;
+                }
+
+                if (!allgood) {
+                    String resourceSetId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId
+                            + "::" + resourceEntity.resourceEntityVersion;
+                    resourceManager.releaseResourceSet(resourceSetId);
                 }
             }
         }
 
-        return epList;
+        return resourceList;
     }
 
-    private EndPointData readEndPoint(String resourceUnionId, String resourceSetId) {
-        EndPointData ep = new EndPointData();
-        ep.resourceUnionId = resourceUnionId;
-        ep.resourceSetId = resourceSetId;
+    private List<ResourceData> getResourceData(AllocationOutcome ao) {
+        if (ao instanceof MultiResourceAllocationOutcome) {
+            List<ResourceData> rr = new ArrayList<>();
+            for (AllocationOutcome ao1 : ((MultiResourceAllocationOutcome) ao).allocationOutcomeList) {
+                rr.addAll(getResourceData(ao1));
+            }
+            return rr;
+        }
+
+        ResourceData rd = new ResourceData();
+        rd.data = new HashMap<>();
+
+        AllocationRequest ar = ao.request;
+        rd.resourceName = ar.resourceName;
+        rd.endPointPosition = ar.endPointPosition;
+        int i1 = ar.assetId.indexOf("::");
+        if (i1 > 0) {
+            rd.resourceTargetType = ar.assetId.substring(0, i1);
+            rd.resourceTargetId = ar.assetId.substring(i1 + 2);
+        } else {
+            rd.resourceTargetType = "";
+            rd.resourceTargetId = ar.assetId;
+        }
+        rd.status = ao.status.toString();
+
+        if (ao instanceof LimitAllocationOutcome) {
+            LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
+            rd.data.put("allocated", String.valueOf(lao.allocatedCount));
+            rd.data.put("used", String.valueOf(lao.used));
+            rd.data.put("limit", String.valueOf(lao.limit));
+            rd.data.put("available", String.valueOf(lao.limit - lao.used));
+        } else if (ao instanceof RangeAllocationOutcome) {
+            RangeAllocationOutcome rao = (RangeAllocationOutcome) ao;
+            rd.data.put("allocated", String.valueOf(StrUtil.listInt(rao.allocated)));
+            rd.data.put("used", String.valueOf(StrUtil.listInt(rao.used)));
+        }
 
-        int i1 = resourceUnionId.indexOf('/');
-        if (i1 > 0)
-            ep.endPointPosition = resourceUnionId.substring(i1 + 1);
+        return Collections.singletonList(rd);
+    }
 
-        ep.data = new HashMap<>();
+    @Override
+    public List<ResourceData> getResourcesForEntity(String resourceEntityType, String resourceEntityId,
+            String resourceEntityVersion) {
+        List<ResourceData> rdlist = new ArrayList<>();
 
+        String resourceUnionId = resourceEntityType + "::" + resourceEntityId;
         List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
+
         for (Resource r : rlist) {
-            if (r instanceof RangeResource) {
-                RangeResource rr = (RangeResource) r;
-                for (AllocationItem ai : r.allocationItems)
-                    if (ai.resourceUnionId.equals(resourceUnionId)) {
-                        RangeAllocationItem rai = (RangeAllocationItem) ai;
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName, rai.used.first());
+
+            // Find the needed allocation item: if resourceEntityVersion is specified, use that,
+            // otherwise, find the latest allocation item
+            AllocationItem ai = null;
+            if (resourceEntityVersion != null) {
+                String resourceSetId = resourceUnionId + "::" + resourceEntityVersion;
+                for (AllocationItem ai1 : r.allocationItems) {
+                    if (ai1.resourceSetId.equals(resourceSetId)) {
+                        ai = ai1;
+                        break;
                     }
-            }
-            if (r instanceof LimitResource) {
-                LimitResource rr = (LimitResource) r;
-                for (AllocationItem ai : r.allocationItems)
-                    if (ai.resourceUnionId.equals(resourceUnionId)) {
-                        LimitAllocationItem rai = (LimitAllocationItem) ai;
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".allocated", rai.used);
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".used", rr.used);
-                        ep.data.put(ep.endPointPosition + '.' + rr.resourceKey.resourceName + ".assetId",
-                                r.resourceKey.assetId);
+                }
+            } else {
+                Date aitime = null;
+                for (AllocationItem ai1 : r.allocationItems) {
+                    if (ai1.resourceUnionId.equals(resourceUnionId)) {
+                        if (aitime == null || ai1.allocationTime.after(aitime)) {
+                            ai = ai1;
+                            aitime = ai1.allocationTime;
+                        }
                     }
+                }
             }
-        }
 
-        return ep;
-    }
+            if (ai != null) {
+                ResourceData rd = new ResourceData();
+                rdlist.add(rd);
+
+                rd.resourceName = r.resourceKey.resourceName;
+                int i1 = r.resourceKey.assetId.indexOf("::");
+                if (i1 > 0) {
+                    rd.resourceTargetType = r.resourceKey.assetId.substring(0, i1);
+                    rd.resourceTargetId = r.resourceKey.assetId.substring(i1 + 2);
+
+                    int i2 = r.resourceKey.assetId.lastIndexOf("::");
+                    if (i2 > i1) {
+                        rd.resourceTargetValue = r.resourceKey.assetId.substring(i2 + 2);
+                    }
+                } else {
+                    rd.resourceTargetType = "";
+                    rd.resourceTargetId = r.resourceKey.assetId;
+                }
+
+                rd.data = new HashMap<>();
+
+                if (ai instanceof RangeAllocationItem) {
+                    RangeAllocationItem rai = (RangeAllocationItem) ai;
 
-    private static class PrefEquipment implements Comparable<PrefEquipment> {
+                    String ss = String.valueOf(rai.used);
+                    ss = ss.substring(1, ss.length() - 1);
+                    rd.data.put("allocated", ss);
 
-        public long[] prefNumbers;
-        public EquipmentData equipData;
+                } else if (ai instanceof LimitAllocationItem) {
+                    LimitAllocationItem lai = (LimitAllocationItem) ai;
 
-        @Override
-        public int compareTo(PrefEquipment o) {
-            for (int i = 0; i < prefNumbers.length; i++) {
-                if (prefNumbers[i] < o.prefNumbers[i])
-                    return -1;
-                if (prefNumbers[i] > o.prefNumbers[i])
-                    return 1;
+                    rd.data.put("allocated", String.valueOf(lai.used));
+                }
             }
-            return 0;
         }
 
-        @Override
-        public boolean equals(Object object) {
-            if (this == object) {
-                return true;
-            }
-            if (!(object instanceof PrefEquipment)) {
-                return false;
-            }
-            if (!super.equals(object)) {
-                return false;
-            }
+        return rdlist;
+    }
 
-            PrefEquipment that = (PrefEquipment) object;
-            if (equipData != null ? !equipData.equals(that.equipData) : that.equipData != null) {
-                return false;
+    @Override
+    public ResourceData getResource(String resourceTargetType, String resourceTargetId, String resourceName) {
+        ResourceData rd = new ResourceData();;
+        String assetId = resourceTargetType + "::" + resourceTargetId;
+        Resource r = resourceManager.getResource(resourceName, assetId);
+        if (r != null) {
+            log.info("ResourceName:" + r.resourceKey.resourceName + " assetId:" + r.resourceKey.assetId);
+
+            rd.resourceName = r.resourceKey.resourceName;
+            int i1 = r.resourceKey.assetId.indexOf("::");
+            if (i1 > 0) {
+                rd.resourceTargetType = r.resourceKey.assetId.substring(0, i1);
+                rd.resourceTargetId = r.resourceKey.assetId.substring(i1 + 2);
+
+                int i2 = r.resourceKey.assetId.lastIndexOf("::");
+                if (i2 > i1) {
+                    rd.resourceTargetValue = r.resourceKey.assetId.substring(i2 + 2);
+                }
+            } else {
+                rd.resourceTargetType = "";
+                rd.resourceTargetId = r.resourceKey.assetId;
             }
 
-            if (!Arrays.equals(prefNumbers, that.prefNumbers)) {
-                return false;
-            }
+            rd.data = new HashMap<>();
 
-            return true;
-        }
+            if (r instanceof RangeResource) {
+                RangeResource rr = (RangeResource) r;
+
+                log.info("rr.used: " + rr.used);
+                String ss = String.valueOf(rr.used);
+                ss = ss.substring(1, ss.length() - 1);
+                rd.data.put("allocated", ss);
 
-        @Override
-        public int hashCode() {
-            int result = super.hashCode();
-            result = 31 * result + (equipData != null ? equipData.hashCode() : 0);
-            result = 31 * result + Arrays.hashCode(prefNumbers);
-            return result;
+            } else if (r instanceof LimitResource) {
+                LimitResource lr = (LimitResource) r;
+
+                log.info("lr.used: " + lr.used);
+                rd.data.put("allocated", String.valueOf(lr.used));
+            }
         }
-    }
 
-    public void setEndPointAllocationDefinitionMap(
-            Map<String, List<EndPointAllocationDefinition>> endPointAllocationDefinitionMap) {
-        this.endPointAllocationDefinitionMap = endPointAllocationDefinitionMap;
+        return rd;
     }
 
     public void setResourceManager(ResourceManager resourceManager) {
         this.resourceManager = resourceManager;
     }
+
+    public void setAllocationRuleMap(Map<String, List<AllocationRule>> allocationRuleMap) {
+        this.allocationRuleMap = allocationRuleMap;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java
deleted file mode 100644
index dc1cb0a63..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointData.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.Map;
-
-public class EndPointData {
-
-    public String resourceSetId;
-    public String resourceUnionId;
-    public String endPointPosition;
-    public String equipmentId;
-    public Map<String, Object> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java
deleted file mode 100644
index 70f2abde8..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EquipmentCheck.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-
-public interface EquipmentCheck {
-
-    boolean checkEquipment(
-            String endPointPosition,
-            ServiceData serviceData,
-            EquipmentData equipData,
-            Map<String, Object> equipmentConstraints);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java
deleted file mode 100644
index ca8a37191..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/PreferenceRule.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-
-public interface PreferenceRule {
-
-    // Smaller order number is preferred
-    int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java
new file mode 100644
index 000000000..a5881b957
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.Map;
+
+public class ResourceData {
+
+    public String resourceName;
+    public String resourceTargetId;
+    public String resourceTargetValue;
+    public String resourceTargetType;
+    public String status;
+    public Map<String, String> data;
+    public String endPointPosition;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java
new file mode 100644
index 000000000..12fb695b7
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.Map;
+
+public class ResourceEntity {
+
+    public String resourceEntityId;
+    public String resourceEntityVersion;
+    public String resourceEntityType;
+    public Map<String, String> data;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java
new file mode 100644
index 000000000..b5c24fa71
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java
@@ -0,0 +1,39 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+public class ResourceRequest {
+
+    public String resourceName;
+    public String resourceShareGroup;
+    public String rangeRequestedNumbers;
+    public String rangeExcludeNumbers;
+    public boolean rangeReverseOrder;
+    public int rangeMinOverride;
+    public int rangeMaxOverride;
+    public boolean replace;
+    public String requestType;
+    public String serviceModel;
+    public boolean checkOnly;
+    public String applicationId;
+    public String endPointPosition;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java
new file mode 100644
index 000000000..989333c3e
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java
@@ -0,0 +1,13 @@
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+public class ResourceResponse {
+	public String resourceName;
+	public String endPointPosition;
+	public String resourceTargetType;
+	public String resourceTargetId;
+	public String resourceLimit;
+	public String resourceAvailable;
+	public String resourceUsed;
+	public String resourceAllocated;
+	public String status;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java
new file mode 100644
index 000000000..95cec330a
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java
@@ -0,0 +1,31 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.ra.comp;
+
+import java.util.Map;
+
+public class ResourceTarget {
+
+    public String resourceTargetId;
+    public String resourceTargetType;
+    public Map<String, String> data;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java
deleted file mode 100644
index 238ea1d13..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ServiceData.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.Map;
-
-public class ServiceData {
-
-    public String serviceModel;
-    public String serviceInstanceId;
-    public String resourceSetId;
-    public String resourceUnionId;
-    public String resourceShareGroup;
-    public String endPointPosition;
-    public String resourceName;
-    public Map<String, Object> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java
deleted file mode 100644
index 03f96e272..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/comp/EquipmentReader.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.comp;
-
-import java.util.List;
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-
-public interface EquipmentReader {
-
-    List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java
deleted file mode 100644
index f9f7ee3d9..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDao.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
-
-import java.util.List;
-import java.util.Map;
-
-public interface ServerDao {
-
-    List<Map<String, Object>> getServerData(String aicSiteId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java
deleted file mode 100644
index f51dc1402..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/ServerDaoImpl.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class ServerDaoImpl implements ServerDao {
-
-    private static final Logger log = LoggerFactory.getLogger(ServerDaoImpl.class);
-
-    private static final String GET_SERVER_COUNT_SQL = "SELECT count(*) FROM PSERVER WHERE aic_site_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<Map<String, Object>> getServerData(String aicSiteId) {
-        List<Map<String, Object>> ll = new ArrayList<Map<String, Object>>();
-        Map<String, Object> sd = new HashMap<String, Object>();
-        sd.put("aic-site-id", aicSiteId);
-        sd.put("server-id", aicSiteId + "/Server1");
-        sd.put("server-model", "Unknown");
-        sd.put("server-count", getServerCount(aicSiteId));
-        ll.add(sd);
-        return ll;
-    }
-
-    private int getServerCount(String aicSiteId) {
-        int n = jdbcTemplate.queryForInt(GET_SERVER_COUNT_SQL, aicSiteId);
-
-        log.info("Number of servers in " + aicSiteId + ": " + n);
-
-        return n;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java
deleted file mode 100644
index 1a86c6f80..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDao.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
-
-import java.util.List;
-import java.util.Map;
-
-public interface VpePortDao {
-
-    List<Map<String, Object>> getVpePortData(String aicSiteId);
-
-    List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java
deleted file mode 100644
index 05d2e76d7..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VpePortDaoImpl.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class VpePortDaoImpl implements VpePortDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(VpePortDaoImpl.class);
-
-    private static final String GET_SQL = "SELECT * FROM VPE_POOL WHERE aic_site_id = ?";
-    private static final String GET2_SQL = "SELECT * FROM VPE_POOL WHERE vpe_name = ?";
-    private static final String GET3_SQL =
-            "SELECT * FROM VPE_POOL WHERE substring(aic_site_id, 1, 8) = substring(?, 1, 8)";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<Map<String, Object>> getVpePortData(String aicSiteId) {
-        return jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new VpePortRowMapper());
-    }
-
-    @Override
-    public List<Map<String, Object>> getVpePortData(String aicSiteId, String vpeName) {
-        String sql = vpeName != null ? GET2_SQL : GET3_SQL;
-        Object[] param = new Object[] { vpeName != null ? vpeName : aicSiteId };
-
-        return jdbcTemplate.query(sql, param, new VpePortRowMapper());
-    }
-
-    private static class VpePortRowMapper implements RowMapper<Map<String, Object>> {
-
-        @Override
-        public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
-            Map<String, Object> mm = new HashMap<String, Object>();
-            mm.put("vpe-id", rs.getString("vpe_name"));
-            mm.put("aic-site-id", rs.getString("aic_site_id"));
-            mm.put("availability-zone", rs.getString("availability_zone"));
-            mm.put("image-file-name", rs.getString("image_filename"));
-            mm.put("vendor", rs.getString("vendor"));
-            mm.put("provisioning-status", rs.getString("provisioning_status"));
-            mm.put("physical-interface-name", rs.getString("physical_intf_name"));
-            mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
-            mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
-            return mm;
-        }
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java
deleted file mode 100644
index 20cb83ff2..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDao.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
-
-import java.util.List;
-import java.util.Map;
-
-public interface VplspePortDao {
-
-    List<Map<String, Object>> getVplspePortData(String aicSiteId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java
deleted file mode 100644
index 6c3d368b2..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/dao/VplspePortDaoImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class VplspePortDaoImpl implements VplspePortDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(VplspePortDaoImpl.class);
-
-    private static final String GET_SQL = "SELECT * FROM VPLSPE_POOL WHERE aic_site_id = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public List<Map<String, Object>> getVplspePortData(String aicSiteId) {
-        List<Map<String, Object>> ll =
-                jdbcTemplate.query(GET_SQL, new Object[] { aicSiteId }, new RowMapper<Map<String, Object>>() {
-
-                    @Override
-                    public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
-                        Map<String, Object> mm = new HashMap<String, Object>();
-                        mm.put("vplspe-id", rs.getString("vplspe_name"));
-                        mm.put("aic-site-id", rs.getString("aic_site_id"));
-                        mm.put("availability-zone", rs.getString("availability_zone"));
-                        mm.put("image-file-name", rs.getString("image_filename"));
-                        mm.put("vendor", rs.getString("vendor"));
-                        mm.put("provisioning-status", rs.getString("provisioning_status"));
-                        mm.put("physical-interface-name", rs.getString("physical_intf_name"));
-                        mm.put("physical-interface-speed", rs.getLong("physical_intf_speed"));
-                        mm.put("physical-interface-speed-unit", rs.getString("physical_intf_units"));
-                        return mm;
-                    }
-                });
-        return ll;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java
deleted file mode 100644
index 15342a697..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentData.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.data;
-
-import java.util.Map;
-
-public class EquipmentData {
-
-    public String equipmentId;
-    public EquipmentLevel equipmentLevel;
-    public Map<String, Object> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java
deleted file mode 100644
index c77e36851..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/equip/data/EquipmentLevel.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.equip.data;
-
-public enum EquipmentLevel {
-    Port, Device, Server, Site
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java
deleted file mode 100644
index 0e510ac1a..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/AffinityLinkPref.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.pref;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.PreferenceRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AffinityLinkPref implements PreferenceRule {
-
-    private static final Logger log = LoggerFactory.getLogger(AffinityLinkPref.class);
-
-    private ResourceManager resourceManager;
-    private List<String> affinityLinkIdList;
-
-    public AffinityLinkPref() {
-        // Set default values for affinity link ids (can be overridden by the spring config)
-        affinityLinkIdList = new ArrayList<>();
-        affinityLinkIdList.add("1");
-        affinityLinkIdList.add("2");
-    }
-
-    @Override
-    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
-
-        // This class does not really assign order number, but instead sets the affinity link with the lowest
-        // assigned bandwidth in the equipment data
-
-        String preferedAffinityLinkId = "1";
-        long lowestAssignedBw = Long.MAX_VALUE;
-        for (String affinityLinkId : affinityLinkIdList) {
-            String assetId = equipData.equipmentId + "-" + affinityLinkId;
-            Resource r = resourceManager.getResource("Bandwidth", assetId);
-            if (r != null) {
-                LimitResource ll = (LimitResource) r;
-                if (ll.used < lowestAssignedBw) {
-                    lowestAssignedBw = ll.used;
-                    preferedAffinityLinkId = affinityLinkId;
-                }
-                log.info("Assigned bandwidth on affinity link: " + assetId + ": " + ll.used);
-            }
-        }
-
-        equipData.data.put("affinity-link", preferedAffinityLinkId);
-
-        log.info("Prefered affinity link for " + equipData.equipmentId + ": " + preferedAffinityLinkId);
-
-        return 0;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-
-    public void setAffinityLinkIdList(List<String> affinityLinkIdList) {
-        this.affinityLinkIdList = affinityLinkIdList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java
deleted file mode 100644
index 559f79689..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/pref/EvcExistingVrfPref.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.pref;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.PreferenceRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EvcExistingVrfPref implements PreferenceRule {
-
-    private static final Logger log = LoggerFactory.getLogger(EvcExistingVrfPref.class);
-
-    private ResourceManager resourceManager;
-
-    @Override
-    public int assignOrderNumber(String endPointPosition, ServiceData serviceData, EquipmentData equipData) {
-        String vrfName = (String) serviceData.data.get("vrf-name");
-        if (vrfName == null)
-            return 0;
-
-        Resource r = resourceManager.getResource("VRF", equipData.equipmentId);
-        if (r != null && r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceShareGroupList.contains(vrfName)) {
-                    log.info("VRF for VPN: " + vrfName + " found on VPE: " + equipData.equipmentId);
-                    return 1;
-                }
-
-        log.info("VRF for VPN: " + vrfName + " NOT found on VPE: " + equipData.equipmentId);
-        return 2;
-    }
-
-    public void setResourceManager(ResourceManager resourceManager) {
-        this.resourceManager = resourceManager;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java
deleted file mode 100644
index 1faf254f4..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/AicSiteReader.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.reader;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
-
-public class AicSiteReader implements EquipmentReader {
-
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        String aicSiteId = (String) equipmentConstraints.get("aic-site-id");
-
-        EquipmentData equipData = new EquipmentData();
-        equipData.equipmentLevel = EquipmentLevel.Site;
-        equipData.equipmentId = aicSiteId;
-        equipData.data = new HashMap<String, Object>();
-
-        List<EquipmentData> equipList = new ArrayList<>();
-        equipList.add(equipData);
-
-        return equipList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java
deleted file mode 100644
index 4943c506b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/UplinkCircuitReader.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.reader;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
-
-public class UplinkCircuitReader implements EquipmentReader {
-
-    @SuppressWarnings("unchecked")
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        List<EquipmentData> equipList = new ArrayList<>();
-
-        List<Map<String, Object>> uplinkCircuitList =
-                (List<Map<String, Object>>) equipmentConstraints.get("uplink-circuit-list");
-        if (uplinkCircuitList == null || uplinkCircuitList.isEmpty())
-            return equipList;
-
-        for (Map<String, Object> uplinkCircuit : uplinkCircuitList) {
-            EquipmentData equipData = new EquipmentData();
-            equipData.equipmentLevel = EquipmentLevel.Device;
-            equipData.equipmentId = (String) uplinkCircuit.get("uplink-circuit-id");
-            equipData.data = uplinkCircuit;
-            equipList.add(equipData);
-        }
-
-        return equipList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java
deleted file mode 100644
index d5d3d005f..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VnfReader.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.reader;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
-
-public class VnfReader implements EquipmentReader {
-
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        String vnfName = (String) equipmentConstraints.get("vnf-name");
-
-        EquipmentData equipData = new EquipmentData();
-        equipData.equipmentLevel = EquipmentLevel.Device;
-        equipData.equipmentId = vnfName;
-        equipData.data = new HashMap<String, Object>();
-
-        List<EquipmentData> equipList = new ArrayList<>();
-        equipList.add(equipData);
-
-        return equipList;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java
deleted file mode 100644
index 59328f976..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/reader/VpePortReader.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.reader;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.comp.EquipmentReader;
-import org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDao;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
-
-public class VpePortReader implements EquipmentReader {
-
-    private VpePortDao vpePortDao;
-
-    @Override
-    public List<EquipmentData> readEquipment(Map<String, Object> equipmentConstraints) {
-        String clli = (String) equipmentConstraints.get("clli");
-        String vpeName = (String) equipmentConstraints.get("vpe-name");
-        if (vpeName == null) {
-            String equipmentId = (String) equipmentConstraints.get("equipment-id");
-            if (equipmentId != null) {
-                int i1 = equipmentId.indexOf('/');
-                if (i1 > 0)
-                    equipmentId = equipmentId.substring(0, i1);
-                vpeName = equipmentId;
-            }
-        }
-
-        List<Map<String, Object>> vpeDataList = vpePortDao.getVpePortData(clli, vpeName);
-
-        List<EquipmentData> equipList = new ArrayList<>();
-        for (Map<String, Object> vpeData : vpeDataList) {
-            EquipmentData equipData = new EquipmentData();
-            equipData.equipmentLevel = EquipmentLevel.Port;
-            equipData.equipmentId =
-                    (String) vpeData.get("vpe-id") + '/' + (String) vpeData.get("physical-interface-name");
-            equipData.data = vpeData;
-
-            equipList.add(equipData);
-        }
-
-        return equipList;
-    }
-
-    public void setVpePortDao(VpePortDao vpePortDao) {
-        this.vpePortDao = vpePortDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java
deleted file mode 100644
index e4361f1d9..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilder.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.comp;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ThresholdStatus;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
-
-public interface AllocationRequestBuilder {
-
-    AllocationRequest buildAllocationRequest(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change);
-
-    ThresholdStatus getThresholdStatus(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            LimitAllocationOutcome limitAllocationOutcome);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java
deleted file mode 100644
index ab0ef3b67..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/comp/AllocationRequestBuilderImpl.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.comp;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.comp.ServiceData;
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentData;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceThreshold;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ThresholdStatus;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.util.expr.ExpressionEvaluator;
-import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class AllocationRequestBuilderImpl implements AllocationRequestBuilder {
-
-    private static final Logger log = LoggerFactory.getLogger(AllocationRequestBuilderImpl.class);
-
-    private ResourceRuleDao resourceRuleDao;
-    private RangeRuleDao rangeRuleDao;
-
-    @Override
-    public AllocationRequest buildAllocationRequest(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceData.serviceModel,
-                serviceData.endPointPosition, equipmentData.equipmentLevel);
-        List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceData.serviceModel,
-                serviceData.endPointPosition, equipmentData.equipmentLevel);
-        if (resourceRuleList.isEmpty() && rangeRuleList.isEmpty())
-            return null;
-        if (resourceRuleList.size() == 1 && rangeRuleList.isEmpty())
-            return buildAllocationRequest(resourceRuleList.get(0), serviceData, equipmentData, checkOnly, change);
-
-        if (resourceRuleList.isEmpty() && rangeRuleList.size() == 1)
-            return buildAllocationRequest(rangeRuleList.get(0), serviceData, equipmentData, checkOnly, change);
-
-        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-        ar.stopOnFirstFailure = false;
-        ar.allocationRequestList = new ArrayList<AllocationRequest>();
-        for (ResourceRule rr : resourceRuleList) {
-            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
-            ar.allocationRequestList.add(ar1);
-        }
-        for (RangeRule rr : rangeRuleList) {
-            AllocationRequest ar1 = buildAllocationRequest(rr, serviceData, equipmentData, checkOnly, change);
-            ar.allocationRequestList.add(ar1);
-        }
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            ResourceRule resourceRule,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, resourceRule);
-
-        LimitAllocationRequest ar = new LimitAllocationRequest();
-        ar.resourceSetId = serviceData.resourceSetId;
-        ar.resourceUnionId = serviceData.resourceUnionId;
-        ar.resourceName = resourceRule.resourceName;
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.strict = false;
-        ar.checkLimit = ExpressionEvaluator.evalLong(
-                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, equipmentData.data);
-        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, serviceData.data);
-        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-        return ar;
-    }
-
-    private AllocationRequest buildAllocationRequest(
-            RangeRule rangeRule,
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            boolean checkOnly,
-            boolean change) {
-        StrUtil.info(log, rangeRule);
-
-        RangeAllocationRequest ar = new RangeAllocationRequest();
-        ar.resourceSetId = serviceData.resourceSetId;
-        ar.resourceUnionId = serviceData.resourceUnionId;
-        ar.resourceName = rangeRule.rangeName;
-        ar.assetId = equipmentData.equipmentId;
-        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-        ar.replace = true;
-        ar.check = true;
-        ar.allocate = !checkOnly;
-        ar.checkMin = rangeRule.minValue;
-        ar.checkMax = rangeRule.maxValue;
-        return ar;
-    }
-
-    @Override
-    public ThresholdStatus getThresholdStatus(
-            ServiceData serviceData,
-            EquipmentData equipmentData,
-            LimitAllocationOutcome limitAllocationOutcome) {
-        ResourceRule rr = resourceRuleDao.getResourceRule(serviceData.serviceModel, serviceData.endPointPosition,
-                equipmentData.equipmentLevel, limitAllocationOutcome.request.resourceName);
-        if (rr == null || rr.thresholdList == null || rr.thresholdList.isEmpty())
-            return null;
-
-        ThresholdStatus thresholdStatus = null;
-        long maxThresholdValue = 0;
-        for (ResourceThreshold th : rr.thresholdList) {
-            long thresholdValue = ExpressionEvaluator.evalLong(th.expression, equipmentData.data);
-
-            if (thresholdValue > maxThresholdValue) {
-                maxThresholdValue = thresholdValue;
-
-                if (limitAllocationOutcome.used >= thresholdValue) {
-                    thresholdStatus = new ThresholdStatus();
-                    thresholdStatus.resourceRule = rr;
-                    thresholdStatus.resourceThreshold = th;
-                    thresholdStatus.limitValue = limitAllocationOutcome.limit;
-                    thresholdStatus.thresholdValue = thresholdValue;
-                    thresholdStatus.used = limitAllocationOutcome.used;
-                    thresholdStatus.lastAdded = limitAllocationOutcome.allocatedCount;
-                }
-            }
-        }
-
-        return thresholdStatus;
-    }
-
-    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-        this.resourceRuleDao = resourceRuleDao;
-    }
-
-    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-        this.rangeRuleDao = rangeRuleDao;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java
deleted file mode 100644
index 8adf25113..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDao.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-public interface MaxPortSpeedDao {
-
-    // Returns max speed in kbps
-    long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java
deleted file mode 100644
index 481c6f45f..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxPortSpeedDaoImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class MaxPortSpeedDaoImpl implements MaxPortSpeedDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(MaxPortSpeedDaoImpl.class);
-
-    private final static String GET_SQL =
-            "SELECT * FROM MAX_PORT_SPEED WHERE image_file_name = ? AND end_point_position = ? AND interface_name = ?";
-
-    private JdbcTemplate jdbcTemplate;
-    private long defaultMaxPortSpeed = 5000000;
-    private SpeedUtil speedUtil;
-
-    @Override
-    public long getMaxPortSpeed(String imageFile, String endPointPosition, String interfaceName) {
-        List<MaxPortSpeed> maxPortSpeedList =
-                jdbcTemplate.query(GET_SQL, new Object[] { imageFile, endPointPosition, interfaceName },
-                        new RowMapper<MaxPortSpeed>() {
-
-                            @Override
-                            public MaxPortSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
-                                MaxPortSpeed mps = new MaxPortSpeed();
-                                mps.maxSpeed = rs.getLong("max_speed");
-                                mps.unit = rs.getString("unit");
-                                return mps;
-                            }
-                        });
-
-        if (maxPortSpeedList.isEmpty())
-            return defaultMaxPortSpeed;
-
-        MaxPortSpeed mps = maxPortSpeedList.get(0);
-        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
-    }
-
-    private static class MaxPortSpeed {
-
-        public long maxSpeed;
-        public String unit;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
-    public void setDefaultMaxPortSpeed(long defaultMaxPortSpeed) {
-        this.defaultMaxPortSpeed = defaultMaxPortSpeed;
-    }
-
-    public void setSpeedUtil(SpeedUtil speedUtil) {
-        this.speedUtil = speedUtil;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java
deleted file mode 100644
index 607cc0a3b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDao.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-public interface MaxServerSpeedDao {
-
-    // Returns max speed in kbps
-    long getMaxServerSpeed(String serverModel, int evcCount);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java
deleted file mode 100644
index 445166bb6..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/MaxServerSpeedDaoImpl.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class MaxServerSpeedDaoImpl implements MaxServerSpeedDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(MaxServerSpeedDaoImpl.class);
-
-    private final static String GET_SQL =
-            "SELECT * FROM MAX_SERVER_SPEED\n" +
-            "WHERE (server_model = ? OR server_model = 'ALL') AND evc_count >= ?\n" +
-            "ORDER BY evc_count";
-
-    private JdbcTemplate jdbcTemplate;
-    private long defaultMaxServerSpeed = 1600000;
-    private SpeedUtil speedUtil;
-
-    @Override
-    public long getMaxServerSpeed(String serverModel, int evcCount) {
-        List<MaxServerSpeed> maxServerSpeedList =
-                jdbcTemplate.query(GET_SQL, new Object[] { serverModel, evcCount }, new RowMapper<MaxServerSpeed>() {
-
-                    @Override
-                    public MaxServerSpeed mapRow(ResultSet rs, int rowNum) throws SQLException {
-                        MaxServerSpeed mps = new MaxServerSpeed();
-                        mps.maxSpeed = rs.getLong("max_speed");
-                        mps.unit = rs.getString("unit");
-                        return mps;
-                    }
-                });
-
-        if (maxServerSpeedList.isEmpty())
-            return defaultMaxServerSpeed;
-
-        MaxServerSpeed mps = maxServerSpeedList.get(0);
-        return speedUtil.convertToKbps(mps.maxSpeed, mps.unit);
-    }
-
-    private static class MaxServerSpeed {
-
-        public long maxSpeed;
-        public String unit;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
-    public void setDefaultMaxServerSpeed(long defaultMaxServerSpeed) {
-        this.defaultMaxServerSpeed = defaultMaxServerSpeed;
-    }
-
-    public void setSpeedUtil(SpeedUtil speedUtil) {
-        this.speedUtil = speedUtil;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java
deleted file mode 100644
index 724ee199c..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDao.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-public interface ParameterDao {
-
-    String getParameter(String name);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java
deleted file mode 100644
index eb061f99b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ParameterDaoImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.util.List;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class ParameterDaoImpl implements ParameterDao {
-
-    private static final Logger log = LoggerFactory.getLogger(ParameterDaoImpl.class);
-
-    private final static String GET_SQL = "SELECT * FROM PARAMETERS WHERE name = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public String getParameter(String name) {
-        List<Map<String, Object>> ll = jdbcTemplate.queryForList(GET_SQL, name);
-
-        if (ll == null || ll.isEmpty()) {
-            log.info("Parameter: " + name + " not found in DB");
-            return null;
-        }
-
-        String v = (String) ll.get(0).get("value");
-        log.info("Parameter from DB: " + name + "='" + v + "'");
-
-        return v;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
index ad1498d06..a7fcb61f2 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
@@ -8,9 +8,9 @@
  * 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.
@@ -22,11 +22,9 @@
 package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
 
 import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
 
 public interface RangeRuleDao {
 
-    List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
+    List<RangeRule> getRangeRules(String serviceModel, String equipLevel);
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
index 29a4aea28..825261efd 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
@@ -8,9 +8,9 @@
  * 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.
@@ -24,8 +24,6 @@ package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -37,30 +35,28 @@ public class RangeRuleDaoImpl implements RangeRuleDao {
     @SuppressWarnings("unused")
     private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
 
-    private static final String GET_SQL =
-            "SELECT * FROM RANGE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
+    private static final String GET_SQL = "SELECT * FROM RANGE_RULE WHERE service_model = ? AND equipment_level = ?";
 
     private JdbcTemplate jdbcTemplate;
 
     @Override
-    public List<RangeRule> getRangeRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel) {
+    public List<RangeRule> getRangeRules(String serviceModel, String equipLevel) {
         List<RangeRule> rangeRuleList =
-                jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, endPointPosition, equipLevel.toString() },
-                        new RowMapper<RangeRule>() {
+                jdbcTemplate.query(GET_SQL, new Object[] {serviceModel, equipLevel}, new RowMapper<RangeRule>() {
 
-                            @Override
-                            public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
-                                RangeRule rl = new RangeRule();
-                                rl.id = rs.getLong("range_rule_id");
-                                rl.rangeName = rs.getString("range_name");
-                                rl.serviceModel = rs.getString("service_model");
-                                rl.endPointPosition = rs.getString("end_point_position");
-                                rl.equipmentLevel = rs.getString("equipment_level");
-                                rl.minValue = rs.getInt("min_value");
-                                rl.maxValue = rs.getInt("max_value");
-                                return rl;
-                            }
-                        });
+                    @Override
+                    public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
+                        RangeRule rl = new RangeRule();
+                        rl.id = rs.getLong("range_rule_id");
+                        rl.rangeName = rs.getString("range_name");
+                        rl.serviceModel = rs.getString("service_model");
+                        rl.endPointPosition = rs.getString("end_point_position");
+                        rl.equipmentLevel = rs.getString("equipment_level");
+                        rl.minValue = rs.getInt("min_value");
+                        rl.maxValue = rs.getInt("max_value");
+                        return rl;
+                    }
+                });
         return rangeRuleList;
     }
 
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
index 9d879fbe6..54fdcbc20 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
@@ -8,9 +8,9 @@
  * 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.
@@ -22,17 +22,11 @@
 package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
 
 import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
 
 public interface ResourceRuleDao {
 
-    List<ResourceRule> getResourceRules(String serviceModel, String endPointPosition, EquipmentLevel equipLevel);
+    List<ResourceRule> getResourceRules(String serviceModel, String equipLevel);
 
-    ResourceRule getResourceRule(
-            String serviceModel,
-            String endPointPosition,
-            EquipmentLevel equipLevel,
-            String resourceName);
+    ResourceRule getResourceRule(String serviceModel, String endPointPosition, String equipLevel, String resourceName);
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
index 0e765f385..451dc57cd 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
@@ -8,9 +8,9 @@
  * 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.
@@ -24,8 +24,6 @@ package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.equip.data.EquipmentLevel;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceThreshold;
 import org.slf4j.Logger;
@@ -39,7 +37,7 @@ public class ResourceRuleDaoImpl implements ResourceRuleDao {
     private static final Logger log = LoggerFactory.getLogger(ResourceRuleDaoImpl.class);
 
     private static final String GET1_SQL =
-            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ?";
+            "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND equipment_level = ?";
     private static final String GET2_SQL =
             "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND end_point_position = ? AND equipment_level = ? AND resource_name = ?";
     private static final String THRESHOLD_SQL = "SELECT * FROM RESOURCE_THRESHOLD WHERE resource_rule_id = ?";
@@ -49,34 +47,29 @@ public class ResourceRuleDaoImpl implements ResourceRuleDao {
     ResourceThresholdRowMapper resourceThresholdRowMapper = new ResourceThresholdRowMapper();
 
     @Override
-    public List<ResourceRule> getResourceRules(
-            String serviceModel,
-            String endPointPosition,
-            EquipmentLevel equipLevel) {
-        List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET1_SQL,
-                new Object[] { serviceModel, endPointPosition, equipLevel.toString() }, resourceRuleRowMapper);
+    public List<ResourceRule> getResourceRules(String serviceModel, String equipLevel) {
+        List<ResourceRule> resourceRuleList =
+                jdbcTemplate.query(GET1_SQL, new Object[] {serviceModel, equipLevel}, resourceRuleRowMapper);
 
-        for (ResourceRule rr : resourceRuleList)
-            rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
+        for (ResourceRule rr : resourceRuleList) {
+            rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] {rr.id}, resourceThresholdRowMapper);
+        }
 
         return resourceRuleList;
     }
 
     @Override
-    public ResourceRule getResourceRule(
-            String serviceModel,
-            String endPointPosition,
-            EquipmentLevel equipLevel,
+    public ResourceRule getResourceRule(String serviceModel, String endPointPosition, String equipLevel,
             String resourceName) {
         List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET2_SQL,
-                new Object[] { serviceModel, endPointPosition, equipLevel.toString(), resourceName },
-                resourceRuleRowMapper);
+                new Object[] {serviceModel, endPointPosition, equipLevel, resourceName}, resourceRuleRowMapper);
 
-        if (resourceRuleList == null || resourceRuleList.isEmpty())
+        if (resourceRuleList == null || resourceRuleList.isEmpty()) {
             return null;
+        }
 
         ResourceRule rr = resourceRuleList.get(0);
-        rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] { rr.id }, resourceThresholdRowMapper);
+        rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] {rr.id}, resourceThresholdRowMapper);
 
         return rr;
     }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java
deleted file mode 100644
index b51cb2e8c..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDao.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-public interface VpeLockDao {
-
-    String getVpeLock(String vpeName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java
deleted file mode 100644
index 443f50666..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/VpeLockDaoImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class VpeLockDaoImpl implements VpeLockDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(VpeLockDaoImpl.class);
-
-    private final static String GET_SQL = "SELECT vpn_lock FROM VPE_LOCK WHERE vpe_name = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public String getVpeLock(String vpeName) {
-        List<String> ll = jdbcTemplate.queryForList(GET_SQL, String.class, vpeName);
-        return ll != null && !ll.isEmpty() ? ll.get(0) : null;
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java
deleted file mode 100644
index 9f923a5c7..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDao.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.service.dao;
-
-import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceResource;
-import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceStatus;
-
-public interface ServiceResourceDao {
-
-    ServiceResource getServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
-
-    void addServiceResource(ServiceResource serviceResource);
-
-    void updateServiceResource(ServiceResource serviceResource);
-
-    void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus);
-
-    void updateServiceStatus(String serviceInstanceId, ServiceStatus serviceStatus, ServiceStatus newServiceStatus);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java
deleted file mode 100644
index b0e2046f8..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/dao/ServiceResourceDaoImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.service.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-
-import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceResource;
-import org.onap.ccsdk.sli.adaptors.ra.service.data.ServiceStatus;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class ServiceResourceDaoImpl implements ServiceResourceDao {
-
-    @SuppressWarnings("unused")
-    private static final Logger log = LoggerFactory.getLogger(ServiceResourceDaoImpl.class);
-
-    private static final String GET_SQL =
-            "SELECT * FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
-
-    private static final String ADD_SQL = "INSERT INTO SERVICE_RESOURCE (\n"
-            + "  service_instance_id, service_status, service_change_number, resource_set_id, resource_union_id)\n"
-            + "VALUES (?, ?, ?, ?, ?)";
-
-    private static final String UPDATE_SQL =
-            "UPDATE SERVICE_RESOURCE SET service_change_number = ?, resource_set_id = ?\n"
-                    + "WHERE service_instance_id = ? AND service_status = ?";
-
-    private static final String DELETE_SQL =
-            "DELETE FROM SERVICE_RESOURCE WHERE service_instance_id = ? AND service_status = ?";
-
-    private static final String UPDATE_STATUS_SQL =
-            "UPDATE SERVICE_RESOURCE SET service_status = ? WHERE service_instance_id = ? AND service_status = ?";
-
-    private JdbcTemplate jdbcTemplate;
-
-    @Override
-    public ServiceResource getServiceResource(final String serviceInstanceId, final ServiceStatus serviceStatus) {
-        List<ServiceResource> serviceResourceList =
-                jdbcTemplate.query(GET_SQL, new Object[] { serviceInstanceId, serviceStatus.toString() },
-                        new RowMapper<ServiceResource>() {
-
-                            @Override
-                            public ServiceResource mapRow(ResultSet rs, int rowNum) throws SQLException {
-                                ServiceResource sr = new ServiceResource();
-                                sr.id = rs.getLong("service_resource_id");
-                                sr.serviceInstanceId = serviceInstanceId;
-                                sr.serviceStatus = serviceStatus;
-                                sr.serviceChangeNumber = rs.getInt("service_change_number");
-                                sr.resourceSetId = rs.getString("resource_set_id");
-                                sr.resourceUnionId = rs.getString("resource_union_id");
-                                return sr;
-                            }
-                        });
-        if (serviceResourceList.isEmpty())
-            return null;
-        return serviceResourceList.get(0);
-    }
-
-    @Override
-    public void addServiceResource(ServiceResource serviceResource) {
-        jdbcTemplate.update(ADD_SQL, serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString(),
-                serviceResource.serviceChangeNumber, serviceResource.resourceSetId, serviceResource.resourceUnionId);
-    }
-
-    @Override
-    public void updateServiceResource(ServiceResource serviceResource) {
-        jdbcTemplate.update(UPDATE_SQL, serviceResource.serviceChangeNumber, serviceResource.resourceSetId,
-                serviceResource.serviceInstanceId, serviceResource.serviceStatus.toString());
-    }
-
-    @Override
-    public void deleteServiceResource(String serviceInstanceId, ServiceStatus serviceStatus) {
-        jdbcTemplate.update(DELETE_SQL, serviceInstanceId, serviceStatus.toString());
-    }
-
-    @Override
-    public void updateServiceStatus(
-            String serviceInstanceId,
-            ServiceStatus serviceStatus,
-            ServiceStatus newServiceStatus) {
-        jdbcTemplate.update(UPDATE_STATUS_SQL, newServiceStatus.toString(), serviceInstanceId, serviceStatus.toString());
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java
deleted file mode 100644
index 519e79194..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceResource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.service.data;
-
-public class ServiceResource {
-
-    public long id;
-    public String serviceInstanceId;
-    public ServiceStatus serviceStatus;
-    public int serviceChangeNumber;
-    public String resourceSetId;
-    public String resourceUnionId;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java
deleted file mode 100644
index 9fd1b37f8..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/service/data/ServiceStatus.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.service.data;
-
-public enum ServiceStatus {
-
-    Active, Pending
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
index bda496a11..3544075fe 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
@@ -8,9 +8,9 @@
  * 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.
@@ -29,7 +29,6 @@ import java.util.List;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
-
 import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
 import org.onap.ccsdk.sli.adaptors.lock.comp.ResourceLockedException;
 import org.onap.ccsdk.sli.adaptors.lock.comp.SynchronizedFunction;
@@ -66,22 +65,20 @@ class AllocationFunction extends SynchronizedFunction {
 
     private ResourceDao resourceDao;
 
-    private String applicationId;
     private AllocationRequest request;
     private AllocationOutcome outcome;
 
-    private List<Resource> updateList = new ArrayList<Resource>();
+    private List<Resource> updateList = new ArrayList<>();
 
-    public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, String applicationId,
-            AllocationRequest request, int lockTimeout) {
+    public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, AllocationRequest request,
+            int lockTimeout) {
         super(lockHelper, getLockNames(request), lockTimeout);
-        this.applicationId = applicationId;
         this.resourceDao = resourceDao;
         this.request = request;
     }
 
     private static Collection<String> getLockNames(AllocationRequest request) {
-        Set<String> lockResourceNames = new HashSet<String>();
+        Set<String> lockResourceNames = new HashSet<>();
         addLockNames(lockResourceNames, request);
         return lockResourceNames;
     }
@@ -89,36 +86,47 @@ class AllocationFunction extends SynchronizedFunction {
     private static void addLockNames(Set<String> lockResourceNames, AllocationRequest request) {
         if (request instanceof MultiAssetAllocationRequest) {
             MultiAssetAllocationRequest req = (MultiAssetAllocationRequest) request;
-            if (req.assetIdList != null)
+            if (req.assetIdList != null) {
                 lockResourceNames.addAll(req.assetIdList);
+            }
         } else if (request instanceof MultiResourceAllocationRequest) {
             MultiResourceAllocationRequest req = (MultiResourceAllocationRequest) request;
-            if (req.allocationRequestList != null)
-                for (AllocationRequest request1 : req.allocationRequestList)
+            if (req.allocationRequestList != null) {
+                for (AllocationRequest request1 : req.allocationRequestList) {
                     addLockNames(lockResourceNames, request1);
-        } else if (request.assetId != null)
+                }
+            }
+        } else if (request.assetId != null) {
             lockResourceNames.add(request.assetId);
+        }
     }
 
     @Override
     public void _exec() throws ResourceLockedException {
         outcome = allocate(request);
-        if (outcome.status == AllocationStatus.Success)
-            for (Resource r : updateList)
+        if (outcome.status == AllocationStatus.Success) {
+            for (Resource r : updateList) {
                 resourceDao.saveResource(r);
+            }
+        }
     }
 
     private AllocationOutcome allocate(AllocationRequest allocationRequest) throws ResourceLockedException {
-        if (allocationRequest instanceof MultiAssetAllocationRequest)
+        if (allocationRequest instanceof MultiAssetAllocationRequest) {
             return allocateMultiAsset((MultiAssetAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof MultiResourceAllocationRequest)
+        }
+        if (allocationRequest instanceof MultiResourceAllocationRequest) {
             return allocateMultiResource((MultiResourceAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof LimitAllocationRequest)
+        }
+        if (allocationRequest instanceof LimitAllocationRequest) {
             return allocateLimit((LimitAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof LabelAllocationRequest)
+        }
+        if (allocationRequest instanceof LabelAllocationRequest) {
             return allocateLabel((LabelAllocationRequest) allocationRequest);
-        if (allocationRequest instanceof RangeAllocationRequest)
+        }
+        if (allocationRequest instanceof RangeAllocationRequest) {
             return allocateRange((RangeAllocationRequest) allocationRequest);
+        }
         return null;
     }
 
@@ -130,16 +138,18 @@ class AllocationFunction extends SynchronizedFunction {
     private MultiResourceAllocationOutcome allocateMultiResource(MultiResourceAllocationRequest req) {
         MultiResourceAllocationOutcome out = new MultiResourceAllocationOutcome();
         out.request = req;
-        out.allocationOutcomeList = new ArrayList<AllocationOutcome>();
+        out.allocationOutcomeList = new ArrayList<>();
         out.status = AllocationStatus.Success;
 
-        if (req.allocationRequestList != null)
+        if (req.allocationRequestList != null) {
             for (AllocationRequest req1 : req.allocationRequestList) {
                 AllocationOutcome out1 = allocate(req1);
                 out.allocationOutcomeList.add(out1);
-                if (out1.status != AllocationStatus.Success)
+                if (out1.status != AllocationStatus.Success) {
                     out.status = AllocationStatus.Failure;
+                }
             }
+        }
 
         return out;
     }
@@ -167,11 +177,12 @@ class AllocationFunction extends SynchronizedFunction {
         if (LimitUtil.checkLimit(l, req)) {
             out.status = AllocationStatus.Success;
             if (req.allocateCount > 0) {
-                out.allocatedCount = LimitUtil.allocateLimit(l, req, applicationId);
+                out.allocatedCount = LimitUtil.allocateLimit(l, req);
                 updateList.add(l);
             }
-        } else
+        } else {
             out.status = AllocationStatus.Failure;
+        }
 
         out.used = l.used;
         out.limit = req.checkLimit;
@@ -204,11 +215,12 @@ class AllocationFunction extends SynchronizedFunction {
             out.status = AllocationStatus.Success;
             out.currentLabel = l.label;
             if (req.allocate) {
-                out.allocatedLabel = LabelUtil.allocateLabel(l, req, applicationId);
+                out.allocatedLabel = LabelUtil.allocateLabel(l, req);
                 updateList.add(l);
             }
-        } else
+        } else {
             out.status = AllocationStatus.Failure;
+        }
 
         return out;
     }
@@ -242,18 +254,19 @@ class AllocationFunction extends SynchronizedFunction {
             if (req.requestedNumbers != null && req.requestedNumbers.size() > 0) {
                 foundNumbers = req.requestedNumbers;
                 out.status = AllocationStatus.Success;
-                for (int n : foundNumbers)
+                for (int n : foundNumbers) {
                     if (!RangeUtil.checkRange(rr, req, n)) {
                         out.status = AllocationStatus.Failure;
                         break;
                     }
+                }
             } else {
-                foundNumbers = new TreeSet<Integer>();
+                foundNumbers = new TreeSet<>();
                 int foundCount = 0;
 
                 // First try to reuse the numbers already taken by the same resource union
                 SortedSet<Integer> uu = RangeUtil.getUsed(rr, req.resourceUnionId);
-                if (uu != null && !uu.isEmpty()) {
+                if (uu != null && !uu.isEmpty() && req.replace) {
                     if (uu.size() >= req.requestedCount) {
                         // Just take the first req.requestedCount numbers from uu
                         Iterator<Integer> i = uu.iterator();
@@ -278,33 +291,48 @@ class AllocationFunction extends SynchronizedFunction {
                             if (RangeUtil.checkRange(rr, req, n)) {
                                 foundNumbers.add(n);
                                 foundCount++;
-                            } else if (req.sequential)
+                            } else if (req.sequential) {
                                 break;
+                            }
                         }
                         for (int n = uumax; foundCount < req.requestedCount && n <= req.checkMax; n++) {
                             if (RangeUtil.checkRange(rr, req, n)) {
                                 foundNumbers.add(n);
                                 foundCount++;
-                            } else if (req.sequential)
+                            } else if (req.sequential) {
                                 break;
+                            }
                         }
 
                         // If we could not find enough numbers trying to reuse currently
                         // allocated, reset foundNumbers and foundCount, continue with
                         // the normal allocation of new numbers.
                         if (foundCount < req.requestedCount) {
-                            foundNumbers = new TreeSet<Integer>();
+                            foundNumbers = new TreeSet<>();
                             foundCount = 0;
                         }
                     }
                 }
 
-                for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++)
-                    if (RangeUtil.checkRange(rr, req, n)) {
-                        foundNumbers.add(n);
-                        foundCount++;
-                    } else if (req.sequential)
-                        foundCount = 0;
+                if (req.reverseOrder) {
+                    for (int n = req.checkMax; foundCount < req.requestedCount && n >= req.checkMin; n--) {
+                        if (RangeUtil.checkRange(rr, req, n)) {
+                            foundNumbers.add(n);
+                            foundCount++;
+                        } else if (req.sequential) {
+                            foundCount = 0;
+                        }
+                    }
+                } else {
+                    for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++) {
+                        if (RangeUtil.checkRange(rr, req, n)) {
+                            foundNumbers.add(n);
+                            foundCount++;
+                        } else if (req.sequential) {
+                            foundCount = 0;
+                        }
+                    }
+                }
 
                 out.status = foundCount == req.requestedCount ? AllocationStatus.Success : AllocationStatus.Failure;
             }
@@ -313,11 +341,12 @@ class AllocationFunction extends SynchronizedFunction {
         if (out.status == AllocationStatus.Success) {
             out.allocated = foundNumbers;
             if (req.allocate) {
-                RangeUtil.allocateRange(rr, out.allocated, req, applicationId);
+                RangeUtil.allocateRange(rr, out.allocated, req);
                 updateList.add(rr);
             }
-        } else
-            out.allocated = new TreeSet<Integer>();
+        } else {
+            out.allocated = new TreeSet<>();
+        }
 
         out.used = rr.used;
 
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
index 2884e989f..77d8a6819 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
@@ -8,9 +8,9 @@
  * 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.
@@ -24,7 +24,6 @@ package org.onap.ccsdk.sli.adaptors.rm.comp;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-
 import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
 import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
@@ -42,7 +41,6 @@ public class ResourceManagerImpl implements ResourceManager {
     private LockHelper lockHelper;
     private ResourceDao resourceDao;
 
-    private String applicationId;
     private int lockTimeout = 10 * 60; // Default 10 min
 
     public ResourceManagerImpl() {
@@ -59,18 +57,20 @@ public class ResourceManagerImpl implements ResourceManager {
     @Override
     public List<Resource> getResourceUnion(String resourceUnionId) {
         List<Resource> rlist = resourceDao.getResourceUnion(resourceUnionId);
-        for (Resource r : rlist)
+        for (Resource r : rlist) {
             ResourceUtil.recalculate(r);
+        }
         return rlist;
     }
 
     @Override
     public AllocationOutcome allocateResources(AllocationRequest allocationRequest) {
-        if (allocationRequest == null)
+        if (allocationRequest == null) {
             throw new IllegalArgumentException("allocateResources called with null argument");
+        }
 
         AllocationFunction allocationFunction =
-                new AllocationFunction(lockHelper, resourceDao, applicationId, allocationRequest, lockTimeout);
+                new AllocationFunction(lockHelper, resourceDao, allocationRequest, lockTimeout);
         allocationFunction.exec();
         AllocationOutcome allocationOutcome = allocationFunction.getAllocationOutcome();
 
@@ -82,8 +82,9 @@ public class ResourceManagerImpl implements ResourceManager {
     @Override
     public void releaseResourceSet(String resourceSetId) {
         List<Resource> resourceList = resourceDao.getResourceSet(resourceSetId);
-        if (resourceList == null || resourceList.isEmpty())
+        if (resourceList == null || resourceList.isEmpty()) {
             return;
+        }
 
         Set<String> lockNames = getLockNames(resourceList);
         ReleaseFunction releaseFunction =
@@ -94,8 +95,9 @@ public class ResourceManagerImpl implements ResourceManager {
     @Override
     public void releaseResourceUnion(String resourceUnionId) {
         List<Resource> resourceList = resourceDao.getResourceUnion(resourceUnionId);
-        if (resourceList == null || resourceList.isEmpty())
+        if (resourceList == null || resourceList.isEmpty()) {
             return;
+        }
 
         Set<String> lockNames = getLockNames(resourceList);
         ReleaseFunction releaseFunction =
@@ -104,9 +106,10 @@ public class ResourceManagerImpl implements ResourceManager {
     }
 
     private Set<String> getLockNames(List<Resource> resourceList) {
-        Set<String> lockNames = new HashSet<String>();
-        for (Resource r : resourceList)
+        Set<String> lockNames = new HashSet<>();
+        for (Resource r : resourceList) {
             lockNames.add(r.resourceKey.assetId);
+        }
         return lockNames;
     }
 
@@ -118,10 +121,6 @@ public class ResourceManagerImpl implements ResourceManager {
         this.lockTimeout = lockTimeout;
     }
 
-    public void setApplicationId(String applicationId) {
-        this.applicationId = applicationId;
-    }
-
     public void setLockHelper(LockHelper lockHelper) {
         this.lockHelper = lockHelper;
     }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
index 25a4fbba9..29b493683 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
@@ -8,9 +8,9 @@
  * 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.
@@ -25,6 +25,7 @@ import java.util.Set;
 
 public class AllocationRequest {
 
+    public String applicationId = null;
     public String resourceUnionId = null;
     public String resourceSetId = null;
     public Set<String> resourceShareGroupList = null;
@@ -32,4 +33,5 @@ public class AllocationRequest {
     public String assetId = null;
     public AllocationAction missingResourceAction = AllocationAction.Succeed_Allocate;
     public AllocationAction expiredResourceAction = AllocationAction.Succeed_Allocate;
+    public String endPointPosition = null;
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
index b42960d9d..9581244b3 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
@@ -8,9 +8,9 @@
  * 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.
@@ -31,6 +31,8 @@ public class RangeAllocationRequest extends AllocationRequest {
     public boolean allocate = false;
     public boolean replace = false;
     public SortedSet<Integer> requestedNumbers = null;
+    public SortedSet<Integer> excludeNumbers = null;
     public int requestedCount = 1;
     public boolean sequential = false;
+    public boolean reverseOrder = false;
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
index 7cc541dd7..a67a50b31 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
@@ -8,9 +8,9 @@
  * 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.
@@ -23,7 +23,6 @@ package org.onap.ccsdk.sli.adaptors.rm.util;
 
 import java.util.ArrayList;
 import java.util.Date;
-
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationRequest;
@@ -37,16 +36,18 @@ public class LabelUtil {
         if (req.check && req.label != null && l.allocationItems != null && !l.allocationItems.isEmpty()) {
             for (AllocationItem ai : l.allocationItems) {
                 LabelAllocationItem lai = (LabelAllocationItem) ai;
-                if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label))
+                if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label)) {
                     return false;
+                }
             }
         }
         return true;
     }
 
-    public static String allocateLabel(LabelResource l, LabelAllocationRequest req, String applicationId) {
-        if (!req.allocate)
+    public static String allocateLabel(LabelResource l, LabelAllocationRequest req) {
+        if (!req.allocate) {
             return null;
+        }
 
         LabelAllocationItem lai = (LabelAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
         if (lai == null) {
@@ -55,13 +56,14 @@ public class LabelUtil {
             lai.resourceKey = new ResourceKey();
             lai.resourceKey.assetId = req.assetId;
             lai.resourceKey.resourceName = req.resourceName;
-            lai.applicationId = applicationId;
+            lai.applicationId = req.applicationId;
             lai.resourceSetId = req.resourceSetId;
             lai.resourceUnionId = req.resourceUnionId;
             lai.resourceShareGroupList = req.resourceShareGroupList;
 
-            if (l.allocationItems == null)
-                l.allocationItems = new ArrayList<AllocationItem>();
+            if (l.allocationItems == null) {
+                l.allocationItems = new ArrayList<>();
+            }
             l.allocationItems.add(lai);
         }
 
@@ -76,17 +78,19 @@ public class LabelUtil {
     public static void recalculate(LabelResource l) {
         l.label = null;
         l.referenceCount = 0;
-        if (l.allocationItems != null)
+        if (l.allocationItems != null) {
             for (AllocationItem ai : l.allocationItems) {
                 LabelAllocationItem lai = (LabelAllocationItem) ai;
                 if (lai.label != null) {
                     l.referenceCount++;
-                    if (l.label == null)
+                    if (l.label == null) {
                         l.label = lai.label;
-                    else if (!l.label.equals(lai.label))
+                    } else if (!l.label.equals(lai.label)) {
                         l.label = "__BLOCKED__";
+                    }
                 }
             }
+        }
     }
 
     private static boolean eq(Object o1, Object o2) {
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
index 8f284b595..2e36c9661 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
@@ -8,9 +8,9 @@
  * 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.
@@ -27,7 +27,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
@@ -42,26 +41,30 @@ public class LimitUtil {
     private static final Logger log = LoggerFactory.getLogger(LimitUtil.class);
 
     public static boolean checkLimit(LimitResource l, LimitAllocationRequest req) {
-        if (req.checkCount <= 0)
+        if (req.checkCount <= 0) {
             return true;
+        }
 
         long checkCount = req.checkCount;
         long currentUsage = 0;
         if (req.resourceSetId != null) {
             LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
-            if (lai != null)
+            if (lai != null) {
                 currentUsage = lai.used;
+            }
         }
-        if (!req.replace)
+        if (!req.replace) {
             checkCount += currentUsage;
+        }
 
         long used = calculateLimitUsage(l, 0, null, null);
         long wouldUse = calculateLimitUsage(l, checkCount, req.resourceUnionId, req.resourceShareGroupList);
 
         // If usage is not increasing by this request, only check the limit if
         // strictCheck is true.
-        if (wouldUse <= used && !req.strict)
+        if (wouldUse <= used && !req.strict) {
             return true;
+        }
 
         return wouldUse <= req.checkLimit;
     }
@@ -72,8 +75,9 @@ public class LimitUtil {
             String resourceUnionId,
             Set<String> resourceShareGroupList) {
         if ((l.allocationItems == null || l.allocationItems.isEmpty()) &&
-                (resourceUnionId == null || resourceUnionId.length() == 0))
+                (resourceUnionId == null || resourceUnionId.length() == 0)) {
             return 0;
+        }
 
         long t1 = System.currentTimeMillis();
         boolean logit = false;
@@ -127,48 +131,54 @@ public class LimitUtil {
 
         // First, group the allocation items by the first resource union, using the LimitUsage structure
         int regularChangeCount = 0;
-        Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<String, List<LimitUsage>>();
-        if (l.allocationItems != null)
+        Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<>();
+        if (l.allocationItems != null) {
             for (AllocationItem ai : l.allocationItems) {
                 LimitAllocationItem lai = (LimitAllocationItem) ai;
                 boolean regularChange =
                         addLimitUsage(limitUsageMap, lai.resourceUnionId, lai.resourceShareGroupList, lai.used);
-                if (regularChange)
+                if (regularChange) {
                     regularChangeCount++;
+                }
             }
+        }
         if (checkCount > 0 && resourceUnionId != null) {
             boolean regularChange = addLimitUsage(limitUsageMap, resourceUnionId, resourceShareGroupList, checkCount);
-            if (regularChange)
+            if (regularChange) {
                 regularChangeCount++;
+            }
         }
 
         // Generate all the combinations, containing one LimitUsage object for each firstResourceUnion
         int significantChangeCount = 0;
-        List<List<LimitUsage>> allCombinations = new ArrayList<List<LimitUsage>>();
+        List<List<LimitUsage>> allCombinations = new ArrayList<>();
         for (String firstResourceUnion : limitUsageMap.keySet()) {
             List<LimitUsage> limitUsageList = limitUsageMap.get(firstResourceUnion);
-            if (limitUsageList.size() > 1)
+            if (limitUsageList.size() > 1) {
                 significantChangeCount++;
+            }
             if (allCombinations.isEmpty()) {
                 for (LimitUsage limitUsage : limitUsageList) {
-                    List<LimitUsage> newCombination = new ArrayList<LimitUsage>();
+                    List<LimitUsage> newCombination = new ArrayList<>();
                     newCombination.add(limitUsage);
                     allCombinations.add(newCombination);
                 }
             } else {
                 if (limitUsageList.size() == 1) {
                     // No new combinations are generated - just add this one to all combinations we have until now
-                    for (List<LimitUsage> combination : allCombinations)
+                    for (List<LimitUsage> combination : allCombinations) {
                         combination.add(limitUsageList.get(0));
+                    }
                 } else {
                     // We have to duplicate each of the current combinations for each element of limitUsageList
-                    List<List<LimitUsage>> newAllCombinations = new ArrayList<List<LimitUsage>>();
-                    for (List<LimitUsage> combination : allCombinations)
+                    List<List<LimitUsage>> newAllCombinations = new ArrayList<>();
+                    for (List<LimitUsage> combination : allCombinations) {
                         for (LimitUsage limitUsage : limitUsageList) {
-                            List<LimitUsage> newCombination = new ArrayList<LimitUsage>(combination);
+                            List<LimitUsage> newCombination = new ArrayList<>(combination);
                             newCombination.add(limitUsage);
                             newAllCombinations.add(newCombination);
                         }
+                    }
                     allCombinations = newAllCombinations;
                 }
             }
@@ -178,8 +188,9 @@ public class LimitUtil {
         long maxUsage = 0;
         for (List<LimitUsage> combination : allCombinations) {
             long usage = calculateUsage(combination);
-            if (usage > maxUsage)
+            if (usage > maxUsage) {
                 maxUsage = usage;
+            }
         }
 
         long t2 = System.currentTimeMillis();
@@ -202,7 +213,7 @@ public class LimitUtil {
             long used) {
         List<LimitUsage> limitUsageList = limitUsageMap.get(resourceUnionId);
         if (limitUsageList == null) {
-            limitUsageList = new ArrayList<LimitUsage>();
+            limitUsageList = new ArrayList<>();
             limitUsageMap.put(resourceUnionId, limitUsageList);
         }
         // See if we already have the same shareResourceUnionSet in the list. In such case just update the usage
@@ -221,8 +232,9 @@ public class LimitUtil {
             }
         }
         if (limitUsage != null) {
-            if (limitUsage.usage < used)
+            if (limitUsage.usage < used) {
                 limitUsage.usage = used;
+            }
             return true;
         }
 
@@ -243,14 +255,18 @@ public class LimitUtil {
     }
 
     private static boolean hasCommonSharedResource(LimitUsage limitUsage1, LimitUsage limitUsage2) {
-        if (limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty())
+        if (limitUsage1.resourceShareGroupList == null || limitUsage1.resourceShareGroupList.isEmpty()) {
             return false;
-        if (limitUsage2.resourceShareGroupList == null || limitUsage2.resourceShareGroupList.isEmpty())
+        }
+        if (limitUsage2.resourceShareGroupList == null || limitUsage2.resourceShareGroupList.isEmpty()) {
             return false;
+        }
 
-        for (String resourceUnion : limitUsage1.resourceShareGroupList)
-            if (limitUsage2.resourceShareGroupList.contains(resourceUnion))
+        for (String resourceUnion : limitUsage1.resourceShareGroupList) {
+            if (limitUsage2.resourceShareGroupList.contains(resourceUnion)) {
                 return true;
+            }
+        }
 
         return false;
     }
@@ -260,7 +276,7 @@ public class LimitUtil {
         // split the combination in sets that have common value. Then the usage of each set will be the maximum of
         // the usages of the LimitUsage objects in the set. The usage of the combination will be the sum of the usages
         // of all sets.
-        List<List<LimitUsage>> sharedSets = new ArrayList<List<LimitUsage>>();
+        List<List<LimitUsage>> sharedSets = new ArrayList<>();
         for (LimitUsage limitUsage : combination) {
             // See if we can put limitUsage in any of the existing sets - is it has a common resource union with
             // any of the LimitUsage objects in a set.
@@ -279,7 +295,7 @@ public class LimitUtil {
             }
             if (!found) {
                 // Start a new set
-                List<LimitUsage> newSharedSet = new ArrayList<LimitUsage>();
+                List<LimitUsage> newSharedSet = new ArrayList<>();
                 newSharedSet.add(limitUsage);
                 sharedSets.add(newSharedSet);
             }
@@ -288,18 +304,21 @@ public class LimitUtil {
         long sum = 0;
         for (List<LimitUsage> sharedSet : sharedSets) {
             float max = 0;
-            for (LimitUsage limitUsage : sharedSet)
-                if (max < limitUsage.usage)
+            for (LimitUsage limitUsage : sharedSet) {
+                if (max < limitUsage.usage) {
                     max = limitUsage.usage;
+                }
+            }
             sum += max;
         }
 
         return sum;
     }
 
-    public static long allocateLimit(LimitResource l, LimitAllocationRequest req, String applicationId) {
-        if (req.allocateCount <= 0)
+    public static long allocateLimit(LimitResource l, LimitAllocationRequest req) {
+        if (req.allocateCount <= 0) {
             return 0;
+        }
         long uu = l.used;
 
         LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
@@ -309,17 +328,19 @@ public class LimitUtil {
             lai.resourceKey = new ResourceKey();
             lai.resourceKey.assetId = req.assetId;
             lai.resourceKey.resourceName = req.resourceName;
-            lai.applicationId = applicationId;
+            lai.applicationId = req.applicationId;
             lai.resourceSetId = req.resourceSetId;
             lai.resourceUnionId = req.resourceUnionId;
             lai.resourceShareGroupList = req.resourceShareGroupList;
             lai.used = req.allocateCount;
 
-            if (l.allocationItems == null)
-                l.allocationItems = new ArrayList<AllocationItem>();
+            if (l.allocationItems == null) {
+                l.allocationItems = new ArrayList<>();
+            }
             l.allocationItems.add(lai);
-        } else
+        } else {
             lai.used = req.replace ? req.allocateCount : lai.used + req.allocateCount;
+        }
 
         lai.allocationTime = new Date();
 
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
index f01d35784..04f6e8c56 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
@@ -8,9 +8,9 @@
  * 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.
@@ -23,9 +23,9 @@ package org.onap.ccsdk.sli.adaptors.rm.util;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
-
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
@@ -36,51 +36,62 @@ import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
 public class RangeUtil {
 
     public static void recalculate(RangeResource r) {
-        r.used = new TreeSet<Integer>();
-        if (r.allocationItems != null)
+        r.used = new TreeSet<>();
+        if (r.allocationItems != null) {
             for (AllocationItem ai : r.allocationItems) {
                 RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (rai.used != null)
+                if (rai.used != null) {
                     r.used.addAll(rai.used);
+                }
             }
+        }
     }
 
     public static boolean checkRange(RangeResource r, RangeAllocationRequest req, int num) {
-        if (num < req.checkMin || num > req.checkMax)
+        if (num < req.checkMin || num > req.checkMax) {
+            return false;
+        }
+
+        if (req.excludeNumbers != null && req.excludeNumbers.contains(num)) {
             return false;
+        }
 
-        if (r.allocationItems != null)
+        if (r.allocationItems != null) {
             for (AllocationItem ai : r.allocationItems) {
                 RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num))
+                if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num)) {
+                    if (!overlap(rai.resourceShareGroupList, req.resourceShareGroupList)) {
+                        return false;
+                    }
+                }
+                if (!req.replace && eq(req.resourceSetId, rai.resourceSetId) && rai.used != null
+                        && rai.used.contains(num)) {
                     return false;
+                }
             }
+        }
 
         return true;
     }
 
-    private static boolean eq(Object o1, Object o2) {
-        return o1 == null ? o2 == null : o1.equals(o2);
-    }
-
     public static SortedSet<Integer> getUsed(RangeResource r, String resourceUnionId) {
-        SortedSet<Integer> used = new TreeSet<Integer>();
-        if (r.allocationItems != null)
+        SortedSet<Integer> used = new TreeSet<>();
+        if (r.allocationItems != null) {
             for (AllocationItem ai : r.allocationItems) {
                 RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null)
+                if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null) {
                     used.addAll(rai.used);
+                }
             }
+        }
         return used;
     }
 
-    public static void allocateRange(
-            RangeResource rr,
-            SortedSet<Integer> requestedNumbers,
-            RangeAllocationRequest req,
-            String applicationId) {
-        if (!req.allocate)
+    public static void allocateRange(RangeResource rr, SortedSet<Integer> requestedNumbers,
+            RangeAllocationRequest req) {
+        if (!req.allocate) {
             return;
+        }
 
         RangeAllocationItem rai = (RangeAllocationItem) ResourceUtil.getAllocationItem(rr, req.resourceSetId);
         if (rai == null) {
@@ -89,22 +100,40 @@ public class RangeUtil {
             rai.resourceKey = new ResourceKey();
             rai.resourceKey.assetId = req.assetId;
             rai.resourceKey.resourceName = req.resourceName;
-            rai.applicationId = applicationId;
+            rai.applicationId = req.applicationId;
             rai.resourceSetId = req.resourceSetId;
             rai.resourceUnionId = req.resourceUnionId;
             rai.resourceShareGroupList = req.resourceShareGroupList;
             rai.used = requestedNumbers;
 
-            if (rr.allocationItems == null)
-                rr.allocationItems = new ArrayList<AllocationItem>();
+            if (rr.allocationItems == null) {
+                rr.allocationItems = new ArrayList<>();
+            }
             rr.allocationItems.add(rai);
-        } else if (req.replace)
+        } else if (req.replace) {
             rai.used = requestedNumbers;
-        else
+        } else {
             rai.used.addAll(requestedNumbers);
+        }
 
         rai.allocationTime = new Date();
 
         recalculate(rr);
     }
+
+    private static boolean eq(Object o1, Object o2) {
+        return o1 == null ? o2 == null : o1.equals(o2);
+    }
+
+    private static boolean overlap(Set<String> s1, Set<String> s2) {
+        if (s1 == null || s1.isEmpty() || s2 == null || s2.isEmpty()) {
+            return false;
+        }
+        for (String ss1 : s1) {
+            if (s2.contains(ss1)) {
+                return true;
+            }
+        }
+        return false;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
index ae7c21575..3db63804b 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
@@ -8,9 +8,9 @@
  * 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.
@@ -24,26 +24,34 @@ package org.onap.ccsdk.sli.adaptors.rm.util;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
 import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
+import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
 import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
 import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
 
 public class ResourceUtil {
 
     public static AllocationItem getAllocationItem(Resource r, String resourceSetId) {
-        if (r.allocationItems != null)
-            for (AllocationItem ai : r.allocationItems)
-                if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId))
+        if (r.allocationItems != null) {
+            for (AllocationItem ai : r.allocationItems) {
+                if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId)) {
                     return ai;
+                }
+            }
+        }
         return null;
     }
 
     public static void recalculate(Resource r) {
-        if (r == null)
+        if (r == null) {
             return;
+        }
 
-        if (r.resourceType == ResourceType.Limit)
+        if (r.resourceType == ResourceType.Limit) {
             LimitUtil.recalculate((LimitResource) r);
-        else if (r.resourceType == ResourceType.Label)
+        } else if (r.resourceType == ResourceType.Range) {
+            RangeUtil.recalculate((RangeResource) r);
+        } else if (r.resourceType == ResourceType.Label) {
             LabelUtil.recalculate((LabelResource) r);
+        }
     }
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
index 0e46868bc..3fa3952f2 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
@@ -8,9 +8,9 @@
  * 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.
@@ -25,9 +25,7 @@ import java.io.PrintWriter;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
-
 import javax.sql.DataSource;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,6 +34,7 @@ public class CachedDataSourceWrap implements DataSource {
     private static final Logger log = LoggerFactory.getLogger(CachedDataSourceWrap.class);
 
     private ThreadLocal<ConnectionWrap> con = new ThreadLocal<>();
+    private ThreadLocal<Boolean> autoCommit = new ThreadLocal<>();
 
     private DataSource dataSource;
 
@@ -78,12 +77,17 @@ public class CachedDataSourceWrap implements DataSource {
     public Connection getConnection() throws SQLException {
         if (con.get() == null) {
             Connection c = dataSource.getConnection();
+
             ConnectionWrap cc = new ConnectionWrap(c);
             con.set(cc);
 
+            autoCommit.set(c.getAutoCommit());
+            c.setAutoCommit(false);
+
             log.info("Got new DB connection: " + c);
-        } else
+        } else {
             log.info("Using thread DB connection: " + con.get().getCon());
+        }
 
         return con.get();
     }
@@ -92,12 +96,17 @@ public class CachedDataSourceWrap implements DataSource {
     public Connection getConnection(String username, String password) throws SQLException {
         if (con.get() == null) {
             Connection c = dataSource.getConnection(username, password);
+
             ConnectionWrap cc = new ConnectionWrap(c);
             con.set(cc);
 
+            autoCommit.set(c.getAutoCommit());
+            c.setAutoCommit(false);
+
             log.info("Got new DB connection: " + c);
-        } else
+        } else {
             log.info("Using thread DB connection: " + con.get().getCon());
+        }
 
         return con.get();
     }
@@ -105,6 +114,7 @@ public class CachedDataSourceWrap implements DataSource {
     public void releaseConnection() {
         if (con.get() != null) {
             try {
+                con.get().setAutoCommit(autoCommit.get());
                 con.get().realClose();
 
                 log.info("DB Connection released: " + con.get().getCon());
@@ -116,6 +126,30 @@ public class CachedDataSourceWrap implements DataSource {
         }
     }
 
+    public void commit() {
+        if (con.get() != null) {
+            try {
+                con.get().commit();
+
+                log.info("DB Connection committed: " + con.get().getCon());
+            } catch (Exception e) {
+                log.warn("Failed to commit DB connection", e);
+            }
+        }
+    }
+
+    public void rollback() {
+        if (con.get() != null) {
+            try {
+                con.get().rollback();
+
+                log.info("DB Connection rolled back: " + con.get().getCon());
+            } catch (Exception e) {
+                log.warn("Failed to roll back DB connection", e);
+            }
+        }
+    }
+
     public void setDataSource(DataSource dataSource) {
         this.dataSource = dataSource;
     }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
index 037b78b77..8ba454bf4 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
@@ -3,14 +3,14 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ *                      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.
@@ -25,36 +25,42 @@ import java.util.Map;
 
 public class ExpressionEvaluator {
 
-    public static long evalLong(String expr, Map<String, Object> vars) {
+    public static long evalLong(String expr, Map<String, String> vars) {
         return (long) evalFloat(expr, vars);
     }
 
-    public static float evalFloat(String expr, Map<String, Object> vars) {
+    public static float evalFloat(String expr, Map<String, String> vars) {
         expr = expr.trim();
         int sl = expr.length();
-        if (sl == 0)
+        if (sl == 0) {
             throw new IllegalArgumentException("Cannot interpret empty string.");
+        }
 
         // Remove parentheses if any
-        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')') {
             return evalFloat(expr.substring(1, sl - 1), vars);
+        }
 
         // Look for operators in the order of least priority
         String[] sss = findOperator(expr, "-", true);
-        if (sss != null)
+        if (sss != null) {
             return evalFloat(sss[0], vars) - evalFloat(sss[1], vars);
+        }
 
         sss = findOperator(expr, "+", true);
-        if (sss != null)
+        if (sss != null) {
             return evalFloat(sss[0], vars) + evalFloat(sss[1], vars);
+        }
 
         sss = findOperator(expr, "/", true);
-        if (sss != null)
+        if (sss != null) {
             return evalFloat(sss[0], vars) / evalFloat(sss[1], vars);
+        }
 
         sss = findOperator(expr, "*", true);
-        if (sss != null)
+        if (sss != null) {
             return evalFloat(sss[0], vars) * evalFloat(sss[1], vars);
+        }
 
         // Check if expr is a number
         try {
@@ -63,74 +69,122 @@ public class ExpressionEvaluator {
         }
 
         // Must be a variable
-        Object v = vars.get(expr);
-        if (v != null) {
-            if (v instanceof Float)
-                return (Float) v;
-            if (v instanceof Long)
-                return (Long) v;
-            if (v instanceof Integer)
-                return (Integer) v;
+        String v = vars.get(expr);
+        try {
+            return Float.valueOf(v);
+        } catch (Exception e) {
         }
         return 0;
     }
 
-    public static boolean evalBoolean(String expr, Map<String, Object> vars) {
+    public static String evalString(String expr, Map<String, String> vars) {
         expr = expr.trim();
         int sl = expr.length();
-        if (sl == 0)
+        if (sl == 0) {
             throw new IllegalArgumentException("Cannot interpret empty string.");
+        }
+
+        // Remove parentheses if any
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')') {
+            return evalString(expr.substring(1, sl - 1), vars);
+        }
+
+        // Look for operators in the order of least priority
+        String[] sss = findOperator(expr, "+", true);
+        if (sss != null) {
+            return evalString(sss[0], vars) + evalString(sss[1], vars);
+        }
+
+        // Check if expr is a number
+        try {
+            return Float.valueOf(expr).toString();
+        } catch (Exception e) {
+        }
+
+        // Check for quotes
+        if (expr.charAt(0) == '"' && expr.charAt(sl - 1) == '"') {
+            return expr.substring(1, sl - 1);
+        }
+        if (expr.charAt(0) == '\'' && expr.charAt(sl - 1) == '\'') {
+            return expr.substring(1, sl - 1);
+        }
+
+        // Must be a variable
+        String v = vars.get(expr);
+        return v != null ? v : "";
+    }
 
-        if (expr.equalsIgnoreCase("true"))
+    public static boolean evalBoolean(String expr, Map<String, String> vars) {
+        expr = expr.trim();
+        int sl = expr.length();
+        if (sl == 0) {
+            throw new IllegalArgumentException("Cannot interpret empty string.");
+        }
+
+        if (expr.equalsIgnoreCase("true")) {
             return true;
+        }
 
-        if (expr.equalsIgnoreCase("false"))
+        if (expr.equalsIgnoreCase("false")) {
             return false;
+        }
 
         // Remove parentheses if any
-        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')')
+        if (expr.charAt(0) == '(' && expr.charAt(sl - 1) == ')') {
             return evalBoolean(expr.substring(1, sl - 1), vars);
+        }
 
         // Look for operators in the order of least priority
         String[] sss = findOperator(expr, "or", true);
-        if (sss != null)
+        if (sss != null) {
             return evalBoolean(sss[0], vars) || evalBoolean(sss[1], vars);
+        }
 
         sss = findOperator(expr, "and", true);
-        if (sss != null)
+        if (sss != null) {
             return evalBoolean(sss[0], vars) && evalBoolean(sss[1], vars);
+        }
 
         sss = findOperator(expr, "not", true);
-        if (sss != null)
+        if (sss != null) {
             return !evalBoolean(sss[1], vars);
+        }
 
         sss = findOperator(expr, "!=", false);
-        if (sss == null)
+        if (sss == null) {
             sss = findOperator(expr, "<>", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) != evalLong(sss[1], vars);
+        }
+        if (sss != null) {
+            return !evalString(sss[0], vars).equals(evalString(sss[1], vars));
+        }
 
         sss = findOperator(expr, "==", false);
-        if (sss == null)
+        if (sss == null) {
             sss = findOperator(expr, "=", false);
-        if (sss != null)
-            return evalLong(sss[0], vars) == evalLong(sss[1], vars);
+        }
+        if (sss != null) {
+            return evalString(sss[0], vars).equals(evalString(sss[1], vars));
+        }
 
         sss = findOperator(expr, ">=", false);
-        if (sss != null)
+        if (sss != null) {
             return evalLong(sss[0], vars) >= evalLong(sss[1], vars);
+        }
 
         sss = findOperator(expr, ">", false);
-        if (sss != null)
+        if (sss != null) {
             return evalLong(sss[0], vars) > evalLong(sss[1], vars);
+        }
 
         sss = findOperator(expr, "<=", false);
-        if (sss != null)
+        if (sss != null) {
             return evalLong(sss[0], vars) <= evalLong(sss[1], vars);
+        }
 
         sss = findOperator(expr, "<", false);
-        if (sss != null)
+        if (sss != null) {
             return evalLong(sss[0], vars) < evalLong(sss[1], vars);
+        }
 
         throw new IllegalArgumentException("Cannot interpret '" + expr + "': Invalid expression.");
     }
@@ -142,26 +196,29 @@ public class ExpressionEvaluator {
         int pcount = 0, qcount = 0;
         for (int i = 0; i < sl; i++) {
             char c = s.charAt(i);
-            if (c == '(' && qcount == 0)
+            if (c == '(' && qcount == 0) {
                 pcount++;
-            else if (c == ')' && qcount == 0) {
+            } else if (c == ')' && qcount == 0) {
                 pcount--;
-                if (pcount < 0)
+                if (pcount < 0) {
                     throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
-            } else if (c == '\'')
+                }
+            } else if (c == '\'') {
                 qcount = (qcount + 1) % 2;
-            else if (i <= sl - opl && pcount == 0 && qcount == 0) {
+            } else if (i <= sl - opl && pcount == 0 && qcount == 0) {
                 String ss = s.substring(i, i + opl);
                 if (ss.equalsIgnoreCase(op)) {
                     boolean found = true;
                     if (delimiterRequired) {
                         // Check for delimiter before and after to make sure it is not part of another word
                         char chbefore = '\0';
-                        if (i > 0)
+                        if (i > 0) {
                             chbefore = s.charAt(i - 1);
+                        }
                         char chafter = '\0';
-                        if (i < sl - opl)
+                        if (i < sl - opl) {
                             chafter = s.charAt(i + opl);
+                        }
                         found = delimiters.indexOf(chbefore) >= 0 && delimiters.indexOf(chafter) >= 0;
                     }
                     if (found) {
@@ -174,23 +231,29 @@ public class ExpressionEvaluator {
                 }
             }
         }
-        if (pcount > 0)
+        if (pcount > 0) {
             throw new IllegalArgumentException("Cannot interpret '" + s + "': Parentheses do not match.");
-        if (qcount > 0)
+        }
+        if (qcount > 0) {
             throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
+        }
         return null;
     }
 
+    @SuppressWarnings("unused")
     private static Object parseObject(String s) {
         s = s.trim();
         int sl = s.length();
-        if (sl == 0)
+        if (sl == 0) {
             throw new IllegalArgumentException("Cannot interpret empty string.");
-        if (s.equalsIgnoreCase("null"))
+        }
+        if (s.equalsIgnoreCase("null")) {
             return null;
+        }
         if (s.charAt(0) == '\'') {
-            if (sl < 2 || s.charAt(sl - 1) != '\'')
+            if (sl < 2 || s.charAt(sl - 1) != '\'') {
                 throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
+            }
             return s.substring(1, sl - 1);
         }
         // Not in quotes - must be a number
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
index 1aad8f501..0d1359cf3 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
@@ -8,9 +8,9 @@
  * 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.
@@ -26,12 +26,28 @@ public class SpeedUtil {
     private long unitFactor = 1000;
 
     public long convertToKbps(long maxSpeed, String unit) {
-        if (unit.equalsIgnoreCase("kbps"))
+        if (unit.equalsIgnoreCase("kbps")) {
             return maxSpeed;
-        if (unit.equalsIgnoreCase("Mbps"))
+        }
+        if (unit.equalsIgnoreCase("Mbps")) {
             return maxSpeed * unitFactor;
-        if (unit.equalsIgnoreCase("Gbps"))
+        }
+        if (unit.equalsIgnoreCase("Gbps")) {
             return maxSpeed * unitFactor * unitFactor;
+        }
+        return 0;
+    }
+
+    public long convertToMbps(long maxSpeed, String unit) {
+        if (unit.equalsIgnoreCase("kbps")) {
+            return maxSpeed / unitFactor;
+        }
+        if (unit.equalsIgnoreCase("Mbps")) {
+            return maxSpeed;
+        }
+        if (unit.equalsIgnoreCase("Gbps")) {
+            return maxSpeed * unitFactor;
+        }
         return 0;
     }
 
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java
deleted file mode 100644
index 11e64ae1a..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VpnParam.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.vrf;
-
-public class VpnParam {
-
-    public String vpnId;
-    public String siteType;
-    public String spokeServiceInstanceId;
-    public String routeGroupName;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java
deleted file mode 100644
index 74025f15b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/vrf/VrfUtil.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.vrf;
-
-public class VrfUtil {
-
-    public static String createVrfInstanceName(
-            String serviceInstanceId,
-            String vpnId,
-            String siteType,
-            String routeGroup) {
-        if (vpnId == null || vpnId.trim().length() == 0)
-            return null;
-
-        String ss = "VPN-" + vpnId;
-        if (siteType != null && siteType.equalsIgnoreCase("hub"))
-            ss += "-HUB";
-        if (siteType != null && siteType.equalsIgnoreCase("spoke"))
-            ss += "-SP-" + serviceInstanceId;
-        if (routeGroup != null && routeGroup.trim().length() > 0)
-            ss += "-RG-" + routeGroup;
-
-        return ss;
-    }
-
-    public static VpnParam parseVrfInstanceName(String vrfInstanceName) {
-        VpnParam vpnParam = new VpnParam();
-
-        int i1 = vrfInstanceName.indexOf("-HUB");
-        if (i1 > 0)
-            vpnParam.siteType = "HUB";
-
-        int i2 = vrfInstanceName.indexOf("-SP-");
-        if (i2 > 0)
-            vpnParam.siteType = "SPOKE";
-
-        int i3 = vrfInstanceName.indexOf("-RG-");
-        if (i3 > 0)
-            vpnParam.routeGroupName = vrfInstanceName.substring(i3 + 4);
-
-        int i4 = vrfInstanceName.length();
-        if (i1 > 0)
-            i4 = i1;
-        else if (i2 > 0)
-            i4 = i2;
-        else if (i3 > 0)
-            i4 = i3;
-        vpnParam.vpnId = vrfInstanceName.substring(4, i4);
-
-        if (i2 > 0 && i3 < 0)
-            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4);
-        if (i2 > 0 && i3 > 0)
-            vpnParam.spokeServiceInstanceId = vrfInstanceName.substring(i2 + 4, i3);
-
-        return vpnParam;
-    }
-}
diff --git a/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment-blueprint.xml b/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment-blueprint.xml
index c2298af7d..11c284d64 100755
--- a/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment-blueprint.xml
+++ b/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment-blueprint.xml
@@ -26,4 +26,6 @@
 
         <reference id="dblib.dataSource" interface="javax.sql.DataSource" filter="(objectClass=org.onap.ccsdk.sli.core.dblib.DbLibService)"/>
 
+        <service ref="resourceAllocator" interface="org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator"/>
+
 </blueprint>
diff --git a/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment.xml b/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment.xml
index 6e11c664c..3fba3c781 100755
--- a/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment.xml
+++ b/resource-assignment/provider/src/main/resources/org/opendaylight/blueprint/resource-assignment.xml
@@ -77,7 +77,6 @@
 	<bean id="resourceManager" class="org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManagerImpl">
 		<property name="lockHelper" ref="lockHelper" />
 		<property name="resourceDao" ref="resourceDao" />
-		<property name="applicationId" value="SDNC" />
 		<property name="lockTimeout" value="600" /> <!-- Seconds -->
 	</bean>
 
@@ -105,29 +104,17 @@
 
 	<bean id="endPointAllocator" class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocatorImpl">
 		<property name="resourceManager" ref="resourceManager" />
-		<property name="endPointAllocationDefinitionMap">
+		<property name="allocationRuleMap">
 			<map>
 				<entry key="DEFAULT">
 					<list>
-                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
-                            <property name="serviceModel" value="DEFAULT" />
-                            <property name="endPointPosition" value="DEFAULT" />
-                            <property name="equipmentReader" ref="vnfReader" />
-                            <property name="allocationRuleList">
-                                <list>
-                                    <ref component-id="dbAllocationRule" />
-                                </list>
-                            </property>
-                        </bean>
+						<ref component-id="dbAllocationRule" />
 					</list>
 				</entry>
 			</map>
 		</property>
 	</bean>
 
-    <bean id="vnfReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.VnfReader">
-    </bean>
-
 	<!-- Resource Allocation Rule Configuration -->
 
 	<bean id="dbAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.DbAllocationRule">
diff --git a/resource-assignment/provider/src/main/resources/resource-allocator.properties b/resource-assignment/provider/src/main/resources/resource-allocator.properties
deleted file mode 100644
index 72dbcf87c..000000000
--- a/resource-assignment/provider/src/main/resources/resource-allocator.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###
-# ============LICENSE_START=======================================================
-# openECOMP : SDN-C
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. 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.
-# ============LICENSE_END=========================================================
-###
-
-org.onap.ccsdk.sli.adaptors.dbtype = jdbc
-org.onap.ccsdk.sli.adaptors.jdbc.url = jdbc:mysql://dbhost:3306/sdnctl
-org.onap.ccsdk.sli.adaptors.jdbc.database = sdnctl
-org.onap.ccsdk.sli.adaptors.jdbc.user = sdnctl
-org.onap.ccsdk.sli.adaptors.jdbc.password = gamma
diff --git a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql b/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
deleted file mode 100644
index f69b6bcd8..000000000
--- a/resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
+++ /dev/null
@@ -1,32 +0,0 @@
----
--- ============LICENSE_START=======================================================
--- openECOMP : SDN-C
--- ================================================================================
--- Copyright (C) 2017 AT&T Intellectual Property. 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.
--- ============LICENSE_END=========================================================
----
-
-CREATE TABLE resource_rule (
-  resource_rule_id SERIAL PRIMARY KEY,
-  resource_name VARCHAR(50) NOT NULL,
-  end_point_position VARCHAR(50) NOT NULL,
-  service_expression VARCHAR(2000) NOT NULL,
-  equipment_level VARCHAR(50) NOT NULL,
-  equipment_expression VARCHAR(2000) NOT NULL,
-  allocation_expression VARCHAR(2000) NOT NULL,
-  soft_limit_expression VARCHAR(2000) NOT NULL,
-  hard_limit_expression VARCHAR(2000) NOT NULL
-);
diff --git a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
deleted file mode 100644
index bc7babaf1..000000000
--- a/resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
+++ /dev/null
@@ -1,29 +0,0 @@
----
--- ============LICENSE_START=======================================================
--- openECOMP : SDN-C
--- ================================================================================
--- Copyright (C) 2017 AT&T Intellectual Property. 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.
--- ============LICENSE_END=========================================================
----
-
-CREATE TABLE max_port_speed (
-  max_port_speed_id SERIAL PRIMARY KEY,
-  image_file_name VARCHAR(50) NOT NULL,
-  end_point_position VARCHAR(50) NOT NULL,
-  interface_name VARCHAR(100) NOT NULL,
-  max_speed BIGINT NOT NULL,
-  unit VARCHAR(10) NOT NULL
-);
diff --git a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql b/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
deleted file mode 100644
index e3f18390b..000000000
--- a/resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
+++ /dev/null
@@ -1,28 +0,0 @@
----
--- ============LICENSE_START=======================================================
--- openECOMP : SDN-C
--- ================================================================================
--- Copyright (C) 2017 AT&T Intellectual Property. 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.
--- ============LICENSE_END=========================================================
----
-
-CREATE TABLE max_server_speed (
-  max_server_speed_id SERIAL PRIMARY KEY,
-  server_model VARCHAR(50) NOT NULL,
-  evc_count SMALLINT NOT NULL,
-  max_speed BIGINT NOT NULL,
-  unit VARCHAR(10) NOT NULL
-);
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java
index ba57f626a..bba8e2b94 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/DataSetup.java
@@ -3,14 +3,14 @@
  * openECOMP : SDN-C
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- *                         reserved.
+ * 						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.
@@ -21,8 +21,6 @@
 
 package jtest.org.onap.ccsdk.sli.adaptors.ra;
 
-import java.util.Date;
-
 import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestDb;
 import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestTable;
 
@@ -30,231 +28,29 @@ public class DataSetup {
 
     private TestDb testDb;
 
-    private TestTable vpePool = null;
-    private TestTable vplspePool = null;
-    private TestTable pserver = null;
-    private TestTable serviceResource = null;
     private TestTable resource = null;
     private TestTable allocationItem = null;
 
-    private static final String[] VPE_POOL_COLUMNS = {
-            "vpe_name", "ipv4_oam_address", "loopback0_ipv4_address", "provisioning_status", "aic_site_id",
-            "availability_zone", "vlan_id_outer", "vendor", "physical_intf_name", "physical_intf_speed",
-            "physical_intf_units", "vpe_uuid", "vpe_id", "image_filename" };
-
-    private static final String[] VPLSPE_POOL_COLUMNS = {
-            "vplspe_name", "aic_site_id", "availability_zone", "physical_intf_name", "physical_intf_speed",
-            "physical_intf_units", "loopback0_ipv4_address", "vlan_id_outer", "vplspe_uuid", "image_filename",
-            "provisioning_status", "vendor" };
-
-    private static final String[] PSERVER_COLUMNS = {
-            "hostname", "ptnii_equip_name", "number_of_cpus", "disk_in_gigabytes", "ram_in_megabytes", "equip_type",
-            "equip_vendor", "equip_model", "fqdn", "pserver_selflink", "ipv4_oam_address", "serial_number",
-            "pserver_id", "internet_topology", "aic_site_id", "in_maint", "pserver_name2", "purpose" };
-
-    private static final String[] SERVICE_RESOURCE_COLUMNS = {
-            "service_instance_id", "service_status", "service_change_number", "resource_set_id", "resource_union_id" };
+    private static final String[] RESOURCE_COLUMNS = {"asset_id", "resource_name", "resource_type", "lt_used"};
 
-    private static final String[] RESOURCE_COLUMNS = { "asset_id", "resource_name", "resource_type", "lt_used" };
-
-    private static final String[] ALLOCATION_ITEM_COLUMNS = {
-            "resource_id", "application_id", "resource_set_id", "resource_union_id", "resource_share_group_list",
-            "lt_used", "allocation_time" };
+    private static final String[] ALLOCATION_ITEM_COLUMNS = {"resource_id", "application_id", "resource_set_id",
+            "resource_union_id", "resource_share_group_list", "lt_used", "allocation_time"};
 
     private void initTables() {
-        if (vpePool == null)
-            vpePool = testDb.table("VPE_POOL", "vpe_name", VPE_POOL_COLUMNS);
-        if (vplspePool == null)
-            vplspePool = testDb.table("VPLSPE_POOL", "vplspe_name", VPLSPE_POOL_COLUMNS);
-        if (pserver == null)
-            pserver = testDb.table("PSERVER", "hostname", PSERVER_COLUMNS);
-        if (serviceResource == null)
-            serviceResource = testDb.table("SERVICE_RESOURCE", "service_resource_id", SERVICE_RESOURCE_COLUMNS);
-        if (resource == null)
+        if (resource == null) {
             resource = testDb.table("RESOURCE", "resource_id", RESOURCE_COLUMNS);
-        if (allocationItem == null)
+        }
+        if (allocationItem == null) {
             allocationItem = testDb.table("ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
+        }
     }
 
     public void cleanup() {
         initTables();
-        vpePool.delete("true");
-        vplspePool.delete("true");
-        pserver.delete("true");
-        serviceResource.delete("true");
         allocationItem.delete("true");
         resource.delete("true");
     }
 
-    public void setupVpePort(
-            String aicSiteId,
-            String vpeId,
-            String interfaceName,
-            String provStatus,
-            String imageFileName) {
-        initTables();
-        vpePool.add(vpeId, "127.0.0.1", "107.134.152.139", provStatus, aicSiteId, "mtanj-esx-az01", "3501",
-                "JUNIPER", interfaceName, "1", "GBPS", "vpe002", "VPESAT-auttx200me6", imageFileName);
-    }
-
-    public void setupVplspePort(
-            String aicSiteId,
-            String vplspeId,
-            String interfaceName,
-            String provStatus,
-            String imageFileName) {
-        initTables();
-        vplspePool.add(vplspeId, aicSiteId, "mtanj-esx-az01", interfaceName, "100", "GBPS", "192.168.119.32", "3501",
-                "vpls002", imageFileName, provStatus, "JUNIPER");
-    }
-
-    public void setupPserver(String hostname, String aicSiteId) {
-        initTables();
-        pserver.add(hostname, hostname + "srv1", 4, 1000, 16000, "equip_type", "equip_vendor", "equip_model", "fqdn",
-                "pserver_selflink", "123.123.123.123", "serial_number", "pserver_id", "internet_topology", aicSiteId,
-                "N", hostname, "purpose");
-    }
-
-    public void setupService(
-            String serviceInstanceId,
-            String status,
-            int changeNumber,
-            long speedKbps,
-            String vpeId,
-            String vplspeId,
-            String serverId) {
-        initTables();
-
-        String resourceSetId = serviceInstanceId + "/" + changeNumber;
-        String resourceUnionId = serviceInstanceId;
-
-        serviceResource.add(serviceInstanceId, status, changeNumber, resourceSetId, resourceUnionId);
-
-        Long rid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
-        if (rid == null) {
-            resource.add(vpeId + "/ae0", "Bandwidth", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-        rid = resource.getId("asset_id = '" + vplspeId + "' AND resource_name = 'Bandwidth'");
-        if (rid == null) {
-            resource.add(vplspeId, "Bandwidth", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Bandwidth'");
-        if (rid == null) {
-            resource.add(serverId, "Bandwidth", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, speedKbps, new Date());
-
-        rid = resource.getId("asset_id = '" + serverId + "' AND resource_name = 'Connection'");
-        if (rid == null) {
-            resource.add(serverId, "Connection", "Limit", 1);
-            rid = resource.getLastId();
-        }
-        allocationItem.add(rid, "SDNC", resourceSetId, resourceUnionId, null, 1, new Date());
-    }
-
-    public boolean serviceNotInDb(String serviceInstanceId, String status, Integer changeNumber) {
-        String where = "service_instance_id = '" + serviceInstanceId + "'";
-        if (status != null)
-            where += " AND service_status = '" + status + "'";
-        if (changeNumber != null)
-            where += " AND service_change_number = " + changeNumber;
-
-        if (serviceResource.exists(where))
-            return false;
-
-        where = "resource_union_id = '" + serviceInstanceId + "'";
-        if (changeNumber != null)
-            where += " AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "'";
-
-        if (allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public boolean serviceCorrectInDb(String serviceInstanceId, String status, int changeNumber, long speedKbps) {
-        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-                "' AND service_change_number = " + changeNumber;
-        if (!serviceResource.exists(where))
-            return false;
-
-        where = "resource_union_id = '" + serviceInstanceId + "' AND resource_set_id = '" + serviceInstanceId + "/" +
-                changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public boolean serviceCorrectInDb(
-            String vpeId,
-            String aicSiteId,
-            String serviceInstanceId,
-            String status,
-            int changeNumber,
-            long speedKbps) {
-
-        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-                "' AND service_change_number = " + changeNumber;
-        if (!serviceResource.exists(where))
-            return false;
-
-        Long vpebwrid = resource.getId("asset_id = '" + vpeId + "/ae0' AND resource_name = 'Bandwidth'");
-        if (vpebwrid == null)
-            return false;
-
-        where = "resource_id = " + vpebwrid + " AND resource_union_id = '" + serviceInstanceId +
-                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        Long srvbwrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Bandwidth'");
-        if (srvbwrid == null)
-            return false;
-
-        where = "resource_id = " + srvbwrid + " AND resource_union_id = '" + serviceInstanceId +
-                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        Long srvconrid = resource.getId("asset_id = '" + aicSiteId + "/Server1' AND resource_name = 'Connection'");
-        if (srvconrid == null)
-            return false;
-
-        where = "resource_id = " + srvconrid + " AND resource_union_id = '" + serviceInstanceId +
-                "' AND resource_set_id = '" + serviceInstanceId + "/" + changeNumber + "' AND lt_used = 1";
-        if (!allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
-    public boolean serviceCorrectInDb(
-            String serviceInstanceId,
-            String endPointPosition,
-            String status,
-            int changeNumber,
-            long speedKbps) {
-        String where = "service_instance_id = '" + serviceInstanceId + "' AND service_status = '" + status +
-                "' AND service_change_number = " + changeNumber;
-        if (!serviceResource.exists(where))
-            return false;
-
-        where = "resource_union_id = '" + serviceInstanceId + "/" + endPointPosition + "' AND resource_set_id = '" +
-                serviceInstanceId + "/" + endPointPosition + "/" + changeNumber + "' AND lt_used = " + speedKbps;
-        if (!allocationItem.exists(where))
-            return false;
-
-        return true;
-    }
-
     public void setTestDb(TestDb testDb) {
         this.testDb = testDb;
     }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java
deleted file mode 100644
index 4dee2d61e..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestIsAvailable.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.onap.ccsdk.sli.adaptors.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestIsAvailable {
-
-    private static final Logger log = LoggerFactory.getLogger(TestIsAvailable.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test successful response - all resources available");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test002() throws Exception {
-        String t = "002";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - request very big number that is above the limits");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("960000"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test003() throws Exception {
-        String t = "003";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - PROV check for VPE");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "---", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test004() throws Exception {
-        String t = "004";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - PROV check for VPLSPE");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "---", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test005() throws Exception {
-        String t = "005";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - VPE not found in DB");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test006() throws Exception {
-        String t = "006";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - VPLSPE not found in DB");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("0"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test007() throws Exception {
-        String t = "007";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - test max available speed calculation");
-
-        String service1 = "isAvailable" + t + "/service1";
-        String existingService1 = "isAvailable" + t + "/existing-service1";
-        String existingService2 = "isAvailable" + t + "/existing-service2";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(existingService1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1",
-                "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(existingService2, "Active", 3, 100000, "mtanjrsv127", "mtsnj303vr1",
-                "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(existingService2, "Pending", 4, 500000, "mtanjrsv127", "mtsnj303vr1",
-                "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("260000"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test008() throws Exception {
-        String t = "008";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test capacity not found - test server limit depending on number of connections");
-
-        String service1 = "isAvailable" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv127", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 13; i++)
-            dataSetup.setupService("isAvailable" + t + "/existing-service" + i, "Active", 2, 20000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        String maxAvailableSpeed = ctx.getAttribute("tmp.resource-allocator-output.max-available-speed");
-        String speedUnit = ctx.getAttribute("tmp.resource-allocator-output.speed-unit");
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " + maxAvailableSpeed);
-        log.info("  tmp.resource-allocator-output.speed-unit: " + speedUnit);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(maxAvailableSpeed.equals("340000"));
-        Assert.assertTrue(speedUnit.equals("kbps"));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test009() throws Exception {
-        String t = "009";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test successful response - no service instance id in input - all resources available");
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-    }
-
-    @Test
-    public void test010() throws Exception {
-        String t = "010";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - no aic-site-id in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.aic-site-id is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test011() throws Exception {
-        String t = "011";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - speed not a number in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "nnnnn");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals("Invalid tmp.resource-allocator.speed. Must be a number."));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test012() throws Exception {
-        String t = "012";
-        log.info("============== isAvailable " + t + " ================================");
-        log.info("=== Test input validations - speed-unit missing in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.isAvailable("NetworkCapacity", null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.speed-unit is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestLockHelper.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestLockHelper.java
new file mode 100644
index 000000000..6564dc3d1
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestLockHelper.java
@@ -0,0 +1,59 @@
+package jtest.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class TestLockHelper {
+
+    private static final Logger log = LoggerFactory.getLogger(TestLockHelper.class);
+
+    @Autowired
+    private LockHelper lockHelper;
+
+    @Test
+    public void test1() throws Exception {
+        LockThread t1 = new LockThread("req1");
+        LockThread t2 = new LockThread("req2");
+        LockThread t3 = new LockThread("req3");
+
+        t1.start();
+        t2.start();
+        t3.start();
+
+        t1.join();
+        t2.join();
+        t3.join();
+    }
+
+    private class LockThread extends Thread {
+        private String requester;
+
+        public LockThread(String requester) {
+            this.requester = requester;
+        }
+
+        @Override
+        public void run() {
+            lockHelper.lock("resource1", requester, 20);
+
+            try {
+                Thread.sleep(500);
+            } catch (InterruptedException e) {
+                log.warn("Thread interrupted: " + e.getMessage(), e);
+            }
+
+            lockHelper.unlock("resource1", false);
+        }
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java
deleted file mode 100644
index 435f4aaa5..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestQuery.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.onap.ccsdk.sli.adaptors.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestQuery {
-
-    private static final Logger log = LoggerFactory.getLogger(TestQuery.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== query " + t + " ================================");
-        log.info("=== Test reading assigned resources (subinterface-id, vlan-id-inner)");
-
-        String service1 = "ICOREPVC" + t + "-1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
-        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
-
-        st = resourceAllocator.query("NetworkCapacity", true, null, service1, "end-point", null, ctx);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertEquals(ctx.getAttribute("end-point.subinterface-id"), "100");
-        Assert.assertEquals(ctx.getAttribute("end-point.vlan-id-inner"), "2");
-        Assert.assertEquals(ctx.getAttribute("end-point.vpe-name"), "mtanjrsv126");
-        Assert.assertEquals(ctx.getAttribute("end-point.affinity-link"), "1");
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java
deleted file mode 100644
index 621022545..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestRelease.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.onap.ccsdk.sli.adaptors.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestRelease {
-
-    private static final Logger log = LoggerFactory.getLogger(TestRelease.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - new start");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test002() throws Exception {
-        String t = "002";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - change");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test003() throws Exception {
-        String t = "003";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - active there, but no pending - should do nothing and return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-    }
-
-    @Test
-    public void test004() throws Exception {
-        String t = "004";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - cancel - nothing in DB - should return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test005() throws Exception {
-        String t = "005";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - activate - new start");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-    }
-
-    @Test
-    public void test006() throws Exception {
-        String t = "006";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - actovate - change");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 3, 400000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-    }
-
-    @Test
-    public void test007() throws Exception {
-        String t = "007";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - activate - active there, but no pending - should do nothing and return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-    }
-
-    @Test
-    public void test008() throws Exception {
-        String t = "008";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - activate - nothing in DB - should return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Activate");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test009() throws Exception {
-        String t = "009";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - only pending in DB");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test010() throws Exception {
-        String t = "010";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - only active in DB");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test011() throws Exception {
-        String t = "011";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - both active and pending in DB");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test012() throws Exception {
-        String t = "012";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test release - disconnect - nothing in DB - should return success");
-
-        String service1 = "release" + t + "/service1";
-
-        dataSetup.cleanup();
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Disconnect");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        QueryStatus st = resourceAllocator.release("NetworkCapacity", null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test013() throws Exception {
-        String t = "013";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test input validations - request-type missing in input");
-
-        String service1 = "release" + t + "/service1";
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        try {
-            resourceAllocator.release("NetworkCapacity", null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.request-type is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test014() throws Exception {
-        String t = "014";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test input validations - invalid request-type in input");
-
-        String service1 = "release" + t + "/service1";
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-
-        try {
-            resourceAllocator.release("NetworkCapacity", null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are Cancel, Activate, Disconnect."));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-
-    @Test
-    public void test015() throws Exception {
-        String t = "015";
-        log.info("============== release " + t + " ================================");
-        log.info("=== Test input validations - missing service-instance-id in input");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Cancel");
-
-        try {
-            resourceAllocator.release("NetworkCapacity", null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "tmp.resource-allocator.service-instance-id is required in ResourceAllocator"));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java
index a4ee52547..c42007510 100644
--- a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java
+++ b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve.java
@@ -1,51 +1,58 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
 package jtest.org.onap.ccsdk.sli.adaptors.ra;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import org.junit.Assert;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceEntity;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceRequest;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse;
+import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceTarget;
+import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
+import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestTable;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
+@ContextConfiguration(locations = {"classpath:test-context.xml"})
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class TestReserve {
 
     private static final Logger log = LoggerFactory.getLogger(TestReserve.class);
 
+    private JdbcTemplate jdbcTemplate;
+
+    private static final String[] RESOURCE_COLUMNS = {"asset_id", "resource_name", "resource_type", "lt_used"};
+
+    private static final String[] ALLOCATION_ITEM_COLUMNS = {"resource_id", "application_id", "resource_set_id",
+            "resource_union_id", "resource_share_group_list", "lt_used", "allocation_time"};
+
+
+    @Autowired
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
     @Autowired(required = true)
     private ResourceAllocator resourceAllocator;
 
+    /*
+     * @Autowired(required = true) private ResourceAllocatorApi resourceAllocatorApi;
+     */
+
     @Autowired(required = true)
     private DataSetup dataSetup;
 
@@ -55,627 +62,576 @@ public class TestReserve {
         log.info("============== reserve " + t + " ================================");
         log.info("=== Test successful response - new start - all resources available");
 
-        String service1 = "reserve" + t + "/service1";
+        // String service1 = "reserve" + t + "/service1";
 
         dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+        TestTable resource = new TestTable(jdbcTemplate, "RESOURCE", "resource_id", RESOURCE_COLUMNS);
+        TestTable allocationItem =
+                new TestTable(jdbcTemplate, "ALLOCATION_ITEM", "allocation_item_id", ALLOCATION_ITEM_COLUMNS);
 
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 300000));
-    }
-
-    @Test
-    public void test002() throws Exception {
-        String t = "002";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - new start supp - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
 
         SvcLogicContext ctx = new SvcLogicContext();
-        // ctx.setAttribute("tmp.resource-allocator.request-type", "New"); - Default is New
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "400");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        ctx.setAttribute("ra-input.service-model", "ADIG");
+        ctx.setAttribute("ra-input.check-only", "false");
+        ctx.setAttribute("ra-input.reservation-entity-type", "SI");
+        ctx.setAttribute("ra-input.reservation-entity-id", "ICOREPVCID-123456");
+        ctx.setAttribute("ra-input.reservation-entity-data.service-speed", "100");
+        ctx.setAttribute("ra-input.reservation-entity-data.service-speed-unit", "Mbps");
 
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        ctx.setAttribute("ra-input.reservation-target-data.vnf-type", "VPE");
+        ctx.setAttribute("ra-input.reservation-target-data.vpe-name", "mdt300vpe54");
+        ctx.setAttribute("ra-input.reservation-target-id", "mdt300vpe54");
+        ctx.setAttribute("ra-input.reservation-target-type", "VNF");
 
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+        ctx.setAttribute("ra-input.reservation-target-data.max-vpe-bandwidth-mbps", "5000");
 
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-    }
-
-    @Test
-    public void test003() throws Exception {
-        String t = "003";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - change - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "400");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
 
         QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
         Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-    }
 
-    @Test
-    public void test004() throws Exception {
-        String t = "004";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - change supp - all resources available");
-
-        String service1 = "reserve" + t + "/service1";
+        resource.print();
+        allocationItem.print();
 
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
+        ctx.setAttribute("ra-input.service-model", "ADIG");
+        ctx.setAttribute("ra-input.check-only", "false");
+        ctx.setAttribute("ra-input.reservation-entity-type", "SI");
+        ctx.setAttribute("ra-input.reservation-entity-id", "ICOREPVCID-123456");
+        ctx.setAttribute("ra-input.reservation-entity-data.service-speed", "100");
+        ctx.setAttribute("ra-input.reservation-entity-data.service-speed-unit", "Mbps");
 
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "500");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        ctx.setAttribute("ra-input.reservation-target-data.service-speed", "100");
+        ctx.setAttribute("ra-input.reservation-target-data.service-speed-unit", "Mbps");
+        ctx.setAttribute("ra-input.reservation-target-id", "ICORESITEID-123456");
+        ctx.setAttribute("ra-input.reservation-target-type", "Port");
 
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+        st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
         Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 500000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
 
-    @Test
-    public void test005() throws Exception {
-        String t = "005";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - change - check that hard limits are applied, not soft for change");
+        ctx.setAttribute("ra-input.service-model", "ADIG");
+        ctx.setAttribute("ra-input.check-only", "false");
+        ctx.setAttribute("ra-input.reservation-entity-type", "SI");
+        ctx.setAttribute("ra-input.reservation-entity-id", "ICOREPVCID-123456");
+        ctx.setAttribute("ra-input.reservation-entity-data.service-speed", "100");
+        ctx.setAttribute("ra-input.reservation-entity-data.service-speed-unit", "Mbps");
 
-        String service1 = "reserve" + t + "/service1";
+        ctx.setAttribute("ra-input.reservation-target-data.vnf-type", "VPE");
+        ctx.setAttribute("ra-input.reservation-target-data.vpe-name", "mdt300vpe54");
+        ctx.setAttribute("ra-input.reservation-target-id", "mdt300vpe54");
+        ctx.setAttribute("ra-input.reservation-target-type", "AffinityLink");
 
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1200000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "kbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+        st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
         Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 1200000));
-    }
-
-    @Test
-    public void test006() throws Exception {
-        String t = "006";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - new start");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Gbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test007() throws Exception {
-        String t = "007";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - new start supp");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Pending", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test008() throws Exception {
-        String t = "008";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - change");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test009() throws Exception {
-        String t = "009";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test capacity not found - change supp");
-
-        String service1 = "reserve" + t + "/service1";
 
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupService(service1, "Active", 2, 200000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 400000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "2000");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 200000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 400000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 4));
-    }
-
-    @Test
-    public void test010() throws Exception {
-        String t = "010";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test border condition - connection limit - new start - adding connection " +
-                "when we are on the limit should fail");
-
-        String service1 = "reserve" + t + "/service1";
+        resource.print();
+        allocationItem.print();
 
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 40; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 40; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
 
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
-
-    @Test
-    public void test011() throws Exception {
-        String t = "011";
-        log.info("============== reserve " + t + " ================================");
-        log.info(
-                "=== Test border condition - connection limit - new start supp should succeed as no new connection being added");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 39; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 39; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        /* Query Using ReservationEntityId using ServiceLogicContext */
+        ctx = new SvcLogicContext();
+        ctx.setAttribute("ra-input.service-model", "ADIG");
+        ctx.setAttribute("ra-input.reservation-entity-id", "ICOREPVCID-123456");
+        ctx.setAttribute("ra-input.reservation-entity-type", "SI");
 
-        dataSetup.setupService(service1, "Pending", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 2, 1000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "5");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
 
+        st = resourceAllocator.query("NetworkCapacity", false, null, null, null, null, ctx);
         Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 2));
-    }
-
-    @Test
-    public void test012() throws Exception {
-        String t = "012";
-        log.info("============== reserve " + t + " ================================");
-        log.info(
-                "=== Test border condition - connection limit - change should succeed as no new connection being added");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 39; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 39; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
 
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "5");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
+        /* Query Using ReservationTargetId using ServiceLogicContext */
+        ctx = new SvcLogicContext();
+        ctx.setAttribute("ra-input.service-model", "ADIG");
+        ctx.setAttribute("ra-input.reservation-target-id", "ICORESITEID-123456");
+        ctx.setAttribute("ra-input.reservation-target-type", "Port");
+        ctx.setAttribute("ra-input.resource-name", "Bandwidth");
 
+        st = resourceAllocator.query("NetworkCapacity", false, null, null, null, null, ctx);
         Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
-    }
 
-    @Test
-    public void test013() throws Exception {
-        String t = "013";
-        log.info("============== reserve " + t + " ================================");
-        log.info(
-                "=== Test border condition - connection limit - change supp should succeed as no new connection being added");
+        log.info("========================  Query Using ResourceEntity==============================");
+        /* Query Using ResourceEntity bean */
+        ResourceEntity sd = new ResourceEntity();
+        sd.resourceEntityId = "ICOREPVCID-123456";
+        sd.resourceEntityType = "SI";
 
-        String service1 = "reserve" + t + "/service1";
 
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        for (int i = 1; i <= 39; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        for (int i = 1; i <= 39; i += 4)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Pending", 3, 1000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        ResourceRequest rr = new ResourceRequest();
+        rr.serviceModel = "ADIG";
+        rr.resourceName = "cust-vlan-id";
+        rr.requestType = "New";
+        rr.rangeMaxOverride = -1;
+        rr.rangeMinOverride = -1;
 
-        dataSetup.setupService(service1, "Active", 2, 1000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-        dataSetup.setupService(service1, "Pending", 3, 5000, "mtanjrsv126", "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        List<ResourceResponse> rsList = new ArrayList<>();
+        resourceAllocator.query(sd, null, null, rsList);
 
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 3, 5000));
+        rsList.forEach(r -> {
+            StrUtil.info(log, r);
+        });
 
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "Change");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "10");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        log.info("========================  release Using ResourceEntity==============================");
+        rsList = new ArrayList<>();
+        AllocationStatus status = resourceAllocator.release(sd);
+        Assert.assertTrue(status == AllocationStatus.Success);
 
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
 
-        log.info("Result: " + st);
+        log.info("========================  Query Using ResourceEntity==============================");
+        rsList = new ArrayList<>();
+        resourceAllocator.query(sd, null, null, rsList);
 
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Active", 2, 1000));
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 4, 10000));
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, 3));
-    }
-
-    @Test
-    public void test014() throws Exception {
-        String t = "014";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test input validations - invalid request-type in input");
 
-        String service1 = "reserve" + t + "/service1";
+        rsList.forEach(r -> {
+            StrUtil.info(log, r);
+        });
 
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "xxxxx");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "10");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        try {
-            resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-        } catch (SvcLogicException e) {
-            Assert.assertTrue(e.getMessage().equals(
-                    "Invalid tmp.resource-allocator.request-type: xxxxx. Supported values are New, Change."));
-            return;
-        }
-        Assert.fail("SvcLogicException expected");
     }
 
     @Test
-    public void test015() throws Exception {
-        String t = "015";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test server bw limit depends on number of servers - limit is 960Mbps for 1 server, 1920 for 2");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1200");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1200000));
-    }
-
-    @Test
-    public void test016() throws Exception {
-        String t = "016";
+    public void test002() throws Exception {
+        String t = "002";
         log.info("============== reserve " + t + " ================================");
-        log.info("=== Test resource threshold output");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "1605");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        log.info("=== Test successful response - new start - all resources available");
 
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        Map<String, String> data = new HashMap<>();
+        data.put("service-speed", "100");
+        data.put("service-speed-unit", "Mbps");
 
-        log.info("Result: " + st);
-        for (String key : ctx.getAttributeKeySet())
-            if (key.startsWith("tmp.resource-allocator-output"))
-                log.info("  " + key + ": " + ctx.getAttribute(key));
+        ResourceEntity sd = new ResourceEntity();
+        sd.resourceEntityId = "ICOREPVCID-123456";
+        sd.resourceEntityType = "SI";
+        sd.data = data;
 
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 1605000));
-    }
+        data = new HashMap<>();
+        data.put("vnf-type", "VPE");
+        data.put("vpe-name", "mdt300vpe54");
+        data.put("max-vpe-bandwidth-mbps", "5000");
 
-    @Test
-    public void test017() throws Exception {
-        String t = "017";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
-        log.info("=== For 10 existing EVC, it should take the first row, not the second (see data.sql).");
-        log.info("=== Applied limit should be 1920Mbps, not 1680Mbps.");
+        ResourceTarget rt = new ResourceTarget();
+        rt.resourceTargetId = "mdt300vpe54";
+        rt.resourceTargetType = "VNF";
+        rt.data = data;
 
-        String service1 = "reserve" + t + "/service1";
+        ResourceRequest rr = new ResourceRequest();
+        rr.serviceModel = "ADIG";
+        // rr.resourceName = "cust-vlan-id";
+        rr.requestType = "New";
+        rr.rangeMaxOverride = -1;
+        rr.rangeMinOverride = -1;
 
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
+        List<ResourceResponse> rsList = new ArrayList<>();
 
-        for (int i = 1; i <= 10; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
+        resourceAllocator.reserve(sd, rt, rr, rsList);
 
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "800"); // 10*100Mbps existing + 800 = 1800
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
+        rsList.forEach(r -> {
+            StrUtil.info(log, r);
+        });
 
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+        log.info("========================  Query + t ==============================");
+        rsList = new ArrayList<>();
+        resourceAllocator.query(sd, null, rr, rsList);
 
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
+        rsList.forEach(r -> {
+            StrUtil.info(log, r);
+        });
 
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb("mtanjrsv126", "MTSNJA4LCP1", service1, "Pending", 1, 800000));
     }
-
+    
+    
     @Test
-    public void test018() throws Exception {
-        String t = "018";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test if evc_count lookup in MAX_SERVER_SPEED depends on the number of primary servers.");
-        log.info("=== For 11 existing EVC, it should take the second row (see data.sql).");
-        log.info("=== Applied limit should be 1680Mbps. We have 11*100 + 700, so this should fail.");
-
-        String service1 = "reserve" + t + "/service1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-        dataSetup.setupVplspePort("MTSNJA4LCP1", "mtsnj303vr1", "xe-0/0/2", "PROV", null);
-        dataSetup.setupPserver("server1", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server2", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server3", "MTSNJA4LCP1");
-        dataSetup.setupPserver("server4", "MTSNJA4LCP1");
-
-        for (int i = 1; i <= 11; i++)
-            dataSetup.setupService("reserve" + t + "/existing-service" + i, "Active", 2, 100000, "mtanjrsv126",
-                    "mtsnj303vr1", "MTSNJA4LCP1/Server1");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "700"); // 11*100Mbps existing + 700 = 1800
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        log.info("Result: " + st);
-        log.info("  tmp.resource-allocator-output.max-available-speed: " +
-                ctx.getAttribute("tmp.resource-allocator-output.max-available-speed"));
-        log.info("  tmp.resource-allocator-output.speed-unit: " +
-                ctx.getAttribute("tmp.resource-allocator-output.speed-unit"));
-
-        log.info("Result: " + st);
-
-        Assert.assertTrue(st == QueryStatus.NOT_FOUND);
-        Assert.assertTrue(dataSetup.serviceNotInDb(service1, null, null));
-    }
+	public void test003() throws Exception {
+		String t = "003";
+		log.info("============== reserve " + t + " ================================");
+		log.info("=== Test successful response - new start - all resources available");
+		
+		ResourceEntity sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VNF";
+		
+		ResourceTarget rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+		
+		ResourceRequest rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		rr.resourceName = "VPE-Cust";
+		//rr.requestType = "New";
+		//rr.rangeMaxOverride = 5;
+		//rr.rangeMinOverride = 5;
+		
+		List <ResourceResponse> rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.reserve(sd, rt, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+		
+		log.info("========================  Query + t ==============================");
+		rsList = new ArrayList<org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse>();
+		resourceAllocator.query(sd, null, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+
+	}
+	
+	
+	
+	
+	@Test
+	public void test004() throws Exception {
+		String t = "004";
+		log.info("============== reserve " + t + " ================================");
+		log.info("=== Test successful response - new start - all resources available");
+		
+		ResourceEntity sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VNF";
+		
+		ResourceTarget rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+		List<ResourceRequest> rrs = new ArrayList<ResourceRequest>();
+		ResourceRequest rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		rr.resourceName = "VPE-Cust";
+		rrs.add(rr);
+		
+		rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		rr.resourceName = "VPE-Core1";
+		rrs.add(rr);
+		
+		rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		rr.resourceName = "VPE-Core2";
+		rrs.add(rr);
+		
+		
+		
+		List <ResourceResponse> rsList = new ArrayList<ResourceResponse>();
+		//resourceAllocator.reserve(sd, rt, rrs, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+		
+		log.info("========================  Query + t ==============================");
+		rsList = new ArrayList<org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse>();
+		resourceAllocator.query(sd, null, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+
+	}
+	
+	
+	@Test
+	public void test005() throws Exception {
+		String t = "005";
+		log.info("============== reserve " + t + " ================================");
+		log.info("=== Test successful response - new start - all resources available");
+
+		//String service1 = "reserve" + t + "/service1";
+
+		dataSetup.cleanup();
+		
+		TestTable resource = new TestTable(jdbcTemplate, "RESOURCE", "resource_id", RESOURCE_COLUMNS);
+		TestTable allocationItem = new TestTable(jdbcTemplate, "ALLOCATION_ITEM", "allocation_item_id",
+				ALLOCATION_ITEM_COLUMNS);
+		
+		
+		SvcLogicContext ctx = new SvcLogicContext();
+		ctx.setAttribute("ra-input.service-model", "MY-SERV-MODEL-1");
+		ctx.setAttribute("ra-input.check-only", "false");
+		ctx.setAttribute("ra-input.reservation-entity-type", "VPE-Cust");
+		ctx.setAttribute("ra-input.reservation-entity-id", "gblond2003me6");
+
+		ctx.setAttribute("ra-input.reservation-target-id", "MDTWNJ21A5");
+		ctx.setAttribute("ra-input.reservation-target-type", "Site");
+		
+		ctx.setAttribute("ra-input.resource-name", "cust-vlan-id");
+
+		
+		QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+		
+		Assert.assertTrue(st == QueryStatus.SUCCESS);
+		
+		resource.print();
+		allocationItem.print();
+		
+		ctx = new SvcLogicContext();
+		ctx.setAttribute("ra-input.service-model", "MY-SERV-MODEL-1");
+		ctx.setAttribute("ra-input.check-only", "false");
+		ctx.setAttribute("ra-input.reservation-entity-type", "VPE-Core1");
+		ctx.setAttribute("ra-input.reservation-entity-id", "gblond2003me6");
+
+		ctx.setAttribute("ra-input.reservation-target-id", "MDTWNJ21A5");
+		ctx.setAttribute("ra-input.reservation-target-type", "Site");
+		
+		ctx.setAttribute("ra-input.resource-name", "vlan-id-inner");
+
+		
+		st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+		
+		Assert.assertTrue(st == QueryStatus.SUCCESS);
+		
+		resource.print();
+		allocationItem.print();
+		
+		ctx = new SvcLogicContext();
+		ctx.setAttribute("ra-input.service-model", "MY-SERV-MODEL-1");
+		ctx.setAttribute("ra-input.check-only", "false");
+		ctx.setAttribute("ra-input.reservation-entity-type", "VPE-Core2");
+		ctx.setAttribute("ra-input.reservation-entity-id", "gblond2003me6");
+
+		ctx.setAttribute("ra-input.reservation-target-id", "MDTWNJ21A5");
+		ctx.setAttribute("ra-input.reservation-target-type", "Site");
+		
+		ctx.setAttribute("ra-input.resource-name", "vlan-id-inner");
+		ctx.setAttribute("ra-input.replace", "false");
+
+		
+		st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
+		
+		Assert.assertTrue(st == QueryStatus.SUCCESS);
+		
+		resource.print();
+		allocationItem.print();
+		
+		
+		/*Query Using ReservationEntityId using ServiceLogicContext*/
+		ctx = new SvcLogicContext();
+		ctx.setAttribute("ra-input.service-model", "MY-SERV-MODEL-1");
+		ctx.setAttribute("ra-input.reservation-entity-id", "gblond2003me6");
+		ctx.setAttribute("ra-input.reservation-entity-type", "VPE-Core1");
+
+		
+		st = resourceAllocator.query("NetworkCapacity", false, null, null, null, null, ctx);
+		Assert.assertTrue(st == QueryStatus.SUCCESS);
+
+		
+		/*Query Using ReservationTargetId using ServiceLogicContext*/
+		ctx = new SvcLogicContext();
+		ctx.setAttribute("ra-input.service-model", "MY-SERV-MODEL-1");
+		ctx.setAttribute("ra-input.reservation-target-id", "MDTWNJ21A5");
+		ctx.setAttribute("ra-input.reservation-target-type", "Site");
+		ctx.setAttribute("ra-input.resource-name", "vlan-id-inner");
+		
+		st = resourceAllocator.query("NetworkCapacity", false, null, null, null, null, ctx);
+		Assert.assertTrue(st == QueryStatus.SUCCESS);
+		
+		log.info("========================  Query Using ResourceEntity==============================");
+		/*Query Using ResourceEntity bean*/
+		ResourceEntity sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VPE-Core1";
+
+		
+		ResourceRequest rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL-1";
+		rr.resourceName = "vlan-id-inner";
+		rr.requestType = "New";
+		rr.rangeMaxOverride = -1;
+		rr.rangeMinOverride = -1;
+		
+		List <ResourceResponse> rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.query(sd, null, null, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+		
+		/*log.info("========================  release Using ResourceEntity==============================");
+		rsList = new ArrayList<ResourceResponse>();
+		AllocationStatus status = resourceAllocator.release(sd);
+		Assert.assertTrue(status == AllocationStatus.Success);
+		
+		
+		log.info("========================  Query Using ResourceEntity==============================");
+		rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.query(sd, null, null, rsList);
+		
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});*/
+		
+	}
+	
+	
+	
+	@Test
+	public void test006() throws Exception {
+		String t = "006";
+		log.info("============== reserve " + t + " ================================");
+		log.info("=== Test successful response - new start - all resources available");
+		
+		ResourceEntity sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VPE-Cust";
+		
+		ResourceTarget rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+
+		ResourceRequest rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL-1";
+		rr.resourceName = "cust-vlan-id";
+	
+		
+		List <ResourceResponse> rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.reserve(sd, rt, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+		
+		log.info("========================  Query + t ==============================");
+		rsList = new ArrayList<org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse>();
+		resourceAllocator.query(sd, null, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+
+	}
+	
+	@Test
+	public void test007() throws Exception {
+		String t = "007";
+		log.info("============== reserve " + t + " ================================");
+		log.info("=== Test successful response - new start - all resources available");
+		
+		dataSetup.cleanup();
+		
+		TestTable resource = new TestTable(jdbcTemplate, "RESOURCE", "resource_id", RESOURCE_COLUMNS);
+		TestTable allocationItem = new TestTable(jdbcTemplate, "ALLOCATION_ITEM", "allocation_item_id",
+				ALLOCATION_ITEM_COLUMNS);
+		
+		
+		ResourceEntity sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VPE";
+		sd.resourceEntityVersion = "1";
+		
+		ResourceTarget rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+
+		ResourceRequest rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		//rr.resourceName = "vlan-id-outer";
+		rr.endPointPosition="VPE-Cust";
+		rr.rangeMaxOverride = -1;
+		rr.rangeMinOverride = -1;
+	
+		
+		List <ResourceResponse> rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.reserve(sd, rt, rr, rsList);
+		
+		//VPE-Core1
+		sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VPE";
+		sd.resourceEntityVersion = "1";
+		
+		rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+
+		rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		//rr.resourceName = "vlan-id-filter";
+		rr.endPointPosition="VPE-Core1";
+		rr.rangeMaxOverride = -1;
+		rr.rangeMinOverride = -1;
+	
+		
+		rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.reserve(sd, rt, rr, rsList);
+		
+		
+		//VPE-Core2
+		sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VPE";
+		sd.resourceEntityVersion = "1";
+		
+		rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+
+		rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		//rr.resourceName = "vlan-id-filter";
+		rr.endPointPosition="VPE-Core2";
+		rr.rangeMaxOverride = -1;
+		rr.rangeMinOverride = -1;
+	
+		
+		rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.reserve(sd, rt, rr, rsList);
+		
+		
+		//VPE-Core3
+		sd = new ResourceEntity();
+		sd.resourceEntityId = "gblond2003me6";
+		sd.resourceEntityType = "VPE";
+		sd.resourceEntityVersion = "1";
+		
+		rt = new ResourceTarget();
+		rt.resourceTargetId = "MDTWNJ21A5";
+		rt.resourceTargetType = "Site";
+
+
+		rr= new ResourceRequest();
+		rr.serviceModel = "MY-SERV-MODEL";
+		//rr.resourceName = "vlan-id-filter";
+		rr.endPointPosition="VPE-Core3";
+		rr.rangeMaxOverride = -1;
+		rr.rangeMinOverride = -1;
+	
+		
+		rsList = new ArrayList<ResourceResponse>();
+		resourceAllocator.reserve(sd, rt, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+		
+		resource.print();
+		allocationItem.print();
+		
+		log.info("========================  Query + t ==============================");
+		rsList = new ArrayList<org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse>();
+		resourceAllocator.query(sd, null, rr, rsList);
+		
+		rsList.forEach(r -> {
+			StrUtil.info(log, r);
+		});
+		
+		
+		
+		SvcLogicContext ctx = new SvcLogicContext();
+		ctx.setAttribute("ra-input.reservation-entity-id", "gblond2003me6");
+		ctx.setAttribute("ra-input.reservation-entity-type", "VPE");
+
+		
+		QueryStatus st = resourceAllocator.release("NetworkCapacity", "gblond2003me6", ctx);
+		Assert.assertTrue(st == QueryStatus.SUCCESS);
+
+	}
 }
diff --git a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java b/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java
deleted file mode 100644
index 7ae169762..000000000
--- a/resource-assignment/provider/src/test/java/jtest/org/onap/ccsdk/sli/adaptors/ra/TestReserve2.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.org.onap.ccsdk.sli.adaptors.ra;
-
-import org.junit.Assert;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:test-context.xml" })
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestReserve2 {
-
-    private static final Logger log = LoggerFactory.getLogger(TestReserve2.class);
-
-    @Autowired(required = true)
-    private ResourceAllocator resourceAllocator;
-
-    @Autowired(required = true)
-    private DataSetup dataSetup;
-
-    @Test
-    public void test001() throws Exception {
-        String t = "001";
-        log.info("============== reserve " + t + " ================================");
-        log.info("=== Test successful response - new start - all resources available");
-
-        String service1 = "ICOREPVC" + t + "-1";
-
-        dataSetup.cleanup();
-        dataSetup.setupVpePort("MTSNJA4LCP1", "mtanjrsv126", "ae0", "PROV", "juniper-vpe-image");
-
-        SvcLogicContext ctx = new SvcLogicContext();
-        ctx.setAttribute("tmp.resource-allocator.request-type", "New");
-        ctx.setAttribute("tmp.resource-allocator.service-model", "L3AVPN-EVC");
-        ctx.setAttribute("tmp.resource-allocator.service-instance-id", service1);
-        ctx.setAttribute("tmp.resource-allocator.speed", "300");
-        ctx.setAttribute("tmp.resource-allocator.speed-unit", "Mbps");
-        ctx.setAttribute("tmp.resource-allocator.aic-site-id", "MTSNJA4LCP1");
-        ctx.setAttribute("tmp.resource-allocator.vpn-id", "123");
-        ctx.setAttribute("tmp.resource-allocator.vrf-required", "false");
-
-        QueryStatus st = resourceAllocator.reserve("NetworkCapacity", null, null, null, ctx);
-
-        Assert.assertTrue(st == QueryStatus.SUCCESS);
-        Assert.assertTrue(dataSetup.serviceCorrectInDb(service1, "VPE-Cust", "Pending", 1, 300000));
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestDb.java b/resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestDb.java
new file mode 100644
index 000000000..6446240dc
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestDb.java
@@ -0,0 +1,37 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.util.org.onap.ccsdk.sli.adaptors.ra;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+
+public class TestDb {
+
+    private JdbcTemplate jdbcTemplate;
+
+    public TestTable table(String tableName, String idName, String... columnList) {
+        return new TestTable(jdbcTemplate, tableName, idName, columnList);
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+}
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestTable.java b/resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestTable.java
new file mode 100644
index 000000000..e2541f393
--- /dev/null
+++ b/resource-assignment/provider/src/test/java/jtest/util/org/onap/ccsdk/sli/adaptors/ra/TestTable.java
@@ -0,0 +1,135 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package jtest.util.org.onap.ccsdk.sli.adaptors.ra;
+
+import java.sql.ResultSetMetaData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.support.rowset.SqlRowSet;
+
+public class TestTable {
+
+	private String tableName;
+	private String[] columnList;
+	private String idName;
+
+	private String insertSql;
+
+	private JdbcTemplate jdbcTemplate;
+	
+	private static final Logger log = LoggerFactory.getLogger(TestTable.class);
+
+	public TestTable(JdbcTemplate jdbcTemplate, String tableName, String idName, String... columnList) {
+		this.jdbcTemplate = jdbcTemplate;
+		this.tableName = tableName;
+		this.idName = idName;
+		this.columnList = columnList;
+		createInsertSql();
+	}
+	
+	public TestTable(JdbcTemplate jdbcTemplate, String tableName) {
+		this.jdbcTemplate = jdbcTemplate;
+		this.tableName = tableName;
+	}
+
+	private void createInsertSql() {
+		StringBuilder ss = new StringBuilder();
+		ss.append("INSERT INTO ").append(tableName).append(" (");
+		for (String s : columnList)
+			ss.append(s).append(", ");
+		ss.setLength(ss.length() - 2);
+		ss.append(") VALUES (");
+		for (int i = 0; i < columnList.length; i++)
+			ss.append("?, ");
+		ss.setLength(ss.length() - 2);
+		ss.append(")");
+		insertSql = ss.toString();
+	}
+
+	public void add(Object... values) {
+		jdbcTemplate.update(insertSql, values);
+	}
+	
+	public void update(String updateSql, Object... values) {
+		jdbcTemplate.update(updateSql, values);
+	}
+
+	public long getLastId() {
+		return jdbcTemplate.queryForObject("SELECT max(" + idName + ") FROM " + tableName, Long.class);
+	}
+
+	public Long getId(String where) {
+		String selectSql = "SELECT " + idName + " FROM " + tableName + " WHERE " + where;
+		SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
+		if (rs.first())
+			return rs.getLong(idName);
+		return null;
+	}
+	
+	public Object getColumn(String columnName, String where) {
+		String selectSql = "SELECT " + columnName + " FROM " + tableName + " WHERE " + where;
+		SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
+		if (rs.first())
+			return rs.getObject(columnName);
+		return null;
+	}
+
+	public boolean exists(String where) {
+		String selectSql = "SELECT * FROM " + tableName + " WHERE " + where;
+		SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
+		return rs.first();
+	}
+
+	public void delete(String where) {
+		jdbcTemplate.update("DELETE FROM " + tableName + " WHERE " + where);
+	}
+	
+	public void print() {
+		
+		jdbcTemplate.query("SELECT * FROM " + tableName, 
+								(rs, rowNum) -> {
+									String row = "Table Data for " + tableName +"\n";
+									String col = "";
+									
+									final ResultSetMetaData meta = rs.getMetaData();
+									final int columnCount = meta.getColumnCount();
+									
+									do {
+										col = "";
+								
+										for (int column = 1; column <= columnCount; ++column) {
+											Object obj = rs.getObject(column);
+											if(!rs.wasNull()) {
+												col = col + obj + ",";
+											} 
+										}
+										col = col.trim().length() == 0 ? "" : (col.trim().substring(0, col.trim().length() - 1));
+										row = row + col + "\n";
+									} while (rs.next());
+									
+									return row;
+								}).forEach(row -> {
+														log.info(row);
+													});
+	}
+}
\ No newline at end of file
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
deleted file mode 100644
index 6446240dc..000000000
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.util.org.onap.ccsdk.sli.adaptors.ra;
-
-import org.springframework.jdbc.core.JdbcTemplate;
-
-public class TestDb {
-
-    private JdbcTemplate jdbcTemplate;
-
-    public TestTable table(String tableName, String idName, String... columnList) {
-        return new TestTable(jdbcTemplate, tableName, idName, columnList);
-    }
-
-    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
-        this.jdbcTemplate = jdbcTemplate;
-    }
-}
diff --git a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java b/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
deleted file mode 100644
index cda7302c9..000000000
--- a/resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-package jtest.util.org.onap.ccsdk.sli.adaptors.ra;
-
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.support.rowset.SqlRowSet;
-
-public class TestTable {
-
-    private String tableName;
-    private String[] columnList;
-    private String idName;
-
-    private String insertSql;
-
-    private JdbcTemplate jdbcTemplate;
-
-    public TestTable(JdbcTemplate jdbcTemplate, String tableName, String idName, String... columnList) {
-        this.jdbcTemplate = jdbcTemplate;
-        this.tableName = tableName;
-        this.idName = idName;
-        this.columnList = columnList;
-        createInsertSql();
-    }
-
-    private void createInsertSql() {
-        StringBuilder ss = new StringBuilder();
-        ss.append("INSERT INTO ").append(tableName).append(" (");
-        for (String s : columnList)
-            ss.append(s).append(", ");
-        ss.setLength(ss.length() - 2);
-        ss.append(") VALUES (");
-        for (int i = 0; i < columnList.length; i++)
-            ss.append("?, ");
-        ss.setLength(ss.length() - 2);
-        ss.append(")");
-        insertSql = ss.toString();
-    }
-
-    public void add(Object... values) {
-        jdbcTemplate.update(insertSql, values);
-    }
-
-    public long getLastId() {
-        return jdbcTemplate.queryForObject("SELECT max(" + idName + ") FROM " + tableName, Long.class);
-    }
-
-    public Long getId(String where) {
-        String selectSql = "SELECT " + idName + " FROM " + tableName + " WHERE " + where;
-        SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
-        if (rs.first())
-            return rs.getLong(idName);
-        return null;
-    }
-
-    public boolean exists(String where) {
-        String selectSql = "SELECT * FROM " + tableName + " WHERE " + where;
-        SqlRowSet rs = jdbcTemplate.queryForRowSet(selectSql);
-        return rs.first();
-    }
-
-    public void delete(String where) {
-        jdbcTemplate.update("DELETE FROM " + tableName + " WHERE " + where);
-    }
-}
diff --git a/resource-assignment/provider/src/test/resources/homing-req.json b/resource-assignment/provider/src/test/resources/homing-req.json
deleted file mode 100644
index 1f061eca1..000000000
--- a/resource-assignment/provider/src/test/resources/homing-req.json
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-{
-    "input":{
-        "sdnc-homing-header":{
-            "svc-request-id":"omx-123",
-            "svc-action":"homing"
-        },
-        "request-information":{
-            "request-id":"mso-1234",
-            "request-action":"GetAicNodesRequest",
-            "source":"OMX",
-            "list-length":1
-        },
-        "homing-request-information":{
-            "service-type":"SDN-ETHERNET-INTERNET",
-            "global-customer-id":"custid-123",
-            "customer-location":{
-                "lata":332
-            }
-        },
-        "homing-other-information":{
-            "bandwidth-value":150,
-            "bandwidth-units":"Mbps"
-        }
-    }
-}
diff --git a/resource-assignment/provider/src/test/resources/param.txt b/resource-assignment/provider/src/test/resources/param.txt
deleted file mode 100755
index a20ac909d..000000000
--- a/resource-assignment/provider/src/test/resources/param.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-isAvailable:
-	Input in ctx:
-		tmp.resource-allocator.aic-site-id
-		tmp.resource-allocator.speed
-		tmp.resource-allocator.speed-unit
-	Output in ctx:
-		tmp.resource-allocator.max-available-speed
-		tmp.resource-allocator.speed-unit
-	Return:
-		SUCCESS – capacity available
-		NOT_FOUND – capacity not available
-			Error message in: error-message, error-code
-		FAILURE – the check has failed (data error, code defect, etc)
-			Error message in: error-message, error-code
-
-Reserve:
-	Input in ctx:
-		tmp.resource-allocator.aic-site-id
-		tmp.resource-allocator.speed
-		tmp.resource-allocator.speed-unit
-		tmp.resource-allocator.service-instance-id
-		tmp.resource-allocator.request-type { New, Change }
-	Output in ctx:
-		tmp.resource-allocator-output.max-available-speed
-		tmp.resource-allocator-output.speed-unit
-	Return:
-		SUCCESS – capacity available
-		NOT_FOUND – capacity not available
-			Error message in: error-message, error-code
-		FAILURE – the check has failed (data error, code defect, etc)
-			Error message in: error-message, error-code
-
-Release:
-	Input in ctx:
-		tmp.resource-allocator.service-instance-id
-		tmp.resource-allocator.request-type { Activate, Cancel, Disconnect }
-	Return:
-		SUCCESS – capacity available
-		FAILURE – the check has failed (data error, code defect, etc)
-			Error message in: error-message, error-code
-
-
-Plugin name: org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator
-Resource: NetworkCapacity
diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
index 5fd4c7577..681a9c458 100644
--- a/resource-assignment/provider/src/test/resources/sql/data.sql
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -118,3 +118,69 @@ INSERT INTO PARAMETERS (name, value, category, memo)
 VALUES ('homing.pserver.sparing.ratio', '1:1', 'homing',
   'Ratio of primary to backup servers within any of the AIC sites. Used in RA to calculate the max allowed bw in an AIC site.');
 
+INSERT INTO RESOURCE_RULE (
+     resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+     'PortBandwidth', 'ADIG', 'VPE', 'true', 'Port', 'true',
+    'service-speed-mbps', 'service-speed-mbps', 'service-speed-mbps');
+    
+INSERT INTO RESOURCE_RULE (
+     resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+     'Bandwidth', 'ADIG', 'VPE', 'true', 'VNF', 'vnf-type = "VPE"',
+    'service-speed-mbps', '0.5 * max-vpe-bandwidth-mbps', '0.9 * max-vpe-bandwidth-mbps');
+	
+	
+INSERT INTO RESOURCE_RULE (
+     resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+     'Bandwidth', 'ADIG', 'VPE', 'true', 'AffinityLink', 'true',
+    'service-speed-mbps', '9999999999', '9999999999');
+	
+INSERT INTO RESOURCE_RULE (
+     resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+    allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+     'Connection', 'ADIG', 'VPE', 'true', 'VNF', 'true',
+    '1', '200', '200');	
+    
+INSERT INTO RANGE_RULE (
+     range_name, service_model, end_point_position, equipment_level, min_value,
+    max_value)
+VALUES (
+     'cust-vlan-id', 'ADIG', 'VPE', 'VNF', '2', '1000');
+	
+INSERT INTO RANGE_RULE (
+     range_name, service_model, end_point_position, equipment_level, min_value,
+    max_value)
+VALUES (
+     'vlan-id-inner', 'ADIG', 'VPE', 'VNF', '1002', '2000');	    
+
+     
+INSERT INTO RANGE_RULE (
+     range_name, service_model, end_point_position, equipment_level, min_value,
+    max_value)
+VALUES (
+     'vlan-id-outer', 'MY-SERV-MODEL', 'VPE-Cust', 'Site', '2', '1000');
+	
+INSERT INTO RANGE_RULE (
+     range_name, service_model, end_point_position, equipment_level, min_value,
+    max_value)
+VALUES (
+     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core1', 'Site', '1002', '2000');	 
+     
+INSERT INTO RANGE_RULE (
+     range_name, service_model, end_point_position, equipment_level, min_value,
+    max_value)
+VALUES (
+     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core2', 'Site', '1002', '2000');
+     
+INSERT INTO RANGE_RULE (
+     range_name, service_model, end_point_position, equipment_level, min_value,
+    max_value)
+VALUES (
+     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core3', 'Site', '400', '600');     
+     
\ No newline at end of file
diff --git a/resource-assignment/provider/src/test/resources/svc-topology-req.json b/resource-assignment/provider/src/test/resources/svc-topology-req.json
deleted file mode 100644
index ab8afb66f..000000000
--- a/resource-assignment/provider/src/test/resources/svc-topology-req.json
+++ /dev/null
@@ -1,195 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * ============LICENSE_END=========================================================
- */
-
-{
-	"input":{
-		"sdnc-request-header":{
-			"svc-request-id":"omx-123",
-			"svc-action":"assign"
-		},
-		"sdnc-topology-additional-data":{
-			"svc-vnf-type":"vce"
-		},
-		"request-information":{
-			"request-id":"mso-1234",
-			"request-action":"Layer3ServiceActivateRequest",
-			"source":"OMX"
-		},
-		"service-information":{
-			"service-type":"SDN-ETHERNET-INTERNET",
-			"service-instance-id":"service-instance-123",
-			"subscriber-name":"ssb-subscriber"
-		},
-		"l2-homing-information":{
-			"evc-name":"EVC-123",
-			"topology":"PointToPoint",
-			"preferred-aic-clli":"ATLNGATL001"
-		}
-		"internet-evc-access-information":{
-			"internet-evc-speed-value":"150",
-			"internet-evc-speed-units":"Mbps",
-			"ip-version":"v6"
-		}
-		"vr-lan":{
-			"routing-protocol":"none",
-			{
-				"v6-vr-lan-prefix":"string",
-				"v6-public-lan-prefixes":{
-					"t-provided-v6-lan-public-prefixes":[
-						{
-							"v6-lan-public-prefix-length":"integer",
-							"v6-lan-public-prefix":"string",
-							"request-index":"integer"
-						}
-					]
-				},
-				"v6-vr-lan-prefix-length":"integer",
-				"v4-vr-lan-prefix-length":"integer",
-				"firewall-lite":{
-					"v6-firewall-packet-filters":[
-						{
-							"v6-firewall-prefix-length":"integer",
-							"udp-port-list":[
-								{
-									"port-number":"integer"
-								}
-							],
-							"tcp-port-list":[
-								{
-									"port-number":"integer"
-								}
-							],
-							"v6-firewall-prefix":"string"
-						}
-					],
-					"v4-firewall-packet-filters":[
-						{
-							"v4-firewall-prefix-length":"integer",
-							"udp-port-list":[
-								{
-									"port-number":"integer"
-								}
-							],
-							"tcp-port-list":[
-								{
-									"port-number":"integer"
-								}
-							],
-							"v4-firewall-prefix":"string"
-						}
-					]
-				},
-				"v6-vce-wan-address":"string",
-				"v4-public-lan-prefixes":{
-					"t-provided-v4-lan-public-prefixes":[
-						{
-							"v4-lan-public-prefix":"string",
-							"v4-lan-public-prefix-length":"integer",
-							"request-index":"integer"
-						}
-					]
-				},
-				"pat":{
-					"v4-pat-default-pool-prefix-length":"integer",
-					"v4-pat-pools":[
-						{
-							"v4-pat-pool-next-hop-address":"string",
-							"v4-pat-pool-prefix-length":"integer",
-							"v4-pat-pool-prefix":"string"
-						}
-					],
-					"v4-pat-default-pool-prefix":"string"
-				},
-				"v4-vce-loopback-address":"string",
-				"v4-vr-lan-prefix":"string",
-				"dhcp":{
-					"v4-dhcp-pools":[
-						{
-							"v4-dhcp-relay-next-hop-address":"string",
-							"excluded-v4-addresses":[
-								{
-									"excluded-v4-address":"string"
-								}
-							],
-							"v4-dhcp-pool-prefix":"string",
-							"v4-dhcp-relay-gateway-address":"string",
-							"v4-dhcp-pool-prefix-length":"integer"
-						}
-					],
-					"excluded-v4-dhcp-addresses-from-default-pool":[
-						{
-							"excluded-v4-address":"string"
-						}
-					],
-					"v6-dhcp-pools":[
-						{
-							"v6-dhcp-relay-gateway-address":"string",
-							"excluded-v6-addresses":[
-								{
-									"excluded-v6-address":"string"
-								}
-							],
-							"v6-dhcp-pool-prefix-length":"integer",
-							"v6-dhcp-relay-next-hop-address":"string",
-							"v6-dhcp-pool-prefix":"string"
-						}
-					],
-					"v6-dhcp-default-pool-prefix":"string",
-					"v6-dhcp-default-pool-prefix-length":"integer",
-					"v4-dhcp-default-pool-prefix":"string",
-					"excluded-v6-dhcp-addresses-from-default-pool":[
-						{
-							"excluded-v6-address":"string"
-						}
-					],
-					"v4-dhcp-default-pool-prefix-length":"integer"
-				},
-				"nat":{
-					"v4-nat-mapping-entries":[
-						{
-							"v4-nat-external":"string",
-							"v4-nat-next-hop-address":"string",
-							"v4-nat-internal":"string"
-						}
-					]
-				},
-				"static-routes":{
-					"v6-static-routes":[
-						{
-							"v6-static-route-prefix-length":"integer",
-							"v6-next-hop-address":"string",
-							"v6-static-route-prefix":"string"
-						}
-					],
-					"v4-static-routes":[
-						{
-							"v4-static-route-prefix-length":"integer",
-							"v4-static-route-prefix":"string",
-							"v4-next-hop-address":"string"
-						}
-					]
-				}
-			}
-			
-		}
-		
-	}
-}
diff --git a/resource-assignment/provider/src/test/resources/test-context.xml b/resource-assignment/provider/src/test/resources/test-context.xml
index c3b09a1f5..32b54e9e4 100644
--- a/resource-assignment/provider/src/test/resources/test-context.xml
+++ b/resource-assignment/provider/src/test/resources/test-context.xml
@@ -4,7 +4,7 @@
   openECOMP : SDN-C
   ================================================================================
   Copyright (C) 2017 AT&T Intellectual Property. All rights
-                          reserved.
+  						reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -20,22 +20,23 @@
   ============LICENSE_END=========================================================
   -->
 
-<beans xmlns="http://www.springframework.org/schema/beans"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
     xmlns:context="http://www.springframework.org/schema/context"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
-    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-    http://www.springframework.org/schema/jdbc
-    http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
-    http://www.springframework.org/schema/context
-    http://www.springframework.org/schema/context/spring-context-3.1.xsd
-                    ">
+	http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+	http://www.springframework.org/schema/jdbc
+ 	http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
+ 	http://www.springframework.org/schema/context
+ 	http://www.springframework.org/schema/context/spring-context-3.1.xsd
+ 					">
 
     <context:annotation-config />
 
-    <!-- JDBC setup -->
+	<!-- JDBC setup -->
 
-    <bean id="test.dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="false">
+    <bean id="test.dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
+        lazy-init="false" primary="true">
         <property name="driverClassName" value="org.h2.Driver" />
         <property name="url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MySQL" />
     </bean>
@@ -45,10 +46,18 @@
         <jdbc:script location="sql/data.sql" />
     </jdbc:initialize-database>
 
-    <bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
+    <bean id="lock.dataSource" class="org.onap.ccsdk.sli.adaptors.util.db.CachedDataSourceWrap">
         <property name="dataSource" ref="test.dataSource" />
     </bean>
 
+    <bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" primary="true">
+        <property name="dataSource" ref="test.dataSource" />
+    </bean>
+
+    <bean id="lock.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
+        <property name="dataSource" ref="lock.dataSource" />
+    </bean>
+
     <bean id="testDb" class="jtest.util.org.onap.ccsdk.sli.adaptors.ra.TestDb">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
@@ -57,17 +66,10 @@
         <property name="testDb" ref="testDb" />
     </bean>
 
-    <!-- Utils Configuration -->
-
-    <bean id="speedUtil" class="org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil">
-        <property name="unitFactor" value="1000" />
-    </bean>
-
-    <!-- Resource Lock Configuration -->
+	<!-- Resource Lock Configuration -->
 
     <bean id="resourceLockDao" class="org.onap.ccsdk.sli.adaptors.lock.dao.ResourceLockDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-        <property name="testing" value="true" />
+        <property name="jdbcTemplate" ref="lock.jdbcTemplate" />
     </bean>
 
     <bean id="lockHelper" class="org.onap.ccsdk.sli.adaptors.lock.comp.LockHelperImpl">
@@ -76,7 +78,7 @@
         <property name="lockWait" value="5" /> <!-- Seconds -->
     </bean>
 
-    <!-- RM Configuration -->
+	<!-- RM Configuration -->
 
     <bean id="resourceJdbcDao" class="org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.ResourceJdbcDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
@@ -99,35 +101,10 @@
     <bean id="resourceManager" class="org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManagerImpl">
         <property name="lockHelper" ref="lockHelper" />
         <property name="resourceDao" ref="resourceDao" />
-        <property name="applicationId" value="SDNC" />
         <property name="lockTimeout" value="600" /> <!-- Seconds -->
     </bean>
 
-    <!-- Equipment DAO Configuration -->
-
-    <bean id="serverDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.ServerDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-    </bean>
-
-    <bean id="vpePortDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.VpePortDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-    </bean>
-
-    <bean id="vplspePortDao" class="org.onap.ccsdk.sli.adaptors.ra.equip.dao.VplspePortDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-    </bean>
-
-    <!-- Rule DAO Configuration -->
-
-    <bean id="maxPortSpeedDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxPortSpeedDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-        <property name="speedUtil" ref="speedUtil" />
-    </bean>
-
-    <bean id="maxServerSpeedDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.MaxServerSpeedDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-        <property name="speedUtil" ref="speedUtil" />
-    </bean>
+	<!-- Rule DAO Configuration -->
 
     <bean id="resourceRuleDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDaoImpl">
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
@@ -137,161 +114,37 @@
         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
     </bean>
 
-    <bean id="vpeLockDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.VpeLockDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-    </bean>
-
-    <bean id="parameterDao" class="org.onap.ccsdk.sli.adaptors.ra.rule.dao.ParameterDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-    </bean>
-
-    <!-- Service DAO Configuration -->
-
-    <bean id="serviceResourceDao" class="org.onap.ccsdk.sli.adaptors.ra.service.dao.ServiceResourceDaoImpl">
-        <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
-    </bean>
-
-    <!-- ResourceAllocator Configuration -->
-
-    <bean id="allocationRequestBuilder" class="org.onap.ccsdk.sli.adaptors.ra.rule.comp.AllocationRequestBuilderImpl">
-        <property name="resourceRuleDao" ref="resourceRuleDao" />
-        <property name="rangeRuleDao" ref="rangeRuleDao" />
-    </bean>
+	<!-- ResourceAllocator Configuration -->
 
     <bean id="resourceAllocator" class="org.onap.ccsdk.sli.adaptors.ra.ResourceAllocator">
-        <property name="speedUtil" ref="speedUtil" />
-        <property name="parameterDao" ref="parameterDao" />
-        <property name="serverDao" ref="serverDao" />
-        <property name="vpePortDao" ref="vpePortDao" />
-        <property name="vplspePortDao" ref="vplspePortDao" />
-        <property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
-        <property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
-        <property name="serviceResourceDao" ref="serviceResourceDao" />
-        <property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
         <property name="resourceManager" ref="resourceManager" />
         <property name="endPointAllocator" ref="endPointAllocator" />
+        <property name="speedUtil" ref="speedUtil" />
     </bean>
 
-    <!-- EndPointAllocator Configuration -->
+
+    <bean id="speedUtil" class="org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil" />
+
+	<!-- EndPointAllocator Configuration -->
 
     <bean id="endPointAllocator" class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocatorImpl">
         <property name="resourceManager" ref="resourceManager" />
-        <property name="endPointAllocationDefinitionMap">
+        <property name="allocationRuleMap">
             <map>
-                <entry key="L3AVPN-PORT">
+                <entry key="DEFAULT">
                     <list>
-                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
-                            <property name="serviceModel" value="L3AVPN-PORT" />
-                            <property name="endPointPosition" value="VPE-Cust" />
-                            <property name="equipmentReader" ref="vpePortReader" />
-                            <property name="equipmentCheckList">
-                                <list>
-                                    <ref bean="provStatusCheck" />
-                                    <ref bean="excludeVpeCheck" />
-                                    <ref bean="anyVrfPresentCheck" />
-                                </list>
-                            </property>
-                            <property name="preferenceRuleList">
-                                <list>
-                                    <ref bean="affinityLinkPref" />
-                                </list>
-                            </property>
-                            <property name="allocationRuleList">
-                                <list>
-                                    <ref bean="dbAllocationRule" />
-                                    <ref bean="affinityAllocationRule" />
-                                </list>
-                            </property>
-                        </bean>
-                    </list>
-                </entry>
-                <entry key="L3AVPN-EVC">
-                    <list>
-                        <bean class="org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocationDefinition">
-                            <property name="serviceModel" value="L3AVPN-EVC" />
-                            <property name="endPointPosition" value="VPE-Cust" />
-                            <property name="equipmentReader" ref="vpePortReader" />
-                            <property name="equipmentCheckList">
-                                <list>
-                                    <ref bean="provStatusCheck" />
-                                    <ref bean="excludeVpeCheck" />
-                                    <ref bean="vpeLockCheck" />
-                                    <ref bean="anyVrfPresentCheck" />
-                                    <ref bean="oneMVrfCheck" />
-                                    <ref bean="hubWithRgCheck" />
-                                </list>
-                            </property>
-                            <property name="preferenceRuleList">
-                                <list>
-                                    <ref bean="affinityLinkPref" />
-                                </list>
-                            </property>
-                            <property name="allocationRuleList">
-                                <list>
-                                    <ref bean="dbAllocationRule" />
-                                    <ref bean="vrfAllocationRule" />
-                                    <ref bean="servingSiteAllocationRule" />
-                                    <ref bean="affinityAllocationRule" />
-                                </list>
-                            </property>
-                        </bean>
+                        <ref bean="dbAllocationRule" />
                     </list>
                 </entry>
             </map>
         </property>
     </bean>
 
-    <!-- Equipment Readers Configuration -->
-
-    <bean id="vpePortReader" class="org.onap.ccsdk.sli.adaptors.ra.reader.VpePortReader">
-        <property name="vpePortDao" ref="vpePortDao" />
-    </bean>
-
-    <!-- Equipment Checks Configuration -->
-
-    <bean id="provStatusCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.ProvStatusCheck">
-    </bean>
-
-    <bean id="excludeVpeCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.ExcludeVpeCheck">
-    </bean>
-
-    <bean id="vpeLockCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.VpeLockCheck">
-        <property name="vpeLockDao" ref="vpeLockDao" />
-        <property name="resourceManager" ref="resourceManager" />
-    </bean>
-
-    <bean id="anyVrfPresentCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.AnyVrfPresentCheck">
-        <property name="resourceManager" ref="resourceManager" />
-    </bean>
-
-    <bean id="oneMVrfCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.OneMVrfCheck">
-        <property name="resourceManager" ref="resourceManager" />
-    </bean>
-
-    <bean id="hubWithRgCheck" class="org.onap.ccsdk.sli.adaptors.ra.check.HubWithRgCheck">
-        <property name="resourceManager" ref="resourceManager" />
-    </bean>
-
-    <!-- Preference Rule Configuration -->
-
-    <bean id="affinityLinkPref" class="org.onap.ccsdk.sli.adaptors.ra.pref.AffinityLinkPref">
-        <property name="resourceManager" ref="resourceManager" />
-    </bean>
-
-    <!-- Resource Allocation Rule Configuration -->
+	<!-- Resource Allocation Rule Configuration -->
 
     <bean id="dbAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.DbAllocationRule">
         <property name="resourceRuleDao" ref="resourceRuleDao" />
         <property name="rangeRuleDao" ref="rangeRuleDao" />
     </bean>
 
-    <bean id="vrfAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.VrfAllocationRule">
-    </bean>
-
-    <bean id="servingSiteAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.ServingSiteAllocationRule">
-    </bean>
-
-    <bean id="affinityAllocationRule" class="org.onap.ccsdk.sli.adaptors.ra.alloc.AffinityAllocationRule">
-    </bean>
-
 </beans>
-- 
cgit 1.2.3-korg


From 56e2d29ba30639c56f465a05377cf464d4ac85e4 Mon Sep 17 00:00:00 2001
From: sb5356 <sb5356@att.com>
Date: Tue, 26 Jun 2018 10:01:27 -0400
Subject: Support for defining multiple ranges in RANGE_RULE

Change-Id: I5a5a1c61629a684dfc016f14000adbcb1e6dc9a1
Issue-ID: CCSDK-315
Signed-off-by: Stan Bonev <sb5356@att.com>
---
 .../sli/adaptors/ra/alloc/DbAllocationRule.java    | 267 +++++++++++----------
 .../adaptors/ra/comp/EndPointAllocatorImpl.java    |   3 +-
 .../sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java |  50 ++--
 .../ccsdk/sli/adaptors/ra/rule/data/RangeRule.java |   7 +-
 .../sli/adaptors/rm/comp/AllocationFunction.java   |  86 ++++---
 .../org/onap/ccsdk/sli/adaptors/rm/data/Range.java |  28 +++
 .../adaptors/rm/data/RangeAllocationRequest.java   |   4 +-
 .../onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java |  43 +++-
 .../provider/src/test/resources/sql/data.sql       |  42 ++--
 .../provider/src/test/resources/sql/schema.sql     |   4 +-
 10 files changed, 321 insertions(+), 213 deletions(-)
 create mode 100644 resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java

(limited to 'resource-assignment/provider/src/test/resources/sql/data.sql')

diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
index e9f6e0d3f..af6a2801d 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
@@ -36,6 +36,7 @@ import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.Range;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
 import org.onap.ccsdk.sli.adaptors.util.expr.ExpressionEvaluator;
 import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
@@ -44,127 +45,147 @@ import org.slf4j.LoggerFactory;
 
 public class DbAllocationRule implements AllocationRule {
 
-	private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
-
-	private ResourceRuleDao resourceRuleDao;
-	private RangeRuleDao rangeRuleDao;
-
-	@Override
-	public AllocationRequest buildAllocationRequest(String serviceModel, ResourceEntity resourceEntity,
-			ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
-		List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceModel,
-				resourceTarget.resourceTargetType);
-		List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceModel, resourceTarget.resourceTargetType);
-
-		List<AllocationRequest> arlist = new ArrayList<>();
-
-		for (ResourceRule rr : resourceRuleList) {
-			if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.resourceName)) {
-				continue;
-			}
-
-			boolean matches = ExpressionEvaluator.evalBoolean(rr.serviceExpression, resourceEntity.data);
-			matches = matches && ExpressionEvaluator.evalBoolean(rr.equipmentExpression, resourceTarget.data);
-
-			if (matches) {
-				AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
-						checkOnly, change);
-				arlist.add(ar1);
-			}
-		}
-
-		for (RangeRule rr : rangeRuleList) {
-			if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.rangeName)) {
-				continue;
-			}
-			if (resourceRequest.endPointPosition != null
-					&& !resourceRequest.endPointPosition.equals(rr.endPointPosition)) {
-				continue;
-			}
-
-			AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
-					checkOnly, change);
-			arlist.add(ar1);
-		}
-
-		if (arlist.isEmpty()) {
-			return null;
-		}
-
-		if (arlist.size() == 1) {
-			return arlist.get(0);
-		}
-
-		MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
-		ar.stopOnFirstFailure = false;
-		ar.allocationRequestList = arlist;
-		return ar;
-	}
-
-	private AllocationRequest buildAllocationRequest(ResourceRule resourceRule, ResourceEntity resourceEntity,
-			ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
-		StrUtil.info(log, resourceRule);
-
-		LimitAllocationRequest ar = new LimitAllocationRequest();
-		ar.applicationId = resourceRequest.applicationId;
-		ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
-		ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
-		ar.resourceName = resourceRule.resourceName;
-		if (resourceRequest.resourceShareGroup != null) {
-			ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
-		}
-		ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = resourceRequest.replace;
-		ar.strict = false;
-		ar.checkLimit = ExpressionEvaluator.evalLong(
-				change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, resourceTarget.data);
-		ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, resourceEntity.data);
-		ar.allocateCount = checkOnly ? 0 : ar.checkCount;
-		return ar;
-	}
-
-	private AllocationRequest buildAllocationRequest(RangeRule rangeRule, ResourceEntity resourceEntity,
-			ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
-		StrUtil.info(log, rangeRule);
-
-		RangeAllocationRequest ar = new RangeAllocationRequest();
-		ar.applicationId = resourceRequest.applicationId;
-		if (resourceRequest.endPointPosition != null) {
-			ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId + "::"
-					+ resourceRequest.endPointPosition;
-			ar.endPointPosition = resourceRequest.endPointPosition;
-		}else
-			ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
-		ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
-		ar.resourceName = rangeRule.rangeName;
-		if (resourceRequest.resourceShareGroup != null) {
-			ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
-		}
-		ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
-		ar.requestedNumbers = StrUtil.listInt(resourceRequest.rangeRequestedNumbers,
-				"Invalid value for requested-numbers");
-		if (ar.requestedNumbers != null) {
-			ar.requestedCount = ar.requestedNumbers.size();
-		}
-		ar.excludeNumbers = StrUtil.listInt(resourceRequest.rangeExcludeNumbers, "Invalid value for exclude-numbers");
-		ar.reverseOrder = resourceRequest.rangeReverseOrder;
-		ar.missingResourceAction = AllocationAction.Succeed_Allocate;
-		ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
-		ar.replace = resourceRequest.replace;
-		ar.check = true;
-		ar.allocate = !checkOnly;
-		ar.checkMin = resourceRequest.rangeMinOverride >= 0 ? resourceRequest.rangeMinOverride : rangeRule.minValue;
-		ar.checkMax = resourceRequest.rangeMaxOverride >= 0 ? resourceRequest.rangeMaxOverride : rangeRule.maxValue;
-		return ar;
-	}
-
-	public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
-		this.resourceRuleDao = resourceRuleDao;
-	}
-
-	public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
-		this.rangeRuleDao = rangeRuleDao;
-	}
+    private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
+
+    private ResourceRuleDao resourceRuleDao;
+    private RangeRuleDao rangeRuleDao;
+
+    @Override
+    public AllocationRequest buildAllocationRequest(String serviceModel, ResourceEntity resourceEntity,
+            ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
+        List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceModel,
+                resourceTarget.resourceTargetType);
+        List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceModel, resourceTarget.resourceTargetType);
+
+        List<AllocationRequest> arlist = new ArrayList<>();
+
+        for (ResourceRule rr : resourceRuleList) {
+            if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.resourceName)) {
+                continue;
+            }
+
+            boolean matches = ExpressionEvaluator.evalBoolean(rr.serviceExpression, resourceEntity.data);
+            matches = matches && ExpressionEvaluator.evalBoolean(rr.equipmentExpression, resourceTarget.data);
+
+            if (matches) {
+                AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
+                        checkOnly, change);
+                arlist.add(ar1);
+            }
+        }
+
+        for (RangeRule rr : rangeRuleList) {
+            if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.rangeName)) {
+                continue;
+            }
+            if (resourceRequest.endPointPosition != null
+                    && !resourceRequest.endPointPosition.equals(rr.endPointPosition)) {
+                continue;
+            }
+
+            if (!ExpressionEvaluator.evalBoolean(rr.equipmentExpression, resourceTarget.data)) {
+                continue;
+            }
+
+            AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
+                    checkOnly, change);
+            arlist.add(ar1);
+        }
+
+        if (arlist.isEmpty()) {
+            return null;
+        }
+
+        if (arlist.size() == 1) {
+            return arlist.get(0);
+        }
+
+        MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
+        ar.stopOnFirstFailure = false;
+        ar.allocationRequestList = arlist;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(ResourceRule resourceRule, ResourceEntity resourceEntity,
+            ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
+        StrUtil.info(log, resourceRule);
+
+        LimitAllocationRequest ar = new LimitAllocationRequest();
+        ar.applicationId = resourceRequest.applicationId;
+        ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
+        ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
+        ar.resourceName = resourceRule.resourceName;
+        if (resourceRequest.resourceShareGroup != null) {
+            ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
+        }
+        ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = resourceRequest.replace;
+        ar.strict = false;
+        ar.checkLimit = ExpressionEvaluator.evalLong(
+                change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, resourceTarget.data);
+        ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, resourceEntity.data);
+        ar.allocateCount = checkOnly ? 0 : ar.checkCount;
+        return ar;
+    }
+
+    private AllocationRequest buildAllocationRequest(RangeRule rangeRule, ResourceEntity resourceEntity,
+            ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
+        StrUtil.info(log, rangeRule);
+
+        RangeAllocationRequest ar = new RangeAllocationRequest();
+        ar.applicationId = resourceRequest.applicationId;
+        if (resourceRequest.endPointPosition != null) {
+            ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId + "::"
+                    + resourceRequest.endPointPosition;
+            ar.endPointPosition = resourceRequest.endPointPosition;
+        } else {
+            ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
+        }
+        ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
+        ar.resourceName = rangeRule.rangeName;
+        if (resourceRequest.resourceShareGroup != null) {
+            ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
+        }
+        ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
+        ar.requestedNumbers = StrUtil.listInt(resourceRequest.rangeRequestedNumbers,
+                "Invalid value for requested-numbers");
+        if (ar.requestedNumbers != null) {
+            ar.requestedCount = ar.requestedNumbers.size();
+        }
+        ar.excludeNumbers = StrUtil.listInt(resourceRequest.rangeExcludeNumbers, "Invalid value for exclude-numbers");
+        ar.reverseOrder = resourceRequest.rangeReverseOrder;
+        ar.missingResourceAction = AllocationAction.Succeed_Allocate;
+        ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
+        ar.replace = resourceRequest.replace;
+        ar.check = true;
+        ar.allocate = !checkOnly;
+        ar.rangeList = rangeRule.rangeList;
+        if (ar.rangeList == null || ar.rangeList.isEmpty()) {
+            if (resourceRequest.rangeMinOverride >= 0 && resourceRequest.rangeMaxOverride >= resourceRequest.rangeMinOverride) {
+                ar.rangeList = new ArrayList<>();
+                Range range = new Range();
+                range.min = resourceRequest.rangeMinOverride;
+                range.max = resourceRequest.rangeMaxOverride;
+                ar.rangeList.add(range);
+            }
+        } else {
+            if (resourceRequest.rangeMinOverride >= 0) {
+                ar.rangeList.get(0).min = resourceRequest.rangeMinOverride;
+            }
+            if (resourceRequest.rangeMaxOverride >= 0) {
+                ar.rangeList.get(ar.rangeList.size() - 1).max = resourceRequest.rangeMaxOverride;
+            }
+        }
+        return ar;
+    }
+
+    public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
+        this.resourceRuleDao = resourceRuleDao;
+    }
+
+    public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
+        this.rangeRuleDao = rangeRuleDao;
+    }
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
index e904035b1..952ceb6bd 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
@@ -46,9 +46,8 @@ import org.slf4j.LoggerFactory;
 
 public class EndPointAllocatorImpl implements EndPointAllocator {
 
-    @SuppressWarnings("unused")
     private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
-
+    
     private ResourceManager resourceManager;
 
     private Map<String, List<AllocationRule>> allocationRuleMap;
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
index 825261efd..caac1c969 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
@@ -21,10 +21,10 @@
 
 package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
 
-import java.sql.ResultSet;
-import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
+import org.onap.ccsdk.sli.adaptors.rm.data.Range;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -42,20 +42,42 @@ public class RangeRuleDaoImpl implements RangeRuleDao {
     @Override
     public List<RangeRule> getRangeRules(String serviceModel, String equipLevel) {
         List<RangeRule> rangeRuleList =
-                jdbcTemplate.query(GET_SQL, new Object[] {serviceModel, equipLevel}, new RowMapper<RangeRule>() {
+                jdbcTemplate.query(GET_SQL, new Object[] {serviceModel, equipLevel}, (RowMapper<RangeRule>) (rs, rowNum) -> {
+                    RangeRule rl = new RangeRule();
+                    rl.id = rs.getLong("range_rule_id");
+                    rl.rangeName = rs.getString("range_name");
+                    rl.serviceModel = rs.getString("service_model");
+                    rl.endPointPosition = rs.getString("end_point_position");
+                    rl.equipmentLevel = rs.getString("equipment_level");
+                    rl.equipmentExpression = rs.getString("equipment_expression");
 
-                    @Override
-                    public RangeRule mapRow(ResultSet rs, int rowNum) throws SQLException {
-                        RangeRule rl = new RangeRule();
-                        rl.id = rs.getLong("range_rule_id");
-                        rl.rangeName = rs.getString("range_name");
-                        rl.serviceModel = rs.getString("service_model");
-                        rl.endPointPosition = rs.getString("end_point_position");
-                        rl.equipmentLevel = rs.getString("equipment_level");
-                        rl.minValue = rs.getInt("min_value");
-                        rl.maxValue = rs.getInt("max_value");
-                        return rl;
+                    String rangesStr = rs.getString("ranges");
+                    String[] ranges = rangesStr.split(",");
+                    rl.rangeList = new ArrayList<>();
+                    for (String rangeStr : ranges) {
+                        Range range = new Range();
+                        String[] nn = rangeStr.split("-");
+                        if (nn.length >= 1) {
+                            try {
+                                range.min = range.max = Integer.parseInt(nn[0]);
+                            } catch (NumberFormatException e) {
+                                log.warn("Invalid value found in DB for range: " + rangeStr, e);
+                            }
+                        }
+                        if (nn.length >= 2) {
+                            try {
+                                range.max = Integer.parseInt(nn[1]);
+                            } catch (NumberFormatException e) {
+                                log.warn("Invalid value found in DB for range: " + rangeStr, e);
+                            }
+                        }
+                        if (nn.length > 2) {
+                            log.warn("Invalid value found in DB for range: " + rangeStr);
+                        }
+                        rl.rangeList.add(range);
                     }
+
+                    return rl;
                 });
         return rangeRuleList;
     }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
index 383c28308..c1ccd8196 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
@@ -21,6 +21,9 @@
 
 package org.onap.ccsdk.sli.adaptors.ra.rule.data;
 
+import java.util.List;
+import org.onap.ccsdk.sli.adaptors.rm.data.Range;
+
 public class RangeRule {
 
     public long id;
@@ -28,6 +31,6 @@ public class RangeRule {
     public String serviceModel;
     public String endPointPosition;
     public String equipmentLevel;
-    public int minValue;
-    public int maxValue;
+    public String equipmentExpression;
+    public List<Range> rangeList;
 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
index 3544075fe..9cae5fee5 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
@@ -46,6 +46,7 @@ import org.onap.ccsdk.sli.adaptors.rm.data.MultiAssetAllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.MultiAssetAllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
+import org.onap.ccsdk.sli.adaptors.rm.data.Range;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationOutcome;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
@@ -283,24 +284,40 @@ class AllocationFunction extends SynchronizedFunction {
                         // alignBlockSize and alignModulus are ignored. It would be harder
                         // to take them into account, and currently it is not needed.
 
-                        int uumin = uu.first() - 1;
-                        int uumax = uu.last() + 1;
-                        foundNumbers.addAll(uu);
-                        foundCount = uu.size();
-                        for (int n = uumin; foundCount < req.requestedCount && n >= req.checkMin; n--) {
-                            if (RangeUtil.checkRange(rr, req, n)) {
-                                foundNumbers.add(n);
-                                foundCount++;
-                            } else if (req.sequential) {
-                                break;
+                        // Request may contain multiple ranges. We will find the range from the request
+                        // that contains the currently used numbers (the first one). We will only look
+                        // for additional numbers in that range.
+
+                        Range range = null;
+                        if (req.rangeList != null) {
+                            for (Range range1 : req.rangeList) {
+                                if (uu.first() >= range1.min && uu.first() <= range1.max) {
+                                    range = range1;
+                                    break;
+                                }
                             }
                         }
-                        for (int n = uumax; foundCount < req.requestedCount && n <= req.checkMax; n++) {
-                            if (RangeUtil.checkRange(rr, req, n)) {
-                                foundNumbers.add(n);
-                                foundCount++;
-                            } else if (req.sequential) {
-                                break;
+
+                        if (range != null) {
+                            int uumin = uu.first() - 1;
+                            int uumax = uu.last() + 1;
+                            foundNumbers.addAll(uu);
+                            foundCount = uu.size();
+                            for (int n = uumin; foundCount < req.requestedCount && n >= range.min; n--) {
+                                if (RangeUtil.checkRange(rr, req, n)) {
+                                    foundNumbers.add(n);
+                                    foundCount++;
+                                } else if (req.sequential) {
+                                    break;
+                                }
+                            }
+                            for (int n = uumax; foundCount < req.requestedCount && n <= range.max; n++) {
+                                if (RangeUtil.checkRange(rr, req, n)) {
+                                    foundNumbers.add(n);
+                                    foundCount++;
+                                } else if (req.sequential) {
+                                    break;
+                                }
                             }
                         }
 
@@ -314,22 +331,29 @@ class AllocationFunction extends SynchronizedFunction {
                     }
                 }
 
-                if (req.reverseOrder) {
-                    for (int n = req.checkMax; foundCount < req.requestedCount && n >= req.checkMin; n--) {
-                        if (RangeUtil.checkRange(rr, req, n)) {
-                            foundNumbers.add(n);
-                            foundCount++;
-                        } else if (req.sequential) {
-                            foundCount = 0;
+                if (req.rangeList != null) {
+                    if (req.reverseOrder) {
+                        for (int i = req.rangeList.size() - 1; i >= 0; i--) {
+                            Range range = req.rangeList.get(i);
+                            for (int n = range.max; foundCount < req.requestedCount && n >= range.min; n--) {
+                                if (RangeUtil.checkRange(rr, req, n)) {
+                                    foundNumbers.add(n);
+                                    foundCount++;
+                                } else if (req.sequential) {
+                                    foundCount = 0;
+                                }
+                            }
                         }
-                    }
-                } else {
-                    for (int n = req.checkMin; foundCount < req.requestedCount && n <= req.checkMax; n++) {
-                        if (RangeUtil.checkRange(rr, req, n)) {
-                            foundNumbers.add(n);
-                            foundCount++;
-                        } else if (req.sequential) {
-                            foundCount = 0;
+                    } else {
+                        for (Range range : req.rangeList) {
+                            for (int n = range.min; foundCount < req.requestedCount && n <= range.max; n++) {
+                                if (RangeUtil.checkRange(rr, req, n)) {
+                                    foundNumbers.add(n);
+                                    foundCount++;
+                                } else if (req.sequential) {
+                                    foundCount = 0;
+                                }
+                            }
                         }
                     }
                 }
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java
new file mode 100644
index 000000000..16be77f5b
--- /dev/null
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java
@@ -0,0 +1,28 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.ccsdk.sli.adaptors.rm.data;
+
+public class Range {
+
+    public int min = 0;
+    public int max = 0;
+}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
index 9581244b3..d87469fd4 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
@@ -21,12 +21,12 @@
 
 package org.onap.ccsdk.sli.adaptors.rm.data;
 
+import java.util.List;
 import java.util.SortedSet;
 
 public class RangeAllocationRequest extends AllocationRequest {
 
-    public int checkMin = 0;
-    public int checkMax = 0;
+    public List<Range> rangeList = null;
     public boolean check = false;
     public boolean allocate = false;
     public boolean replace = false;
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
index 04f6e8c56..4685233df 100644
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
+++ b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
@@ -27,6 +27,7 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
+import org.onap.ccsdk.sli.adaptors.rm.data.Range;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
 import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
@@ -48,27 +49,43 @@ public class RangeUtil {
     }
 
     public static boolean checkRange(RangeResource r, RangeAllocationRequest req, int num) {
-        if (num < req.checkMin || num > req.checkMax) {
-            return false;
-        }
-
         if (req.excludeNumbers != null && req.excludeNumbers.contains(num)) {
             return false;
         }
 
-        if (r.allocationItems != null) {
-            for (AllocationItem ai : r.allocationItems) {
-                RangeAllocationItem rai = (RangeAllocationItem) ai;
-                if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null && rai.used.contains(num)) {
-                    if (!overlap(rai.resourceShareGroupList, req.resourceShareGroupList)) {
-                        return false;
+        if (req.rangeList != null && !req.rangeList.isEmpty()) {
+            boolean good = false;
+            for (Range range : req.rangeList) {
+                if (num < range.min || num > range.min) {
+                    continue;
+                }
+
+                boolean found = false;
+                if (r.allocationItems != null) {
+                    for (AllocationItem ai : r.allocationItems) {
+                        RangeAllocationItem rai = (RangeAllocationItem) ai;
+                        if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null
+                                && rai.used.contains(num)) {
+                            if (!overlap(rai.resourceShareGroupList, req.resourceShareGroupList)) {
+                                found = true;
+                                break;
+                            }
+                        }
+                        if (!req.replace && eq(req.resourceSetId, rai.resourceSetId) && rai.used != null
+                                && rai.used.contains(num)) {
+                            found = true;
+                            break;
+                        }
                     }
                 }
-                if (!req.replace && eq(req.resourceSetId, rai.resourceSetId) && rai.used != null
-                        && rai.used.contains(num)) {
-                    return false;
+                
+                if (!found) {
+                    good = true;
+                    break;
                 }
             }
+            
+            return good;
         }
 
         return true;
diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
index 681a9c458..236a16d18 100644
--- a/resource-assignment/provider/src/test/resources/sql/data.sql
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -80,19 +80,19 @@ values (
     'The provisioned access bandwidth is at or exceeds 70% of the total server capacity.');
 
 INSERT INTO RANGE_RULE (
-  range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+  range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-  'subinterface-id', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 100, 3999);
+  'subinterface-id', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 'true', '100-3999');
 
 INSERT INTO RANGE_RULE (
-  range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+  range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-  'vlan-id-inner', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 2, 4091);
+  'vlan-id-inner', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 'true', '2-4091');
 
 INSERT INTO RANGE_RULE (
-  range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+  range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-  'bundle-id', 'L3AVPN-PORT', 'VPE-Cust', 'Port', 1, 99999);
+  'bundle-id', 'L3AVPN-PORT', 'VPE-Cust', 'Port', 'true', '1-99999');
 
 INSERT INTO MAX_PORT_SPEED (
      image_file_name, end_point_position, interface_name, max_speed, unit)
@@ -148,39 +148,33 @@ VALUES (
     '1', '200', '200');	
     
 INSERT INTO RANGE_RULE (
-     range_name, service_model, end_point_position, equipment_level, min_value,
-    max_value)
+     range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-     'cust-vlan-id', 'ADIG', 'VPE', 'VNF', '2', '1000');
+     'cust-vlan-id', 'ADIG', 'VPE', 'VNF', 'true', '2-1000');
 	
 INSERT INTO RANGE_RULE (
-     range_name, service_model, end_point_position, equipment_level, min_value,
-    max_value)
+     range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-     'vlan-id-inner', 'ADIG', 'VPE', 'VNF', '1002', '2000');	    
+     'vlan-id-inner', 'ADIG', 'VPE', 'VNF', 'true', '1002-2000');	    
 
      
 INSERT INTO RANGE_RULE (
-     range_name, service_model, end_point_position, equipment_level, min_value,
-    max_value)
+     range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-     'vlan-id-outer', 'MY-SERV-MODEL', 'VPE-Cust', 'Site', '2', '1000');
+     'vlan-id-outer', 'MY-SERV-MODEL', 'VPE-Cust', 'Site', 'true', '2-1000');
 	
 INSERT INTO RANGE_RULE (
-     range_name, service_model, end_point_position, equipment_level, min_value,
-    max_value)
+     range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core1', 'Site', '1002', '2000');	 
+     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core1', 'Site', 'true', '1002-2000');	 
      
 INSERT INTO RANGE_RULE (
-     range_name, service_model, end_point_position, equipment_level, min_value,
-    max_value)
+     range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core2', 'Site', '1002', '2000');
+     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core2', 'Site', 'true', '1002-2000,2200-4000');
      
 INSERT INTO RANGE_RULE (
-     range_name, service_model, end_point_position, equipment_level, min_value,
-    max_value)
+     range_name, service_model, end_point_position, equipment_level, equipment_expression, ranges)
 VALUES (
-     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core3', 'Site', '400', '600');     
+     'vlan-id-filter', 'MY-SERV-MODEL', 'VPE-Core3', 'Site', 'true', '400-600');     
      
\ No newline at end of file
diff --git a/resource-assignment/provider/src/test/resources/sql/schema.sql b/resource-assignment/provider/src/test/resources/sql/schema.sql
index 40761de42..ed123ddd6 100644
--- a/resource-assignment/provider/src/test/resources/sql/schema.sql
+++ b/resource-assignment/provider/src/test/resources/sql/schema.sql
@@ -96,8 +96,8 @@ CREATE TABLE RANGE_RULE (
   service_model VARCHAR(50) NOT NULL,
   end_point_position VARCHAR(50) NOT NULL,
   equipment_level VARCHAR(50) NOT NULL,
-  min_value INT NOT NULL,
-  max_value INT NOT NULL
+  equipment_expression VARCHAR(2000) NOT NULL,
+  ranges VARCHAR(100) NOT NULL
 );
 
 CREATE TABLE MAX_PORT_SPEED (
-- 
cgit 1.2.3-korg

