Convert tabs to spaces 81/6581/2
authorMarcus G K Williams <marcus.williams@intel.com>
Wed, 2 Aug 2017 22:09:24 +0000 (15:09 -0700)
committerMarcus G K Williams <marcus.williams@intel.com>
Wed, 2 Aug 2017 23:08:09 +0000 (16:08 -0700)
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>
168 files changed:
aai-service/features/pom.xml
aai-service/features/src/main/resources/features.xml
aai-service/installer/pom.xml
aai-service/installer/src/assembly/assemble_installer_zip.xml
aai-service/installer/src/assembly/assemble_mvnrepo_zip.xml
aai-service/installer/src/main/resources/scripts/install-feature.sh
mdsal-resource/features/pom.xml
mdsal-resource/features/src/main/resources/features.xml
mdsal-resource/installer/pom.xml
mdsal-resource/installer/src/assembly/assemble_installer_zip.xml
mdsal-resource/installer/src/assembly/assemble_mvnrepo_zip.xml
mdsal-resource/installer/src/main/resources/scripts/install-feature.sh
mdsal-resource/pom.xml
mdsal-resource/provider/pom.xml
mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/ConfigResource.java
mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/MdsalResourceActivator.java
mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/OperationalResource.java
mdsal-resource/provider/src/main/java/org/openecomp/sdnc/sli/resource/mdsal/RestService.java
mdsal-resource/provider/src/main/resources/crtables.sql
mdsal-resource/provider/src/main/resources/svclogic.properties
pom.xml
resource-assignment/features/pom.xml
resource-assignment/features/src/main/resources/features.xml
resource-assignment/installer/pom.xml
resource-assignment/installer/src/assembly/assemble_installer_zip.xml
resource-assignment/installer/src/assembly/assemble_mvnrepo_zip.xml
resource-assignment/installer/src/main/resources/scripts/install-feature.sh
resource-assignment/pom.xml
resource-assignment/provider/pom.xml
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelper.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/LockHelperImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/ResourceLockedException.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/comp/SynchronizedFunction.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/dao/ResourceLockDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/lock/data/ResourceLock.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReleaseRequestType.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ReserveRequestType.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/ResourceAllocator.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/AffinityAllocationRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/DbAllocationRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/ServingSiteAllocationRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/alloc/VrfAllocationRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/AnyVrfPresentCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ExcludeVpeCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/HubWithRgCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/OneMVrfCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/ProvStatusCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VlanSpeedCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/check/VpeLockCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/AllocationRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocationDefinition.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocator.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointAllocatorImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EndPointData.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/EquipmentCheck.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/PreferenceRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/comp/ServiceData.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/comp/EquipmentReader.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/ServerDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VpePortDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/dao/VplspePortDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentData.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/equip/data/EquipmentLevel.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/AffinityLinkPref.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/pref/EvcExistingVrfPref.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/AicSiteReader.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/UplinkCircuitReader.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VnfReader.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/reader/VpePortReader.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilder.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/comp/AllocationRequestBuilderImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxPortSpeedDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/MaxServerSpeedDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ParameterDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/RangeRuleDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/ResourceRuleDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/dao/VpeLockDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/RangeRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceRule.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ResourceThreshold.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/rule/data/ThresholdStatus.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/dao/ServiceResourceDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceResource.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/ra/service/data/ServiceStatus.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/AllocationFunction.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ReleaseFunction.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceLoader.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManager.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/comp/ResourceManagerImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/ResourceDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItem.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/Resource.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceJdbcDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoad.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDao.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationAction.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationItem.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationOutcome.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationRequest.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/AllocationStatus.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/InitAction.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationItem.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationOutcome.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelAllocationRequest.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LabelResource.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationItem.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationOutcome.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitAllocationRequest.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/LimitResource.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationOutcome.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiAssetAllocationRequest.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationOutcome.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/MultiResourceAllocationRequest.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationItem.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationOutcome.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeAllocationRequest.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/RangeResource.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/Resource.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceKey.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceLoad.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/data/ResourceType.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LabelUtil.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/LimitUtil.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/RangeUtil.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/rm/util/ResourceUtil.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/CachedDataSourceWrap.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/ConnectionWrap.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/db/DataSourceWrap.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/expr/ExpressionEvaluator.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/speed/SpeedUtil.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/str/StrUtil.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VpnParam.java
resource-assignment/provider/src/main/java/org/openecomp/sdnc/util/vrf/VrfUtil.java
resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-context.xml
resource-assignment/provider/src/main/resources/META-INF/spring/resource-assignment-osgi-context.xml
resource-assignment/provider/src/main/resources/sql/001_resource_rule_ddl.sql
resource-assignment/provider/src/main/resources/sql/002_max_port_speed_ddl.sql
resource-assignment/provider/src/main/resources/sql/003_max_server_speed_ddl.sql
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/DataSetup.java
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestIsAvailable.java
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestQuery.java
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestRelease.java
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve.java
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/ra/TestReserve2.java
resource-assignment/provider/src/test/java/jtest/org/openecomp/sdnc/rm/DataSetup.java
resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestDb.java
resource-assignment/provider/src/test/java/jtest/util/org/openecomp/sdnc/ra/TestTable.java
resource-assignment/provider/src/test/resources/homing-req.json
resource-assignment/provider/src/test/resources/log4j.properties
resource-assignment/provider/src/test/resources/sql/data.sql
resource-assignment/provider/src/test/resources/sql/schema.sql
resource-assignment/provider/src/test/resources/test-context.xml

index 2071136..9259d6c 100755 (executable)
 <?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>
index 2f3ac73..23ab997 100644 (file)
@@ -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.
         <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>
index 6668eca..91db2ca 100755 (executable)
 <?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>
index e278872..5f32ff4 100644 (file)
@@ -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.
 <!-- 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>
 
 
 
index 1edacdb..6b7d23f 100644 (file)
@@ -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.
 <!-- 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>
 
 
 
index 9a47d22..214dbbe 100644 (file)
@@ -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}
index fbad6e2..140810f 100755 (executable)
 <?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>
index 5f4a954..6ed0b1e 100644 (file)
@@ -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.
index 0e52c13..d636f8d 100755 (executable)
 <?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>
index e278872..5f32ff4 100644 (file)
@@ -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.
 <!-- 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>
 
 
 
index 1edacdb..6b7d23f 100644 (file)
@@ -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.
 <!-- 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>
 
 
 
index 9a47d22..214dbbe 100644 (file)
@@ -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}
index 4501edd..a6f68b4 100755 (executable)
@@ -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>
 
index 0092f69..92dada6 100755 (executable)
 <?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>
index ed0ed06..4a89ad8 100644 (file)
@@ -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);
+    }
 
 
 
index ea0bab2..9be03e9 100644 (file)
@@ -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();
+        }
+    }
 
 }
index 32323e3..9374d2a 100644 (file)
@@ -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);
+    }
 
 
 }
index 21d3439..a7b77e5 100644 (file)
@@ -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"));
+    }
 }
index a5dea5b..f8f5716 100644 (file)
@@ -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.
index 1a2cf0c..e113161 100644 (file)
@@ -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 a50a214..e387445 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
 <?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>
index 9e718e7..338f7a1 100755 (executable)
 <?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>
index 01c5578..2834914 100644 (file)
@@ -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.
index 900f044..19359dc 100755 (executable)
 <?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>
index e278872..40e2f26 100644 (file)
@@ -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.
 <!-- 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>
 
 
 
index 1edacdb..7304fe5 100644 (file)
@@ -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.
 <!-- 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>
 
 
 
index 9a47d22..9b68771 100644 (file)
@@ -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}
index e0e140f..5e44d5f 100755 (executable)
@@ -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>
index f6d7fed..4d80152 100755 (executable)
 <?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>
index acdce65..5e179dc 100644 (file)
@@ -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);
 }
index 306fc16..62b88c6 100644 (file)
@@ -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;
+    }
 }
index 8e3142c..eb3f334 100644 (file)
@@ -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 +
+                "].";
+    }
 }
index a76fca1..c3e35b7 100644 (file)
@@ -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);
+    }
 }
index 014765d..5ccde82 100644 (file)
@@ -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);
 }
index f4819b8..9a61976 100644 (file)
@@ -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;
+    }
 }
index 561fd82..4e27fd9 100644 (file)
@@ -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;
 }
index 52104ec..0e37545 100644 (file)
@@ -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.
 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.");
+    }
 }
index d996433..b0d0a50 100644 (file)
@@ -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.
 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.");
+    }
 }
index ae281cf..e6a2c80 100644 (file)
@@ -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;
+    }
 }
index b77df92..7245216 100644 (file)
@@ -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;
+    }
 }
index a066378..8478839 100644 (file)
@@ -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;
+    }
 }
index cb36a8b..cf1dd8f 100644 (file)
@@ -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;
+    }
 }
index f23f1e9..cc4adfb 100644 (file)
@@ -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;
+    }
 }
index aee761c..fd9ca1e 100644 (file)
@@ -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;
+    }
 }
index 25571fb..7ceac90 100644 (file)
@@ -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;
+    }
 }
index 6c2b4c5..79428de 100644 (file)
@@ -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;
+    }
 }
index 56fd535..82e7e01 100644 (file)
@@ -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;
+    }
 }
index baed60e..1ec079f 100644 (file)
@@ -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;
+    }
 }
index 4644a14..57b8f03 100644 (file)
@@ -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;
+    }
 }
index 3b350b4..fe7bd30 100644 (file)
@@ -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;
+    }
 }
index 0877933..260d9d0 100644 (file)
@@ -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);
 }
index 21e49c3..5a5623c 100644 (file)
@@ -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;
+    }
 }
index 645c953..e817d58 100644 (file)
@@ -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);
 }
index 1af8143..3d11f8e 100644 (file)
@@ -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;
+    }
 }
index e425e37..eb030f3 100644 (file)
@@ -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;
 }
index fcca4f7..ab65b31 100644 (file)
@@ -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);
 }
index acaf10d..d128763 100644 (file)
@@ -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);
 }
index 0d29e54..685f098 100644 (file)
@@ -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;
 }
index a380594..8e3247d 100644 (file)
@@ -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);
 }
index 4487387..b90a085 100644 (file)
@@ -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);
 }
index e1bc2a5..b0c62e5 100644 (file)
@@ -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;
+    }
 }
index 4a0f6b8..052bf9e 100644 (file)
@@ -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);
 }
index d25fe9c..d81e391 100644 (file)
@@ -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;
+    }
 }
index 879a233..dc32280 100644 (file)
@@ -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);
 }
index bad6464..1f3aa8e 100644 (file)
@@ -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;
+    }
 }
index d485224..ae2a4e7 100644 (file)
@@ -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;
 }
index 44ae593..fbf13fb 100644 (file)
@@ -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
 }
index 09af208..cb3f78e 100644 (file)
@@ -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;
+    }
 }
index abef0a2..93c041e 100644 (file)
@@ -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;
+    }
 }
index 4040b0b..1bf2ead 100644 (file)
@@ -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;
+    }
 }
index 0adf6d1..ad65c37 100644 (file)
@@ -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;
+    }
 }
index 7039370..ac53afe 100644 (file)
@@ -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;
+    }
 }
index 360f780..ba497c0 100644 (file)
@@ -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;
+    }
 }
index 44e4c53..c2d6141 100644 (file)
@@ -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);
 }
index dbc0d8b..37f9cb8 100644 (file)
@@ -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;
+    }
 }
index a56b788..af6eca7 100644 (file)
@@ -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);
 }
index ea0bd77..b0cc7d2 100644 (file)
@@ -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;
+    }
 }
index 4bd17f1..dd6ae9c 100644 (file)
@@ -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);
 }
index c342817..c0be2e6 100644 (file)
@@ -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;
+    }
 }
index 509a034..2042ba9 100644 (file)
@@ -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);
 }
index 2cafb28..c2ca99c 100644 (file)
@@ -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;
+    }
 }
index 798a230..670039f 100644 (file)
@@ -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);
 }
index dec05ec..0880929 100644 (file)
@@ -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;
+    }
 }
index 31ce9e6..55b24b6 100644 (file)
@@ -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);
 }
index 819a01c..72793a4 100644 (file)
@@ -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;
+    }
 }
index eb41792..6734fb5 100644 (file)
@@ -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);
 }
index eb6cef3..d712b8d 100644 (file)
@@ -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;
+    }
 }
index ed76f6b..e657e8b 100644 (file)
@@ -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;
 }
index c4d55f9..ca8ab54 100644 (file)
@@ -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;
 }
index 7be4067..b733a35 100644 (file)
@@ -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;
 }
index 5f772ef..d9ea217 100644 (file)
@@ -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;
 }
index 811118c..c057d91 100644 (file)
@@ -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);
 }
index 6432e80..2b5cc0a 100644 (file)
@@ -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;
+    }
 }
index 65d4488..e17145e 100644 (file)
@@ -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;
 }
index 32f473d..862c3e4 100644 (file)
@@ -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
 }
index 3a93409..00cfb1f 100644 (file)
@@ -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;
+    }
 }
index f546954..c8dab08 100644 (file)
@@ -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);
+            }
+        }
+    }
 }
index aea0b0a..d5bb9e4 100644 (file)
@@ -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);
 }
index 7a3ce03..737deb1 100644 (file)
@@ -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);
 }
index b9d5a09..e70e06c 100644 (file)
@@ -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;
+    }
 }
index f499801..a116ef5 100644 (file)
@@ -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);
 }
index eb5f398..7087c18 100644 (file)
@@ -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;
 }
index 30f9d26..fe6199e 100644 (file)
@@ -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);
 }
index 1d88261..2710f35 100644 (file)
@@ -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;
+    }
 }
index ca66964..4bbe2eb 100644 (file)
@@ -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;
 }
index 32c8f4d..cbae3d2 100644 (file)
@@ -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;
+    }
 }
index 645c377..5ed07b2 100644 (file)
@@ -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);
 }
index 5e529f7..0859281 100644 (file)
@@ -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;
+    }
 }
index 5c810b1..5b56692 100644 (file)
@@ -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;
 }
index 9a337a8..ad38372 100644 (file)
@@ -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);
 
 }
index 854b669..aa44afa 100644 (file)
@@ -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;
+    }
 }
index c791d42..4eab7d9 100644 (file)
@@ -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
 }
index f4cabf9..4a7ee6a 100644 (file)
@@ -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;
 }
index 20ecf05..7283e11 100644 (file)
@@ -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;
 }
index d54475f..d429116 100644 (file)
@@ -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;
 }
index a18077a..aa8d1df 100644 (file)
@@ -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
 }
index 8b9dfaa..d0075bd 100644 (file)
@@ -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.
 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;
+    }
 }
index e456542..97ee3ba 100644 (file)
@@ -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;
 }
index d0cb2c5..c1763ff 100644 (file)
@@ -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;
 }
index 2b6ce03..8e509f6 100644 (file)
@@ -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;
 }
index 54bfb85..d827019 100644 (file)
@@ -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;
 }
index 270220a..181172f 100644 (file)
@@ -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;
 }
index f1c13c0..ffc1194 100644 (file)
@@ -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;
 }
index 787715b..31c0d11 100644 (file)
@@ -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;
 }
index cad0ba2..ad706ee 100644 (file)
@@ -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;
 }
index bf9bbbf..dcbac36 100644 (file)
@@ -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;
 }
index da1a96d..d4dd65e 100644 (file)
@@ -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;
 }
index 9deca6c..355d508 100644 (file)
@@ -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;
 }
index 9e48a31..4de9868 100644 (file)
@@ -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;
 }
index 229c8e4..4260b4d 100644 (file)
@@ -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;
 }
index 8b35d9f..ad14f51 100644 (file)
@@ -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;
 }
index 0732613..9315535 100644 (file)
@@ -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;
 }
index 99a2b20..4bec304 100644 (file)
@@ -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;
 }
index b04f710..c462bde 100644 (file)
@@ -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;
 }
index b303b07..765c925 100644 (file)
@@ -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 + ")";
+    }
 }
index 06970cb..f1e96a8 100644 (file)
@@ -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;
 }
index 1d8b9c4..d97cb7d 100644 (file)
@@ -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
 }
index bbaa3a3..d15a149 100644 (file)
@@ -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);
+    }
 }
index 4579956..76c3ef7 100644 (file)
@@ -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);
+    }
 }
index af82831..27d0e55 100644 (file)
@@ -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);
+    }
 }
index 7afe7b5..0253204 100644 (file)
@@ -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);
+    }
 }
index 8918ce0..12ba158 100644 (file)
@@ -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;
+    }
 }
index 1927fdb..1156049 100644 (file)
@@ -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();
+    }
 }
index d729e12..b01b31f 100644 (file)
@@ -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;
+    }
 }
index ff15d77..345a626 100644 (file)
@@ -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.");
+        }
+    }
 }
index 8a0b006..f382a63 100644 (file)
@@ -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;
+    }
 }
index 02857e1..f7fa81d 100644 (file)
@@ -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;
+    }
 }
index a9d6950..a28b0af 100644 (file)
@@ -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;
 }
index d5a691b..2b90027 100644 (file)
@@ -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;
+    }
 }
index b123944..9bd3fe1 100644 (file)
@@ -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.
   -->
 
 <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>
index bec30ce..195e9a6 100644 (file)
@@ -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.
   -->
 
 <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>
index ea60c62..d39e248 100644 (file)
@@ -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.
 ---
 
 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
 );
index 2aa66ac..d752eb3 100644 (file)
@@ -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.
 ---
 
 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
 );
index 671117e..b33c32a 100644 (file)
@@ -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
 );
index f74eeee..46ac760 100644 (file)
@@ -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;
+    }
 }
index 7d57eba..2c25c3e 100644 (file)
@@ -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");
+    }
 }
index e69003a..0d287f2 100644 (file)
@@ -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");
+    }
 }
index f2ee50f..45bd047 100644 (file)
@@ -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");
+    }
 }
index 08c6735..1dff358 100644 (file)
@@ -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));
+    }
 }
index a92cbc5..1442f3c 100644 (file)
@@ -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));
+    }
 }
index 55824b0..4ff5bec 100644 (file)
@@ -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;
+    }
 }
index ec7c2ab..ba890c7 100644 (file)
@@ -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;
+    }
 }
index 64288d9..a57ab4f 100644 (file)
@@ -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);
+    }
 }
index 48ec701..1f061ec 100644 (file)
@@ -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.
  */
 
 {
-       "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"
+        }
+    }
 }
index 6d6e30f..b36b767 100644 (file)
@@ -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.
index 2214bce..f840a23 100644 (file)
@@ -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.');
 
index e650337..03b5bfa 100644 (file)
@@ -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.
 ---
 
 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)
 );
index 89aea43..1d21fa4 100644 (file)
@@ -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.
   -->
 
 <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>