summaryrefslogtreecommitdiffstats
path: root/resource-assignment/provider/src/main/java/org
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@linuxfoundation.org>2020-12-01 11:26:31 -0800
committerJessica Wagantall <jwagantall@linuxfoundation.org>2020-12-01 11:27:11 -0800
commit11510b43c277b8e1dd7e58d79785544810118c8e (patch)
treeb88a497c999d24b5f357ea9b26bc93e0990fd5e7 /resource-assignment/provider/src/main/java/org
parent5d2eab72fc4442f14108b41800cec88126913823 (diff)
Migrate sli-adaptor files
Migrate sli-adaptor repo files into a new "adaptors" directory. Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Diffstat (limited to 'resource-assignment/provider/src/main/java/org')
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java39
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java206
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java43
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java58
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java42
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java103
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java34
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java583
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceLockNode.java101
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java256
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationData.java11
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java30
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java39
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java368
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java37
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java32
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java54
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java13
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java31
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java30
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java87
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java32
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java110
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java36
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java39
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java28
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java32
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java433
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java149
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java39
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java44
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java148
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java46
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java37
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java37
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java146
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java34
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java462
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java45
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java183
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java33
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java36
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java112
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java26
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java36
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java28
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java37
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java27
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java36
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java27
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java28
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java29
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java30
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java27
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java29
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java31
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java27
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java30
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java32
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java29
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java30
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java28
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java29
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java30
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java40
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java29
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ReleaseRequest.java46
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java32
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java50
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java32
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java26
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java99
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java355
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java160
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java57
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java156
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java338
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java98
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java271
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java57
-rw-r--r--resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java306
81 files changed, 0 insertions, 7236 deletions
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java
deleted file mode 100644
index 040d19273..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.comp;
-
-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 */, int lockWait /* Seconds */, int retryCount);
-
- 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 */, int lockWait /* Seconds */, int retryCount);
-
- void unlock(Collection<String> resourceNameList, boolean force);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
deleted file mode 100644
index 735d240c0..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/LockHelperImpl.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.comp;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.lock.dao.ResourceLockDao;
-import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class LockHelperImpl implements LockHelper {
-
- private static final Logger log = LoggerFactory.getLogger(LockHelperImpl.class);
-
- private ResourceLockDao resourceLockDao;
- private int retryCount = 10;
- private int lockWait = 5; // Seconds
-
- @Override
- public void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */) {
- lock(resourceName, lockRequester, lockTimeout, lockWait, retryCount);
- }
-
- @Override
- public void lock(String resourceName, String lockRequester, int lockTimeout /* Seconds */,
- int lockWait /* Seconds */, int retryCount) {
- lock(Collections.singleton(resourceName), lockRequester, lockTimeout, lockWait, retryCount);
- }
-
- @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 */) {
- lock(resourceNameList, lockRequester, lockTimeout, lockWait, retryCount);
- }
-
- @Override
- public void lock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */,
- int lockWait /* Seconds */, int retryCount) {
- for (int i = 0; true; i++) {
- try {
- tryLock(resourceNameList, lockRequester, lockTimeout);
- log.info("Resources locked: " + resourceNameList);
- return;
- } catch (ResourceLockedException e) {
- if (i >= retryCount) {
- throw e;
- }
- try {
- Thread.sleep(lockWait * 1000);
- } catch (InterruptedException ex) {
- log.error("Interrupted Exception", ex);
- }
- }
- }
- }
-
- @Override
- public void unlock(Collection<String> lockNames, boolean force) {
- if (lockNames == null || lockNames.isEmpty()) {
- return;
- }
-
- 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);
- }
- }
- }
-
- resourceLockDao.commit();
-
- log.info("Resources unlocked: " + lockNames);
- } finally {
- resourceLockDao.rollback();
- }
- }
-
- public void tryLock(Collection<String> resourceNameList, String lockRequester, int lockTimeout /* Seconds */) {
- if (resourceNameList == null || resourceNameList.isEmpty()) {
- return;
- }
-
- lockRequester = generateLockRequester(lockRequester, 100);
-
- // First check if all requested records are available to lock
-
- Date now = new Date();
-
- try {
- List<ResourceLock> dbLockList = new ArrayList<>();
- List<String> insertLockNameList = new ArrayList<>();
- for (String name : resourceNameList) {
- ResourceLock l = resourceLockDao.getByResourceName(name);
-
- boolean canLock = l == null || now.getTime() > l.expirationTime.getTime() ||
- lockRequester != null && lockRequester.equals(l.lockHolder) || l.lockCount <= 0;
- if (!canLock) {
- throw new ResourceLockedException(l.resourceName, l.lockHolder, lockRequester);
- }
-
- if (l != null) {
- if (now.getTime() > l.expirationTime.getTime() || l.lockCount <= 0) {
- l.lockCount = 0;
- }
- dbLockList.add(l);
- } else {
- insertLockNameList.add(name);
- }
- }
-
- // Update the lock info in DB
- for (ResourceLock l : dbLockList) {
- resourceLockDao.update(l.id, lockRequester, 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;
-
- try {
- resourceLockDao.add(l);
- } catch (Exception e) {
- log.info("Failed to insert lock record: " + lockName);
- throw new ResourceLockedException(l.resourceName, "unknown", lockRequester);
- }
- }
-
- resourceLockDao.commit();
-
- }finally
-
- {
- resourceLockDao.rollback();
- }
- }
-
- private static String generateLockRequester(String name, int maxLength) {
- if (name == null) {
- name = "";
- }
- int l1 = name.length();
- String tname = Thread.currentThread().getName();
- int l2 = tname.length();
- if (l1 + l2 + 1 > maxLength) {
- int maxl1 = maxLength / 2;
- if (l1 > maxl1) {
- name = name.substring(0, maxl1);
- l1 = maxl1;
- }
- int maxl2 = maxLength - l1 - 1;
- if (l2 > maxl2) {
- tname = tname.substring(0, 6) + "..." + tname.substring(l2 - maxl2 + 9);
- }
- }
- return tname + '-' + name;
- }
-
- public void setResourceLockDao(ResourceLockDao resourceLockDao) {
- this.resourceLockDao = resourceLockDao;
- }
-
- public void setRetryCount(int retryCount) {
- this.retryCount = retryCount;
- }
-
- public void setLockWait(int lockWait /* Seconds */) {
- this.lockWait = lockWait;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java
deleted file mode 100644
index f503332cc..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/ResourceLockedException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.comp;
-
-public class ResourceLockedException extends RuntimeException {
-
- private static final long serialVersionUID = 1L;
-
- private final String lockName;
- private final String lockHolder;
- private final String lockRequester;
-
- public ResourceLockedException(String lockName, String lockHolder, String lockRequester) {
- this.lockName = lockName;
- this.lockHolder = lockHolder;
- this.lockRequester = lockRequester;
- }
-
- @Override
- public String getMessage() {
- return "Failed to lock [" + lockName + "] for [" + lockRequester + "]. Currently locked by [" + lockHolder +
- "].";
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java
deleted file mode 100644
index 9cce17a46..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/comp/SynchronizedFunction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.comp;
-
-import java.security.SecureRandom;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
-public abstract class SynchronizedFunction {
-
- private Set<String> synchset;
- private String lockRequester;
- private int lockTimeout; // Seconds
- private LockHelper lockHelper;
-
- protected SynchronizedFunction(LockHelper lockHelper, Collection<String> synchset, int lockTimeout) {
- this.lockHelper = lockHelper;
- this.synchset = new HashSet<String>(synchset);
- this.lockRequester = generateLockRequester();
- this.lockTimeout = lockTimeout;
- }
-
- protected abstract void _exec();
-
- public void exec() {
- lockHelper.lock(synchset, lockRequester, lockTimeout);
- try {
- _exec();
- } finally {
- lockHelper.unlock(synchset, true);
- }
- }
-
- private static String generateLockRequester() {
- SecureRandom rand = new SecureRandom();
- return "SynchronizedFunction-" + (int) (rand.nextDouble() * 1000000);
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
deleted file mode 100644
index dc86f70af..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDao.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.dao;
-
-import java.util.Date;
-import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
-
-public interface ResourceLockDao {
-
- void add(ResourceLock l);
-
- void update(long id, String lockHolder, Date lockTime, Date expirationTime, int lockCount);
-
- ResourceLock getByResourceName(String resourceName);
-
- void delete(long id);
-
- void decrementLockCount(long id);
-
- void commit();
-
- void rollback();
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
deleted file mode 100644
index b8b3a66d6..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/dao/ResourceLockDaoImpl.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.dao;
-
-import java.util.Date;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.lock.data.ResourceLock;
-import org.onap.ccsdk.sli.adaptors.util.db.CachedDataSourceWrap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class ResourceLockDaoImpl implements ResourceLockDao {
-
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory.getLogger(ResourceLockDaoImpl.class);
-
- private JdbcTemplate jdbcTemplate;
-
- @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, String lockHolder, Date lockTime, Date expirationTime, int lockCount) {
- jdbcTemplate.update(
- "UPDATE RESOURCE_LOCK SET lock_holder = ?, lock_time = ?, expiration_time = ?, lock_count = ? WHERE resource_lock_id = ?",
- new Object[] { lockHolder, 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 }, (RowMapper<ResourceLock>) (rs, rowNum) -> {
- 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;
- }
-
- @Override
- public void commit() {
- if (jdbcTemplate.getDataSource() instanceof CachedDataSourceWrap) {
- CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
- ds.commit();
- ds.releaseConnection();
- }
- }
-
- @Override
- public void rollback() {
- if (jdbcTemplate.getDataSource() instanceof CachedDataSourceWrap) {
- CachedDataSourceWrap ds = (CachedDataSourceWrap) jdbcTemplate.getDataSource();
- ds.rollback();
- ds.releaseConnection();
- }
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java
deleted file mode 100644
index cb434e142..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/lock/data/ResourceLock.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.lock.data;
-
-import java.util.Date;
-
-public class ResourceLock {
-
- public long id;
- public String resourceName;
- public String lockHolder;
- public int lockCount;
- public Date lockTime;
- public Date expirationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
deleted file mode 100644
index 10f3e02b7..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceAllocator.java
+++ /dev/null
@@ -1,583 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright (C) 2019 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationData;
-import org.onap.ccsdk.sli.adaptors.ra.comp.EndPointAllocator;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceData;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceEntity;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceRequest;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceResponse;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceTarget;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
-import org.onap.ccsdk.sli.adaptors.rm.data.ReleaseRequest;
-import org.onap.ccsdk.sli.adaptors.util.speed.SpeedUtil;
-import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResourceAllocator implements SvcLogicResource {
-
- private static final Logger log = LoggerFactory.getLogger(ResourceAllocator.class);
-
- private static final String[] INPUT_PREFIX = {"ra-input.", "tmp.resource-allocator."};
-
- private ResourceManager resourceManager;
- private EndPointAllocator endPointAllocator;
- private SpeedUtil speedUtil;
-
- public ResourceAllocator() {
- log.info("ResourceAllocator created.");
- }
-
- @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 {
- return allocateResources(ctx, true, prefix);
- }
-
- @Override
- public QueryStatus query(String resource, boolean localOnly, String select, String key, String prefix,
- String orderBy, SvcLogicContext ctx) throws SvcLogicException {
-
- String resourceEntityId = getParam(ctx,
- new String[] {"service-instance-id", "resource-entity-id", "reservation-entity-id"}, false, null);
- String resourceEntityType =
- getParam(ctx, new String[] {"reservation-entity-type", "resource-entity-type"}, false, null);
- String resourceEntityVersion =
- getParam(ctx, new String[] {"reservation-entity-version", "resource-entity-version"}, false, "1");
-
- String resourceTargetId =
- getParam(ctx, new String[] {"reservation-target-id", "resource-target-id"}, false, null);
- String resourceTargetType =
- getParam(ctx, new String[] {"reservation-target-type", "resource-target-type"}, false, null);
- String resourceName = getParam(ctx, "resource-name", false, null);
- String resourceEntityTypeFilter = getParam(ctx, "resource-entity-type-filter", false, null);
- String resourceEntityIdFilter = getParam(ctx, "resource-entity-id-filter", false, null);
- String resourceShareGroupFilter = getParam(ctx, "resource-share-group-filter", false, null);
- String resourceTargetTypeFilter = getParam(ctx, "resource-target-type-filter", false, null);
- String resourceTargetIdFilter = getParam(ctx, "resource-target-id-filter", false, null);
-
- if (resourceEntityId != null && resourceEntityType != null) {
- List<ResourceData> rdlist = endPointAllocator.getResourcesForEntity(resourceEntityType, resourceEntityId,
- resourceEntityVersion);
- setResourceDataInContext(ctx, prefix, rdlist);
- } else if (resourceTargetId != null && resourceTargetType != null && resourceName != null) {
- ResourceData rd = endPointAllocator.getResource(resourceTargetType, resourceTargetId, resourceName,
- resourceEntityTypeFilter, resourceEntityIdFilter, resourceShareGroupFilter);
- if (rd != null) {
- setResourceDataInContext(ctx, prefix, Collections.singletonList(rd));
- }
- } else if ((resourceTargetTypeFilter != null || resourceTargetIdFilter != null) && resourceName != null) {
- List<ResourceData> rdlist = endPointAllocator.getResourcesForTarget(resourceTargetTypeFilter,
- resourceTargetIdFilter, resourceName);
- setResourceDataInContext(ctx, prefix, rdlist);
- }
-
- return QueryStatus.SUCCESS;
- }
-
- public AllocationStatus query(ResourceEntity sd, ResourceTarget rt, ResourceRequest rr,
- List<ResourceResponse> rsList) throws Exception {
-
- if (sd != null && sd.resourceEntityId != null && sd.resourceEntityType != null) {
- List<ResourceData> rdlist = endPointAllocator.getResourcesForEntity(sd.resourceEntityType,
- sd.resourceEntityId, sd.resourceEntityVersion);
- setResourceDataInResponse(rdlist, rsList);
- } else if (rt != null && rt.resourceTargetId != null && rt.resourceTargetType != null && rr != null
- && rr.resourceName != null) {
- ResourceData rd = endPointAllocator.getResource(rt.resourceTargetType, rt.resourceTargetId, rr.resourceName,
- rr.resourceEntityTypeFilter, rr.resourceEntityIdFilter, rr.resourceShareGroupFilter);
- setResourceDataInResponse(Collections.singletonList(rd), rsList);
- } else if (rr != null && (rr.resourceTargetTypeFilter != null || rr.resourceTargetIdFilter != null)
- && rr.resourceName != null) {
- List<ResourceData> rdlist = endPointAllocator.getResourcesForTarget(rr.resourceTargetTypeFilter,
- rr.resourceTargetIdFilter, rr.resourceName);
- setResourceDataInResponse(rdlist, rsList);
- }
-
- return AllocationStatus.Success;
- }
-
- private void setResourceDataInContext(SvcLogicContext ctx, String prefix, List<ResourceData> rdlist) {
- if (rdlist == null || rdlist.isEmpty()) {
- return;
- }
-
- prefix = prefix == null ? "" : prefix + '.';
-
- setAttr(ctx, prefix + "resource-list_length", String.valueOf(rdlist.size()));
-
- for (int i = 0; i < rdlist.size(); i++) {
- ResourceData rd = rdlist.get(i);
-
- String pp = prefix + "resource-list[" + i + "].";
-
- setAttr(ctx, pp + "resource-name", rd.resourceName);
- setAttr(ctx, pp + "endpoint-position", rd.endPointPosition);
- setAttr(ctx, pp + "resource-target-type", rd.resourceTargetType);
- setAttr(ctx, pp + "resource-target-id", rd.resourceTargetId);
- setAttr(ctx, pp + "resource-target-value", rd.resourceTargetValue);
- setAttr(ctx, pp + "status", rd.status);
-
- Map<String, String> dataProp = dataToProperties(rd.data);
- for (String kk : dataProp.keySet()) {
- String value = String.valueOf(dataProp.get(kk));
- setAttr(ctx, pp + kk, value);
- }
-
- if (rd.allocationDataList != null && !rd.allocationDataList.isEmpty()) {
-
- setAttr(ctx, pp + "allocation-data-list_length", String.valueOf(rd.allocationDataList.size()));
-
- for (int j = 0; j < rd.allocationDataList.size(); j++) {
- AllocationData ad = rd.allocationDataList.get(j);
-
- String ppp = pp + "allocation-data-list[" + j + "].";
-
- setAttr(ctx, ppp + "resource-entity-type", ad.resourceEntityType);
- setAttr(ctx, ppp + "resource-entity-id", ad.resourceEntityId);
- setAttr(ctx, ppp + "resource-entity-version", ad.resourceEntityVersion);
-
- if (ad.data != null && !ad.data.isEmpty()) {
- for (String kk : ad.data.keySet()) {
- String value = String.valueOf(ad.data.get(kk));
- setAttr(ctx, ppp + kk, value);
- }
- }
- }
- }
- }
- }
-
- @Override
- public QueryStatus reserve(String resource, String select, String key, String prefix, SvcLogicContext ctx)
- throws SvcLogicException {
- return allocateResources(ctx, false, prefix);
- }
-
- public AllocationStatus reserve(ResourceEntity sd, ResourceTarget rt, ResourceRequest rr,
- List<ResourceResponse> rsList) throws Exception {
- return allocateResources(sd, rt, rr, rsList);
- }
-
- @Override
- public QueryStatus release(String resource, String key, SvcLogicContext ctx) throws SvcLogicException {
- String resourceEntityId = getParam(ctx,
- new String[] {"service-instance-id", "resource-entity-id", "reservation-entity-id"}, true, null);
- String resourceEntityType =
- getParam(ctx, new String[] {"reservation-entity-type", "resource-entity-type"}, true, null);
- String resourceEntityVersion =
- getParam(ctx, new String[] {"reservation-entity-version", "resource-entity-version"}, false, null);
- String resourceTargetId =
- getParam(ctx, new String[] {"reservation-target-id", "resource-target-id"}, false, null);
- String resourceTargetType =
- getParam(ctx, new String[] {"reservation-target-type", "resource-target-type"}, false, null);
- String resourceName = getParam(ctx, new String[] {"resource-name"}, false, null);
- String limitReleaseAmountStr = getParam(ctx, new String[] {"limit-release-amount"}, false, "-1");
- int limitReleaseAmount = Integer.parseInt(limitReleaseAmountStr);
- String rangeReleaseNumbers = getParam(ctx, new String[] {"range-release-numbers"}, false, null);
-
-
- String endPointPosition = getParam(ctx, "endpoint-position", false, null);
-
- ResourceEntity sd = new ResourceEntity();
- sd.resourceEntityId = resourceEntityId;
- sd.resourceEntityType = resourceEntityType;
- sd.resourceEntityVersion = resourceEntityVersion;
-
- ResourceRequest rr = new ResourceRequest();
- rr.endPointPosition = endPointPosition;
- rr.resourceName = resourceName;
- rr.rangeReleaseNumbers = rangeReleaseNumbers;
- rr.limitReleaseAmount = limitReleaseAmount;
-
- ResourceTarget rt = new ResourceTarget();
- rt.resourceTargetType = resourceTargetType;
- rt.resourceTargetId = resourceTargetId;
-
- try {
- this.release(sd, rr, rt);
- } catch (Exception e) {
- throw new SvcLogicException(e.getMessage());
- }
- return QueryStatus.SUCCESS;
- }
-
- public AllocationStatus release(ResourceEntity sd) throws Exception {
- return release(sd, null, null);
- }
-
- public AllocationStatus release(ResourceEntity sd, ResourceRequest rr) throws Exception {
- return release(sd, rr, null);
- }
-
- public AllocationStatus release(ResourceEntity sd, ResourceRequest rr, ResourceTarget rt) {
-
- ReleaseRequest releaseRequest = new ReleaseRequest();
-
- if (sd != null && sd.resourceEntityVersion != null) {
- releaseRequest.resourceSetId = null;
-
- if (rr != null && rr.endPointPosition != null && !rr.endPointPosition.isEmpty()) {
- releaseRequest.resourceSetId = sd.resourceEntityType + "::" + sd.resourceEntityId + "::"
- + rr.endPointPosition + "::" + sd.resourceEntityVersion;
- } else {
- releaseRequest.resourceSetId =
- sd.resourceEntityType + "::" + sd.resourceEntityId + "::" + sd.resourceEntityVersion;
- }
-
- } else if (sd != null && (sd.resourceEntityVersion == null || sd.resourceEntityVersion.isEmpty())) {
- releaseRequest.resourceUnionId = null;
-
- if (rr != null && rr.endPointPosition != null && !rr.endPointPosition.isEmpty()) {
- releaseRequest.resourceUnionId =
- sd.resourceEntityType + "::" + sd.resourceEntityId + "::" + rr.endPointPosition;
- } else {
- releaseRequest.resourceUnionId = sd.resourceEntityType + "::" + sd.resourceEntityId;
- }
- }
-
- if (rt != null && rt.resourceTargetId != null && rt.resourceTargetType != null) {
- releaseRequest.assetId = rt.resourceTargetType + "::" + rt.resourceTargetId;
- }
-
- if (rr != null) {
- releaseRequest.resourceName = rr.resourceName;
- releaseRequest.releaseNumbers =
- StrUtil.listInt(rr.rangeReleaseNumbers, "Invalid value for range-release-numbers");
- releaseRequest.releaseAmount = rr.limitReleaseAmount;
- }
-
- log.info("Releasing resources:");
- StrUtil.info(log, releaseRequest);
-
- resourceManager.releaseResources(releaseRequest);
-
- return AllocationStatus.Success;
- }
-
- private QueryStatus allocateResources(SvcLogicContext ctx, boolean checkOnly, String prefix)
- throws SvcLogicException {
- String serviceModel = getParam(ctx, "service-model", true, null);
- String requestType = getParam(ctx, "request-type", false, "New");
-
- ResourceEntity sd = getResourceEntityData(ctx);
- ResourceTarget rt = getResourceTargetData(ctx);
- ResourceRequest rr = getResourceRequest(ctx);
-
- log.info("Starting reserve: " + requestType + ", service-model: " + serviceModel);
- StrUtil.info(log, sd);
- StrUtil.info(log, rt);
- StrUtil.info(log, rr);
-
- boolean change = "change".equalsIgnoreCase(requestType);
-
- List<ResourceData> rlist = endPointAllocator.allocateResources(serviceModel, sd, rt, rr, checkOnly, change);
-
- if (rlist != null && !rlist.isEmpty()) {
- setResourceDataInContext(ctx, prefix, rlist);
-
- for (ResourceData rd : rlist) {
- if (!"Success".equals(rd.status)) {
- log.info("Capacity not found for: " + sd.resourceEntityType + "::" + sd.resourceEntityId);
- return QueryStatus.NOT_FOUND;
- }
- }
- }
- return QueryStatus.SUCCESS;
- }
-
- private AllocationStatus allocateResources(ResourceEntity sd, ResourceTarget rt, ResourceRequest rr,
- List<ResourceResponse> rsList) throws Exception {
-
- String serviceModel = rr.serviceModel;
- String requestType = rr.requestType == null ? "New" : rr.requestType;
-
- log.info("Starting reserve: " + requestType + ", service-model: " + serviceModel);
- StrUtil.info(log, sd);
- StrUtil.info(log, rt);
- StrUtil.info(log, rr);
-
- boolean change = "change".equalsIgnoreCase(requestType);
-
- List<ResourceData> rlist = endPointAllocator.allocateResources(serviceModel, sd, rt, rr, rr.checkOnly, change);
-
- if (rlist != null && !rlist.isEmpty()) {
- setResourceDataInResponse(rlist, rsList);
-
- for (ResourceData rd : rlist) {
- if (!"Success".equals(rd.status)) {
- log.info("Capacity not found for: " + sd.resourceEntityType + "::" + sd.resourceEntityId);
- return AllocationStatus.ResourceNotFound;
- }
- }
- }
-
- return AllocationStatus.Success;
- }
-
- private void setResourceDataInResponse(List<ResourceData> rlist, List<ResourceResponse> rsList) {
- for (ResourceData rd : emptyIfNull(rlist)) {
- ResourceResponse res = new ResourceResponse();
- res.resourceName = rd.resourceName;
- res.endPointPosition = rd.endPointPosition;
- res.resourceTargetId = rd.resourceTargetId;
- res.resourceTargetType = rd.resourceTargetType;
- res.status = rd.status;
- if (rd.data != null && !rd.data.isEmpty()) {
- for (String kk : rd.data.keySet()) {
- if ("allocated".equalsIgnoreCase(kk)) {
- res.resourceAllocated = String.valueOf(rd.data.get(kk));
- }
-
- if ("used".equalsIgnoreCase(kk)) {
- res.resourceUsed = String.valueOf(rd.data.get(kk));
- }
-
- if ("available".equalsIgnoreCase(kk)) {
- res.resourceAvailable = String.valueOf(rd.data.get(kk));
- }
-
- if ("limit".equalsIgnoreCase(kk)) {
- res.resourceLimit = String.valueOf(rd.data.get(kk));
- }
-
- }
- }
- rsList.add(res);
- }
-
- }
-
- public static <T> Iterable<T> emptyIfNull(Iterable<T> iterable) {
- return iterable == null ? Collections.<T>emptyList() : iterable;
- }
-
- private void setAttr(SvcLogicContext ctx, String name, String value) {
- ctx.setAttribute(name, value);
- log.info("Added context attr: " + name + ": " + value);
- }
-
- private ResourceEntity getResourceEntityData(SvcLogicContext ctx) throws SvcLogicException {
- ResourceEntity sd = new ResourceEntity();
- sd.resourceEntityId = getParam(ctx,
- new String[] {"service-instance-id", "resource-entity-id", "reservation-entity-id"}, true, null);
- sd.resourceEntityType =
- getParam(ctx, new String[] {"reservation-entity-type", "resource-entity-type"}, true, null);
- sd.resourceEntityVersion =
- getParam(ctx, new String[] {"reservation-entity-version", "resource-entity-version"}, false, "1");
- sd.data = getDataParam(ctx, "reservation-entity-data", "resource-entity-data", "service-data");
- return sd;
- }
-
- private ResourceTarget getResourceTargetData(SvcLogicContext ctx) throws SvcLogicException {
- ResourceTarget sd = new ResourceTarget();
- sd.resourceTargetId = getParam(ctx, new String[] {"reservation-target-id", "resource-target-id"}, true, null);
- sd.resourceTargetType =
- getParam(ctx, new String[] {"reservation-target-type", "resource-target-type"}, true, null);
- sd.data = getDataParam(ctx, "reservation-target-data", "resource-target-data", "equipment-data");
- return sd;
- }
-
- private ResourceRequest getResourceRequest(SvcLogicContext ctx) throws SvcLogicException {
- ResourceRequest rr = new ResourceRequest();
- rr.resourceName = getParam(ctx, "resource-name", false, null);
- rr.resourceShareGroup = getParam(ctx, "resource-share-group", false, null);
- rr.rangeRequestedNumbers = getParam(ctx, "range-requested-numbers", false, null);
- rr.rangeExcludeNumbers = getParam(ctx, "range-exclude-numbers", false, null);
- String rangeReverseOrderStr = getParam(ctx, "range-reverse-order", false, "false");
- rr.rangeReverseOrder = Boolean.parseBoolean(rangeReverseOrderStr);
- String rangeMinOverrideStr = getParam(ctx, "range-min-override", false, "-1");
- rr.rangeMinOverride = Integer.parseInt(rangeMinOverrideStr);
- String rangeMaxOverrideStr = getParam(ctx, "range-max-override", false, "-1");
- rr.rangeMaxOverride = Integer.parseInt(rangeMaxOverrideStr);
- String rangeForceNewNumbersStr = getParam(ctx, "range-force-new-numbers", false, "false");
- rr.rangeForceNewNumbers = Boolean.parseBoolean(rangeForceNewNumbersStr);
- String rangeNextInSequenceStr = getParam(ctx, "range-next-in-sequence", false, "false");
- rr.rangeNextInSequence = Boolean.parseBoolean(rangeNextInSequenceStr);
- String replaceStr = getParam(ctx, "replace", false, "true");
- rr.replace = Boolean.parseBoolean(replaceStr);
- rr.applicationId = getParam(ctx, "application-id", false, "SDNC");
- rr.endPointPosition = getParam(ctx, "endpoint-position", false, null);
- return rr;
- }
-
- private String getParam(SvcLogicContext ctx, String name, boolean required, String def) throws SvcLogicException {
- String v = null;
- for (String p : INPUT_PREFIX) {
- v = ctx.getAttribute(p + name);
- if (v != null && v.trim().length() > 0) {
- log.info("Param: " + name + ": " + v.trim());
- return v.trim();
- }
- }
- if (required) {
- throw new SvcLogicException("The following variable is required in DG context: " + name);
- }
-
- log.info("Param: " + name + " not supplied. Using default: " + def);
- return def;
- }
-
- private String getParam(SvcLogicContext ctx, String[] names, boolean required, String def)
- throws SvcLogicException {
- String v = null;
- for (String name : names) {
- v = getParam(ctx, name, false, def);
- if (v != null) {
- return v;
- }
- }
- if (required) {
- throw new SvcLogicException(
- "One of the following variable is required in DG context: " + Arrays.deepToString(names));
- }
-
- log.info("Param: " + Arrays.deepToString(names) + " not supplied. Using default: " + def);
- return def;
- }
-
- private Map<String, String> getDataParam(SvcLogicContext ctx, String... names) {
- Map<String, String> data = new HashMap<>();
- Set<String> ctxNames = ctx.getAttributeKeySet();
- for (String n : ctxNames) {
- for (String p : INPUT_PREFIX) {
- for (String name : names) {
- String pp = p + name + '.';
- if (n.startsWith(pp)) {
- String nn = n.substring(pp.length());
- String vv = ctx.getAttribute(n);
- data.put(nn, vv);
-
- log.info("Data param: " + nn + ": " + vv);
-
- if (ctxNames.contains(n + "-unit")) {
- try {
- long v = Long.parseLong(vv);
- String unit = ctx.getAttribute(n + "-unit");
- long kbps = speedUtil.convertToKbps(v, unit);
- long mbps = speedUtil.convertToMbps(v, unit);
- data.put(nn + "-kbps", String.valueOf(kbps));
- data.put(nn + "-mbps", String.valueOf(mbps));
-
- log.info("Data param: " + nn + "-kbps: " + kbps);
- log.info("Data param: " + nn + "-mbps: " + mbps);
-
- } catch (Exception e) {
- log.warn("Invalid number for " + n + ": " + vv);
- }
- }
- }
- }
- }
- }
- return data;
- }
-
- @SuppressWarnings("unchecked")
- public static Map<String, String> dataToProperties(Map<String, Object> data) {
- if (data == null || data.isEmpty()) {
- return Collections.emptyMap();
- }
-
- Map<String, String> prop = new HashMap<>();
- Map<String, Object> data1 = new HashMap<>(data);
-
- while (!data1.isEmpty()) {
- for (String key : new ArrayList<>(data1.keySet())) {
- Object o = data1.get(key);
- data1.remove(key);
-
- if (o instanceof Boolean || o instanceof Number || o instanceof String) {
- prop.put(key, o.toString());
- } else if (o instanceof Map) {
- Map<String, Object> mm = (Map<String, Object>) o;
- for (String key1 : mm.keySet()) {
- data1.put(key + "." + key1, mm.get(key1));
- }
- } else if (o instanceof List) {
- List<Object> ll = (List<Object>) o;
- prop.put(key + "_length", String.valueOf(ll.size()));
- for (int i = 0; i < ll.size(); i++) {
- data1.put(key + '[' + i + ']', ll.get(i));
- }
- }
- }
- }
- return prop;
- }
-
- public void setResourceManager(ResourceManager resourceManager) {
- this.resourceManager = resourceManager;
- }
-
- public void setEndPointAllocator(EndPointAllocator endPointAllocator) {
- this.endPointAllocator = endPointAllocator;
- }
-
- public void setSpeedUtil(SpeedUtil speedUtil) {
- this.speedUtil = speedUtil;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceLockNode.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceLockNode.java
deleted file mode 100644
index a7d4b0e27..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/ResourceLockNode.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra;
-
-import java.security.SecureRandom;
-import java.util.Map;
-import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
-import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResourceLockNode implements SvcLogicJavaPlugin {
-
- private static final Logger log = LoggerFactory.getLogger(ResourceLockNode.class);
-
- private LockHelper lockHelper;
-
- public void setLockHelper(LockHelper lockHelper) {
- this.lockHelper = lockHelper;
- }
-
- public void lockResource(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
- String resourceName = getParam(paramMap, "resource-name", true, null);
- String lockRequester = getParam(paramMap, "lock-requester", false, generateLockRequester());
- String lockTimeoutStr = getParam(paramMap, "lock-timeout", false, "600"); // Default lock timeout: 10 min
- int lockTimeout = Integer.parseInt(lockTimeoutStr);
- String lockWaitStr = getParam(paramMap, "lock-wait", false, "5"); // Time waiting before next retry. Default: 5 sec
- int lockWait = Integer.parseInt(lockWaitStr);
- String lockRetryCountStr = getParam(paramMap, "lock-retry-count", false, "10"); // Default: 10 retries
- int lockRetryCount = Integer.parseInt(lockRetryCountStr);
-
- lockHelper.lock(resourceName, lockRequester, lockTimeout, lockWait, lockRetryCount);
- }
-
- public void unlockResource(Map<String, String> paramMap, SvcLogicContext ctx) throws SvcLogicException {
- String resourceName = getParam(paramMap, "resource-name", true, null);
-
- lockHelper.unlock(resourceName, false);
- }
-
- public void lockResource(String resourceName, String lockRequester, int lockTimeout /* sec */) {
- lockResource(resourceName, lockRequester, lockTimeout, 5, 10);
- }
-
- public void lockResource(String resourceName, String lockRequester, int lockTimeout /* sec */, int lockWait /* Seconds */, int retryCount) {
- if (lockRequester == null) {
- lockRequester = generateLockRequester();
- }
- if (lockTimeout <= 0) {
- lockTimeout = 600;
- }
-
- lockHelper.lock(resourceName, lockRequester, lockTimeout, lockWait, retryCount);
- }
-
- public void unlockResource(String resourceName) {
- lockHelper.unlock(resourceName, false);
- }
-
- private String getParam(Map<String, String> paramMap, String name, boolean required, String def)
- throws SvcLogicException {
- String v = paramMap.get(name);
- if (v != null && v.trim().length() > 0) {
- log.info("Param: " + name + ": " + v.trim());
- return v.trim();
- }
- if (required) {
- throw new SvcLogicException("The following node parameter is required: " + name);
- }
-
- log.info("Param: " + name + " not supplied. Using default: " + def);
- return def;
- }
-
- private static String generateLockRequester() {
- SecureRandom rand = new SecureRandom();
- return "SynchronizedFunction-" + (int) (rand.nextDouble() * 1000000);
- }
-}
-
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
deleted file mode 100644
index d15b1508f..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/alloc/DbAllocationRule.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.alloc;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.ra.comp.AllocationRule;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceEntity;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceRequest;
-import org.onap.ccsdk.sli.adaptors.ra.comp.ResourceTarget;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.RangeRuleDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.dao.ResourceRuleDao;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationAction;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-import org.onap.ccsdk.sli.adaptors.util.expr.ExpressionEvaluator;
-import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DbAllocationRule implements AllocationRule {
-
- private static final Logger log = LoggerFactory.getLogger(DbAllocationRule.class);
-
- private ResourceRuleDao resourceRuleDao;
- private RangeRuleDao rangeRuleDao;
-
- @Override
- public AllocationRequest buildAllocationRequest(String serviceModel, ResourceEntity resourceEntity,
- ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
- List<ResourceRule> resourceRuleList = resourceRuleDao.getResourceRules(serviceModel,
- resourceTarget.resourceTargetType);
- List<RangeRule> rangeRuleList = rangeRuleDao.getRangeRules(serviceModel, resourceTarget.resourceTargetType);
-
- List<AllocationRequest> arlist = new ArrayList<>();
-
- for (ResourceRule rr : resourceRuleList) {
- if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.resourceName)) {
- continue;
- }
-
- boolean matches = ExpressionEvaluator.evalBoolean(rr.serviceExpression, resourceEntity.data);
- matches = matches && ExpressionEvaluator.evalBoolean(rr.equipmentExpression, resourceTarget.data);
-
- if (matches) {
- AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
- checkOnly, change);
- arlist.add(ar1);
- }
- }
-
- for (RangeRule rr : rangeRuleList) {
- if (resourceRequest.resourceName != null && !resourceRequest.resourceName.equals(rr.rangeName)) {
- continue;
- }
- if (resourceRequest.endPointPosition != null
- && !resourceRequest.endPointPosition.equals(rr.endPointPosition)) {
- continue;
- }
-
- if (!ExpressionEvaluator.evalBoolean(rr.equipmentExpression, resourceTarget.data)) {
- continue;
- }
-
- AllocationRequest ar1 = buildAllocationRequest(rr, resourceEntity, resourceTarget, resourceRequest,
- checkOnly, change);
- arlist.add(ar1);
- }
-
- if ((rangeRuleList == null || rangeRuleList.isEmpty())
- && ResourceType.Range.equals(resourceRequest.resourceType)) {
- AllocationRequest ar1 = buildAllocationRequest(resourceEntity, resourceTarget, resourceRequest, checkOnly,
- change);
- arlist.add(ar1);
- }
-
- if (arlist.isEmpty()) {
- return null;
- }
-
- if (arlist.size() == 1) {
- return arlist.get(0);
- }
-
- MultiResourceAllocationRequest ar = new MultiResourceAllocationRequest();
- ar.stopOnFirstFailure = false;
- ar.allocationRequestList = arlist;
- return ar;
- }
-
- private AllocationRequest buildAllocationRequest(ResourceEntity resourceEntity, ResourceTarget resourceTarget,
- ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
-
- RangeAllocationRequest ar = new RangeAllocationRequest();
- ar.applicationId = resourceRequest.applicationId;
- if (resourceRequest.endPointPosition != null) {
- ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId + "::"
- + resourceRequest.endPointPosition;
- ar.endPointPosition = resourceRequest.endPointPosition;
- } else {
- ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
- }
- ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
- ar.resourceName = resourceRequest.resourceName;
- if (resourceRequest.resourceShareGroup != null) {
- ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
- }
- ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
- ar.requestedNumbers = StrUtil.listInt(resourceRequest.rangeRequestedNumbers,
- "Invalid value for requested-numbers");
- if (ar.requestedNumbers != null) {
- ar.requestedCount = ar.requestedNumbers.size();
- }
- ar.excludeNumbers = StrUtil.listInt(resourceRequest.rangeExcludeNumbers, "Invalid value for exclude-numbers");
- ar.reverseOrder = resourceRequest.rangeReverseOrder;
- ar.missingResourceAction = AllocationAction.Succeed_Allocate;
- ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
- ar.replace = resourceRequest.replace;
- ar.check = true;
- ar.allocate = !checkOnly;
- ar.rangeList = resourceRequest.rangeOverrideList;
- if (ar.rangeList == null || ar.rangeList.isEmpty()) {
- if (resourceRequest.rangeMinOverride >= 0
- && resourceRequest.rangeMaxOverride >= resourceRequest.rangeMinOverride) {
- ar.rangeList = new ArrayList<>();
- Range range = new Range();
- range.min = resourceRequest.rangeMinOverride;
- range.max = resourceRequest.rangeMaxOverride;
- ar.rangeList.add(range);
- }
- } else {
- if (resourceRequest.rangeMinOverride >= 0) {
- ar.rangeList.get(0).min = resourceRequest.rangeMinOverride;
- }
- if (resourceRequest.rangeMaxOverride >= 0) {
- ar.rangeList.get(ar.rangeList.size() - 1).max = resourceRequest.rangeMaxOverride;
- }
- }
- ar.forceNewNumbers = resourceRequest.rangeForceNewNumbers;
- StrUtil.info(log, ar);
- return ar;
- }
-
- private AllocationRequest buildAllocationRequest(ResourceRule resourceRule, ResourceEntity resourceEntity,
- ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
- StrUtil.info(log, resourceRule);
-
- LimitAllocationRequest ar = new LimitAllocationRequest();
- ar.applicationId = resourceRequest.applicationId;
- ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
- ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
- ar.resourceName = resourceRule.resourceName;
- if (resourceRequest.resourceShareGroup != null) {
- ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
- }
- ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
- ar.missingResourceAction = AllocationAction.Succeed_Allocate;
- ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
- ar.replace = resourceRequest.replace;
- ar.strict = false;
- ar.checkLimit = ExpressionEvaluator.evalLong(
- change ? resourceRule.hardLimitExpression : resourceRule.softLimitExpression, resourceTarget.data);
- ar.checkCount = ExpressionEvaluator.evalLong(resourceRule.allocationExpression, resourceEntity.data);
- ar.allocateCount = checkOnly ? 0 : ar.checkCount;
- return ar;
- }
-
- private AllocationRequest buildAllocationRequest(RangeRule rangeRule, ResourceEntity resourceEntity,
- ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
- StrUtil.info(log, rangeRule);
-
- RangeAllocationRequest ar = new RangeAllocationRequest();
- ar.applicationId = resourceRequest.applicationId;
- if (resourceRequest.endPointPosition != null) {
- ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId + "::"
- + resourceRequest.endPointPosition;
- ar.endPointPosition = resourceRequest.endPointPosition;
- } else {
- ar.resourceUnionId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId;
- }
- ar.resourceSetId = ar.resourceUnionId + "::" + resourceEntity.resourceEntityVersion;
- ar.resourceName = rangeRule.rangeName;
- if (resourceRequest.resourceShareGroup != null) {
- ar.resourceShareGroupList = Collections.singleton(resourceRequest.resourceShareGroup);
- }
- ar.assetId = resourceTarget.resourceTargetType + "::" + resourceTarget.resourceTargetId;
- ar.requestedNumbers = StrUtil.listInt(resourceRequest.rangeRequestedNumbers,
- "Invalid value for requested-numbers");
- if (ar.requestedNumbers != null) {
- ar.requestedCount = ar.requestedNumbers.size();
- }
- ar.excludeNumbers = StrUtil.listInt(resourceRequest.rangeExcludeNumbers, "Invalid value for exclude-numbers");
- ar.reverseOrder = resourceRequest.rangeReverseOrder;
- ar.missingResourceAction = AllocationAction.Succeed_Allocate;
- ar.expiredResourceAction = AllocationAction.Succeed_Allocate;
- ar.replace = resourceRequest.replace;
- ar.check = true;
- ar.allocate = !checkOnly;
- ar.rangeList = rangeRule.rangeList;
- if (ar.rangeList == null || ar.rangeList.isEmpty()) {
- if (resourceRequest.rangeMinOverride >= 0
- && resourceRequest.rangeMaxOverride >= resourceRequest.rangeMinOverride) {
- ar.rangeList = new ArrayList<>();
- Range range = new Range();
- range.min = resourceRequest.rangeMinOverride;
- range.max = resourceRequest.rangeMaxOverride;
- ar.rangeList.add(range);
- }
- } else {
- if (resourceRequest.rangeMinOverride >= 0) {
- ar.rangeList.get(0).min = resourceRequest.rangeMinOverride;
- }
- if (resourceRequest.rangeMaxOverride >= 0) {
- ar.rangeList.get(ar.rangeList.size() - 1).max = resourceRequest.rangeMaxOverride;
- }
-
- }
- ar.forceNewNumbers = resourceRequest.rangeForceNewNumbers;
- ar.nextInSequence = resourceRequest.rangeNextInSequence;
- return ar;
- }
-
- public void setResourceRuleDao(ResourceRuleDao resourceRuleDao) {
- this.resourceRuleDao = resourceRuleDao;
- }
-
- public void setRangeRuleDao(RangeRuleDao rangeRuleDao) {
- this.rangeRuleDao = rangeRuleDao;
- }
-} \ No newline at end of file
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationData.java
deleted file mode 100644
index 3e0e6b140..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationData.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.Map;
-
-public class AllocationData {
-
- public String resourceEntityType;
- public String resourceEntityId;
- public String resourceEntityVersion;
- public Map<String, String> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
deleted file mode 100644
index 0e9737419..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/AllocationRule.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-
-public interface AllocationRule {
-
- AllocationRequest buildAllocationRequest(String serviceModel, ResourceEntity resourceEntity,
- ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
deleted file mode 100644
index abfb8d44f..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocator.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.List;
-
-public interface EndPointAllocator {
-
- List<ResourceData> allocateResources(String serviceModel, ResourceEntity resourceEntity,
- ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change);
-
- List<ResourceData> getResourcesForEntity(String resourceEntityType, String resourceEntityId,
- String resourceEntityVersion);
-
- ResourceData getResource(String resourceTargetType, String resourceTargetId, String resourceName,
- String resourceEntityTypeFilter, String resourceEntityIdFilter, String resourceShareGroupFilter);
-
- List<ResourceData> getResourcesForTarget(String resourceTargetTypeFilter, String resourceTargetIdFilter,
- String resourceName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
deleted file mode 100644
index 36e40d589..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/EndPointAllocatorImpl.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- *
- * Modifications Copyright (C) 2019 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.onap.ccsdk.sli.adaptors.rm.comp.ResourceManager;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ReleaseRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class EndPointAllocatorImpl implements EndPointAllocator {
-
- private static final Logger log = LoggerFactory.getLogger(EndPointAllocatorImpl.class);
-
- private ResourceManager resourceManager;
-
- private Map<String, List<AllocationRule>> allocationRuleMap;
-
- @Override
- public List<ResourceData> allocateResources(String serviceModel, ResourceEntity resourceEntity,
- ResourceTarget resourceTarget, ResourceRequest resourceRequest, boolean checkOnly, boolean change) {
-
- List<ResourceData> resourceList = new ArrayList<>();
-
- if (allocationRuleMap != null) {
- List<AllocationRule> allocationRuleList = allocationRuleMap.get(serviceModel);
- if (allocationRuleList == null) {
- allocationRuleList = allocationRuleMap.get("DEFAULT");
- }
-
- if (allocationRuleList != null) {
- boolean allgood = true;
- for (AllocationRule allocationRule : allocationRuleList) {
- AllocationRequest ar = allocationRule.buildAllocationRequest(serviceModel, resourceEntity,
- resourceTarget, resourceRequest, checkOnly, change);
- if (ar != null) {
- AllocationOutcome ao = resourceManager.allocateResources(ar);
- List<ResourceData> rr = getResourceData(ao);
- resourceList.addAll(rr);
-
- if (ao.status != AllocationStatus.Success) {
- allgood = false;
- }
- }
- }
-
- if (!allgood) {
- String resourceSetId = resourceEntity.resourceEntityType + "::" + resourceEntity.resourceEntityId
- + "::" + resourceEntity.resourceEntityVersion;
- resourceManager.releaseResources(ReleaseRequest.resourceSet(resourceSetId));
- }
- }
- }
-
- return resourceList;
- }
-
- private List<ResourceData> getResourceData(AllocationOutcome ao) {
- if (ao instanceof MultiResourceAllocationOutcome) {
- List<ResourceData> rr = new ArrayList<>();
- for (AllocationOutcome ao1 : ((MultiResourceAllocationOutcome) ao).allocationOutcomeList) {
- rr.addAll(getResourceData(ao1));
- }
- return rr;
- }
-
- ResourceData rd = new ResourceData();
- rd.data = new HashMap<>();
-
- AllocationRequest ar = ao.request;
- rd.resourceName = ar.resourceName;
- rd.endPointPosition = ar.endPointPosition;
- int i1 = ar.assetId.indexOf("::");
- if (i1 > 0) {
- rd.resourceTargetType = ar.assetId.substring(0, i1);
- rd.resourceTargetId = ar.assetId.substring(i1 + 2);
- } else {
- rd.resourceTargetType = "";
- rd.resourceTargetId = ar.assetId;
- }
- rd.status = ao.status.toString();
-
- if (ao instanceof LimitAllocationOutcome) {
- LimitAllocationOutcome lao = (LimitAllocationOutcome) ao;
- rd.data.put("allocated", String.valueOf(lao.allocatedCount));
- rd.data.put("used", String.valueOf(lao.used));
- rd.data.put("limit", String.valueOf(lao.limit));
- rd.data.put("available", String.valueOf(lao.limit - lao.used));
- } else if (ao instanceof RangeAllocationOutcome) {
- RangeAllocationOutcome rao = (RangeAllocationOutcome) ao;
- rd.data.put("allocated", String.valueOf(StrUtil.listInt(rao.allocated)));
- rd.data.put("used", String.valueOf(StrUtil.listInt(rao.used)));
- List<Range> rangeList = ((RangeAllocationRequest) rao.request).rangeList;
- if (rangeList != null && !rangeList.isEmpty()) {
- List<Object> ll = new ArrayList<>();
- for (Range r : rangeList) {
- Map<String, Object> mm = new HashMap<>();
- mm.put("min", r.min);
- mm.put("max", r.max);
- ll.add(mm);
- }
- rd.data.put("range-list", ll);
- }
- }
-
- return Collections.singletonList(rd);
- }
-
- @Override
- public List<ResourceData> getResourcesForEntity(String resourceEntityType, String resourceEntityId,
- String resourceEntityVersion) {
- List<ResourceData> rdlist = new ArrayList<>();
-
- String resourceUnionId = resourceEntityType + "::" + resourceEntityId;
- List<Resource> rlist = resourceManager.getResourceUnion(resourceUnionId);
-
- for (Resource r : rlist) {
-
- // Find the needed allocation item: if resourceEntityVersion is specified, use that,
- // otherwise, find the latest allocation item
- AllocationItem ai = null;
- if (resourceEntityVersion != null) {
- String resourceSetId = resourceUnionId + "::" + resourceEntityVersion;
- for (AllocationItem ai1 : r.allocationItems) {
- if (ai1.resourceSetId.equals(resourceSetId)) {
- ai = ai1;
- break;
- }
- }
- } else {
- Date aitime = null;
- for (AllocationItem ai1 : r.allocationItems) {
- if (ai1.resourceUnionId.equals(resourceUnionId)) {
- if (aitime == null || ai1.allocationTime.after(aitime)) {
- ai = ai1;
- aitime = ai1.allocationTime;
- }
- }
- }
- }
-
- if (ai != null) {
- ResourceData rd = new ResourceData();
- rdlist.add(rd);
-
- rd.resourceName = r.resourceKey.resourceName;
- int i1 = r.resourceKey.assetId.indexOf("::");
- if (i1 > 0) {
- rd.resourceTargetType = r.resourceKey.assetId.substring(0, i1);
- rd.resourceTargetId = r.resourceKey.assetId.substring(i1 + 2);
-
- int i2 = r.resourceKey.assetId.lastIndexOf("::");
- if (i2 > i1) {
- rd.resourceTargetValue = r.resourceKey.assetId.substring(i2 + 2);
- }
- } else {
- rd.resourceTargetType = "";
- rd.resourceTargetId = r.resourceKey.assetId;
- }
-
- rd.data = new HashMap<>();
-
- if (ai instanceof RangeAllocationItem) {
- RangeAllocationItem rai = (RangeAllocationItem) ai;
-
- String ss = String.valueOf(rai.used);
- ss = ss.substring(1, ss.length() - 1);
- rd.data.put("allocated", ss);
-
- } else if (ai instanceof LimitAllocationItem) {
- LimitAllocationItem lai = (LimitAllocationItem) ai;
-
- rd.data.put("allocated", String.valueOf(lai.used));
- }
- }
- }
-
- return rdlist;
- }
-
- @Override
- public List<ResourceData> getResourcesForTarget(String resourceTargetTypeFilter, String resourceTargetIdFilter,
- String resourceName) {
- List<ResourceData> rdlist = new ArrayList<>();
-
- String assetIdFilter = null;
- if (resourceTargetTypeFilter != null && resourceTargetIdFilter != null) {
- assetIdFilter = resourceTargetTypeFilter + "::" + resourceTargetIdFilter;
- } else if (resourceTargetTypeFilter != null) {
- assetIdFilter = resourceTargetTypeFilter;
- } else if (resourceTargetIdFilter != null) {
- assetIdFilter = resourceTargetIdFilter;
- }
-
- List<Resource> rlist = resourceManager.queryResources(resourceName, assetIdFilter);
-
- for (Resource r : rlist) {
- if (r.allocationItems == null || r.allocationItems.isEmpty()) {
- continue;
- }
-
- log.info("ResourceName:" + r.resourceKey.resourceName + " assetId:" + r.resourceKey.assetId);
-
-
- rdlist.add(getResourceData(r));
- }
-
- return rdlist;
- }
-
- @Override
- public ResourceData getResource(String resourceTargetType, String resourceTargetId, String resourceName,
- String resourceEntityTypeFilter, String resourceEntityIdFilter, String resourceShareGroupFilter) {
- String assetId = resourceTargetType + "::" + resourceTargetId;
-
- String resourceUnionFilter = null;
- if (resourceEntityTypeFilter != null && resourceEntityIdFilter != null) {
- resourceUnionFilter = resourceEntityTypeFilter + "::" + resourceEntityIdFilter;
- } else if (resourceEntityTypeFilter != null) {
- resourceUnionFilter = resourceEntityTypeFilter;
- } else if (resourceEntityIdFilter != null) {
- resourceUnionFilter = resourceEntityIdFilter;
- }
-
- Resource r = null;
- if (resourceUnionFilter != null || resourceShareGroupFilter != null) {
- r = resourceManager.queryResource(resourceName, assetId, resourceUnionFilter, resourceShareGroupFilter);
- } else {
- r = resourceManager.getResource(resourceName, assetId);
- }
-
- if (r != null && r.allocationItems != null && !r.allocationItems.isEmpty()) {
- log.info("ResourceName:" + r.resourceKey.resourceName + " assetId:" + r.resourceKey.assetId);
- return getResourceData(r);
- }
-
- return null;
- }
-
- private ResourceData getResourceData(Resource r) {
- ResourceData rd = new ResourceData();
-
- rd.resourceName = r.resourceKey.resourceName;
- int i1 = r.resourceKey.assetId.indexOf("::");
- if (i1 > 0) {
- rd.resourceTargetType = r.resourceKey.assetId.substring(0, i1);
- rd.resourceTargetId = r.resourceKey.assetId.substring(i1 + 2);
-
- int i2 = r.resourceKey.assetId.lastIndexOf("::");
- if (i2 > i1) {
- rd.resourceTargetValue = r.resourceKey.assetId.substring(i2 + 2);
- }
- } else {
- rd.resourceTargetType = "";
- rd.resourceTargetId = r.resourceKey.assetId;
- }
-
- rd.data = new HashMap<>();
-
- if (r instanceof RangeResource) {
- RangeResource rr = (RangeResource) r;
-
- log.info("rr.used: " + rr.used);
- String ss = String.valueOf(rr.used);
- ss = ss.substring(1, ss.length() - 1);
- rd.data.put("allocated", ss);
-
- } else if (r instanceof LimitResource) {
- LimitResource lr = (LimitResource) r;
-
- log.info("lr.used: " + lr.used);
- rd.data.put("allocated", String.valueOf(lr.used));
- }
-
- rd.allocationDataList = new ArrayList<>();
-
- if (r.allocationItems != null) {
- for (AllocationItem ai : r.allocationItems) {
- AllocationData ad = new AllocationData();
- rd.allocationDataList.add(ad);
-
- i1 = ai.resourceUnionId.indexOf("::");
- if (i1 > 0) {
- ad.resourceEntityType = ai.resourceUnionId.substring(0, i1);
- ad.resourceEntityId = ai.resourceUnionId.substring(i1 + 2);
- } else {
- ad.resourceEntityType = "";
- ad.resourceEntityId = ai.resourceUnionId;
- }
-
- i1 = ai.resourceSetId.lastIndexOf("::");
- if (i1 > 0) {
- ad.resourceEntityVersion = ai.resourceSetId.substring(i1 + 2);
- } else {
- ad.resourceEntityVersion = "";
- }
-
- ad.data = new HashMap<>();
-
- if (ai instanceof RangeAllocationItem) {
- RangeAllocationItem rai = (RangeAllocationItem) ai;
-
- log.info("rr.used: " + rai.used);
- String ss = String.valueOf(rai.used);
- ss = ss.substring(1, ss.length() - 1);
- ad.data.put("allocated", ss);
-
- } else if (ai instanceof LimitAllocationItem) {
- LimitAllocationItem lai = (LimitAllocationItem) ai;
-
- log.info("lr.used: " + lai.used);
- ad.data.put("allocated", String.valueOf(lai.used));
- }
- }
- }
-
- return rd;
- }
-
- public void setResourceManager(ResourceManager resourceManager) {
- this.resourceManager = resourceManager;
- }
-
- public void setAllocationRuleMap(Map<String, List<AllocationRule>> allocationRuleMap) {
- this.allocationRuleMap = allocationRuleMap;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java
deleted file mode 100644
index d83d4cdb4..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceData.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.List;
-import java.util.Map;
-
-public class ResourceData {
-
- public String resourceName;
- public String resourceTargetId;
- public String resourceTargetValue;
- public String resourceTargetType;
- public String endPointPosition;
- public String status;
- public Map<String, Object> data;
- public List<AllocationData> allocationDataList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java
deleted file mode 100644
index 12fb695b7..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.Map;
-
-public class ResourceEntity {
-
- public String resourceEntityId;
- public String resourceEntityVersion;
- public String resourceEntityType;
- public Map<String, String> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java
deleted file mode 100644
index 2ebad4c89..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceRequest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-
-public class ResourceRequest {
-
- public String resourceName;
- public String resourceShareGroup;
- public String rangeRequestedNumbers;
- public String rangeExcludeNumbers;
- public boolean rangeReverseOrder;
- public int rangeMinOverride;
- public int rangeMaxOverride;
- public boolean rangeForceNewNumbers;
- public boolean rangeNextInSequence;
- public boolean replace;
- public String requestType;
- public String serviceModel;
- public boolean checkOnly;
- public String applicationId;
- public String endPointPosition;
- public ResourceType resourceType;
- public List<Range> rangeOverrideList;
- public String resourceEntityTypeFilter;
- public String resourceEntityIdFilter;
- public String resourceShareGroupFilter;
- public String resourceTargetTypeFilter;
- public String resourceTargetIdFilter;
- public String rangeReleaseNumbers;
- public int limitReleaseAmount;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java
deleted file mode 100644
index 989333c3e..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceResponse.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-public class ResourceResponse {
- public String resourceName;
- public String endPointPosition;
- public String resourceTargetType;
- public String resourceTargetId;
- public String resourceLimit;
- public String resourceAvailable;
- public String resourceUsed;
- public String resourceAllocated;
- public String status;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java
deleted file mode 100644
index 95cec330a..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/comp/ResourceTarget.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.comp;
-
-import java.util.Map;
-
-public class ResourceTarget {
-
- public String resourceTargetId;
- public String resourceTargetType;
- public Map<String, String> data;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
deleted file mode 100644
index a7fcb61f2..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDao.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
-
-public interface RangeRuleDao {
-
- List<RangeRule> getRangeRules(String serviceModel, String equipLevel);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
deleted file mode 100644
index b021620ba..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/RangeRuleDaoImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.RangeRule;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class RangeRuleDaoImpl implements RangeRuleDao {
-
- private static final Logger log = LoggerFactory.getLogger(RangeRuleDaoImpl.class);
-
- private static final String GET_SQL = "SELECT * FROM RANGE_RULE WHERE service_model = ? AND equipment_level = ?";
-
- private JdbcTemplate jdbcTemplate;
-
- @Override
- public List<RangeRule> getRangeRules(String serviceModel, String equipLevel) {
- return jdbcTemplate.query(GET_SQL, new Object[] { serviceModel, equipLevel },
- (RowMapper<RangeRule>) (rs, rowNum) -> {
- RangeRule rl = new RangeRule();
- rl.id = rs.getLong("range_rule_id");
- rl.rangeName = rs.getString("range_name");
- rl.serviceModel = rs.getString("service_model");
- rl.endPointPosition = rs.getString("end_point_position");
- rl.equipmentLevel = rs.getString("equipment_level");
- rl.equipmentExpression = rs.getString("equipment_expression");
-
- String rangesStr = rs.getString("ranges");
- String[] ranges = rangesStr.split(",");
- rl.rangeList = new ArrayList<>();
- for (String rangeStr : ranges) {
- Range range = new Range();
- String[] nn = rangeStr.split("-");
- if (nn.length >= 1) {
- try {
- range.min = range.max = Integer.parseInt(nn[0]);
- } catch (NumberFormatException e) {
- log.warn("Invalid value found in DB for range: " + rangeStr, e);
- }
- }
- if (nn.length >= 2) {
- try {
- range.max = Integer.parseInt(nn[1]);
- } catch (NumberFormatException e) {
- log.warn("Invalid value found in DB for range: " + rangeStr, e);
- }
- }
- if (nn.length > 2) {
- log.warn("Invalid value found in DB for range: {}", rangeStr);
- }
- rl.rangeList.add(range);
- }
-
- return rl;
- });
-
- }
-
- public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-} \ No newline at end of file
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
deleted file mode 100644
index 54fdcbc20..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDao.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
-
-public interface ResourceRuleDao {
-
- List<ResourceRule> getResourceRules(String serviceModel, String equipLevel);
-
- ResourceRule getResourceRule(String serviceModel, String endPointPosition, String equipLevel, String resourceName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
deleted file mode 100644
index 451dc57cd..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/dao/ResourceRuleDaoImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.dao;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceRule;
-import org.onap.ccsdk.sli.adaptors.ra.rule.data.ResourceThreshold;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowMapper;
-
-public class ResourceRuleDaoImpl implements ResourceRuleDao {
-
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory.getLogger(ResourceRuleDaoImpl.class);
-
- private static final String GET1_SQL =
- "SELECT * FROM RESOURCE_RULE WHERE service_model = ? AND 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 equipLevel) {
- List<ResourceRule> resourceRuleList =
- jdbcTemplate.query(GET1_SQL, new Object[] {serviceModel, equipLevel}, resourceRuleRowMapper);
-
- for (ResourceRule rr : resourceRuleList) {
- rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] {rr.id}, resourceThresholdRowMapper);
- }
-
- return resourceRuleList;
- }
-
- @Override
- public ResourceRule getResourceRule(String serviceModel, String endPointPosition, String equipLevel,
- String resourceName) {
- List<ResourceRule> resourceRuleList = jdbcTemplate.query(GET2_SQL,
- new Object[] {serviceModel, endPointPosition, equipLevel, resourceName}, resourceRuleRowMapper);
-
- if (resourceRuleList == null || resourceRuleList.isEmpty()) {
- return null;
- }
-
- ResourceRule rr = resourceRuleList.get(0);
- rr.thresholdList = jdbcTemplate.query(THRESHOLD_SQL, new Object[] {rr.id}, resourceThresholdRowMapper);
-
- return rr;
- }
-
- private static class ResourceRuleRowMapper implements RowMapper<ResourceRule> {
-
- @Override
- public ResourceRule mapRow(ResultSet rs, int rowNum) throws SQLException {
- ResourceRule rl = new ResourceRule();
- rl.id = rs.getLong("resource_rule_id");
- rl.resourceName = rs.getString("resource_name");
- rl.serviceModel = rs.getString("service_model");
- rl.endPointPosition = rs.getString("end_point_position");
- rl.serviceExpression = rs.getString("service_expression");
- rl.equipmentLevel = rs.getString("equipment_level");
- rl.equipmentExpression = rs.getString("equipment_expression");
- rl.allocationExpression = rs.getString("allocation_expression");
- rl.softLimitExpression = rs.getString("soft_limit_expression");
- rl.hardLimitExpression = rs.getString("hard_limit_expression");
- return rl;
- }
- }
-
- private static class ResourceThresholdRowMapper implements RowMapper<ResourceThreshold> {
-
- @Override
- public ResourceThreshold mapRow(ResultSet rs, int rowNum) throws SQLException {
- ResourceThreshold th = new ResourceThreshold();
- th.expression = rs.getString("threshold_expression");
- th.message = rs.getString("threshold_message");
- return th;
- }
- }
-
- public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
deleted file mode 100644
index c1ccd8196..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/RangeRule.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.data;
-
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-
-public class RangeRule {
-
- public long id;
- public String rangeName;
- public String serviceModel;
- public String endPointPosition;
- public String equipmentLevel;
- public String equipmentExpression;
- public List<Range> rangeList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java
deleted file mode 100644
index 17e0196b2..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceRule.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.data;
-
-import java.util.List;
-
-public class ResourceRule {
-
- public long id;
- public String resourceName;
- public String serviceModel;
- public String endPointPosition;
- public String serviceExpression;
- public String equipmentLevel;
- public String equipmentExpression;
- public String allocationExpression;
- public String softLimitExpression;
- public String hardLimitExpression;
- public List<ResourceThreshold> thresholdList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java
deleted file mode 100644
index 3f07d9f6b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ResourceThreshold.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.data;
-
-public class ResourceThreshold {
-
- public String expression;
- public String message;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java
deleted file mode 100644
index 5bc8d3450..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/ra/rule/data/ThresholdStatus.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.ra.rule.data;
-
-public class ThresholdStatus {
-
- public ResourceRule resourceRule;
- public ResourceThreshold resourceThreshold;
- public long limitValue;
- public long thresholdValue;
- public long used;
- public long lastAdded;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
deleted file mode 100644
index 485010656..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/AllocationFunction.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.comp;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
-import org.onap.ccsdk.sli.adaptors.lock.comp.ResourceLockedException;
-import org.onap.ccsdk.sli.adaptors.lock.comp.SynchronizedFunction;
-import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationStatus;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiAssetAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiAssetAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.MultiResourceAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-import org.onap.ccsdk.sli.adaptors.rm.util.LabelUtil;
-import org.onap.ccsdk.sli.adaptors.rm.util.LimitUtil;
-import org.onap.ccsdk.sli.adaptors.rm.util.RangeUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class AllocationFunction extends SynchronizedFunction {
-
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory.getLogger(AllocationFunction.class);
-
- private ResourceDao resourceDao;
-
- private AllocationRequest request;
- private AllocationOutcome outcome;
-
- private List<Resource> updateList = new ArrayList<>();
-
- public AllocationFunction(LockHelper lockHelper, ResourceDao resourceDao, AllocationRequest request,
- int lockTimeout) {
- super(lockHelper, getLockNames(request), lockTimeout);
- this.resourceDao = resourceDao;
- this.request = request;
- }
-
- private static Collection<String> getLockNames(AllocationRequest request) {
- Set<String> lockResourceNames = new HashSet<>();
- 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!=null && 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) {
-
- return null;
- }
-
- private MultiResourceAllocationOutcome allocateMultiResource(MultiResourceAllocationRequest req) {
- MultiResourceAllocationOutcome out = new MultiResourceAllocationOutcome();
- out.request = req;
- out.allocationOutcomeList = new ArrayList<>();
- 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);
- 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);
- 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.isEmpty()) {
- 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<>();
- 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() && req.replace && !req.forceNewNumbers) {
- 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.
-
- // Request may contain multiple ranges. We will find the range from the request
- // that contains the currently used numbers (the first one). We will only look
- // for additional numbers in that range.
-
- Range range = null;
- if (req.rangeList != null) {
- for (Range range1 : req.rangeList) {
- if (uu.first() >= range1.min && uu.first() <= range1.max) {
- range = range1;
- break;
- }
- }
- }
-
- if (range != null) {
- int uumin = uu.first() - 1;
- int uumax = uu.last() + 1;
- foundNumbers.addAll(uu);
- foundCount = uu.size();
- for (int n = uumin; foundCount < req.requestedCount && n >= range.min; n--) {
- if (RangeUtil.checkRange(rr, req, n)) {
- foundNumbers.add(n);
- foundCount++;
- } else if (req.sequential) {
- break;
- }
- }
- for (int n = uumax; foundCount < req.requestedCount && n <= range.max; n++) {
- if (RangeUtil.checkRange(rr, req, n)) {
- foundNumbers.add(n);
- foundCount++;
- } else if (req.sequential) {
- break;
- }
- }
- }
-
- // 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<>();
- foundCount = 0;
- }
- }
- }
-
- if (req.rangeList != null && !req.rangeList.isEmpty()) {
- if (req.nextInSequence) {
- // This means we allocate numbers in ascending sequence, not trying from the beginning
- // of the range (leaving possible holes in the sequence of allocated numbers)
- // To do that, we go through the ranges from the last towards the first (assuming
- // ranges are ordered from smallest to the largest numbers), and within each range, from
- // the max towards the min and find the first allocated number. Then we take the next numbers
- // in the range (that we already checked are available).
-
- int rangeIndex;
- Range range = null;
- int n = 0;
- boolean foundAllocated = false;
- for (rangeIndex = req.rangeList.size() - 1; !foundAllocated && rangeIndex >= 0; rangeIndex--) {
- range = req.rangeList.get(rangeIndex);
- for (n = range.max; n >= range.min; n--) {
- if (!RangeUtil.checkRange(rr, req, n)) {
- foundAllocated = true;
- break;
- }
- }
- if (foundAllocated) {
- break;
- }
- }
- n++;
- for (; foundCount < req.requestedCount && n <= range.max; n++) {
- foundNumbers.add(n);
- foundCount++;
- }
- if (foundCount < req.requestedCount) {
- rangeIndex++;
- for (; rangeIndex < req.rangeList.size(); rangeIndex++) {
- range = req.rangeList.get(rangeIndex);
- for (n = range.min; foundCount < req.requestedCount && n <= range.max; n++) {
- foundNumbers.add(n);
- foundCount++;
- }
- }
- }
- // If we could not find enough numbers by going up in sequence,
- // reset foundNumbers and foundCount, and go back to the holes
- if (foundCount < req.requestedCount) {
- foundNumbers = new TreeSet<>();
- foundCount = 0;
- }
- }
-
- if (req.reverseOrder) {
- for (int i = req.rangeList.size() - 1; i >= 0; i--) {
- Range range = req.rangeList.get(i);
- for (int n = range.max; foundCount < req.requestedCount && n >= range.min; n--) {
- if (RangeUtil.checkRange(rr, req, n)) {
- foundNumbers.add(n);
- foundCount++;
- } else if (req.sequential) {
- foundCount = 0;
- }
- }
- }
- } else {
- for (Range range : req.rangeList) {
- for (int n = range.min; foundCount < req.requestedCount && n <= range.max; n++) {
- if (RangeUtil.checkRange(rr, req, n)) {
- foundNumbers.add(n);
- foundCount++;
- } else if (req.sequential) {
- foundCount = 0;
- }
- }
- }
- }
- }
-
- 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);
- updateList.add(rr);
- }
- } else {
- out.allocated = new TreeSet<>();
- }
-
- out.used = rr.used;
-
- return out;
- }
-
- public AllocationOutcome getAllocationOutcome() {
- return outcome;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java
deleted file mode 100644
index b466b164b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ReleaseFunction.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright © 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.comp;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
-import org.onap.ccsdk.sli.adaptors.lock.comp.ResourceLockedException;
-import org.onap.ccsdk.sli.adaptors.lock.comp.SynchronizedFunction;
-import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.ReleaseRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-import org.onap.ccsdk.sli.adaptors.rm.util.ResourceUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-class ReleaseFunction extends SynchronizedFunction {
-
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory.getLogger(ReleaseFunction.class);
-
- private ResourceDao resourceDao;
-
- private ReleaseRequest releaseRequest;
-
- public ReleaseFunction(LockHelper lockHelper, ResourceDao resourceDao, ReleaseRequest releaseRequest,
- Collection<String> lockNames, int lockTimeout) {
- super(lockHelper, lockNames, lockTimeout);
- this.resourceDao = resourceDao;
- this.releaseRequest = releaseRequest;
- }
-
- @Override
- public void _exec() throws ResourceLockedException {
- List<Resource> resourceList = new ArrayList<>();
- if (releaseRequest.assetId != null && releaseRequest.resourceName != null) {
- Resource r = resourceDao.getResource(releaseRequest.assetId, releaseRequest.resourceName);
- if (r != null) {
- resourceList.add(r);
- }
- } else if (releaseRequest.assetId != null) {
- if (releaseRequest.resourceSetId != null) {
- resourceList = resourceDao.getResourceSetForAsset(releaseRequest.resourceSetId, releaseRequest.assetId);
- } else {
- resourceList =
- resourceDao.getResourceUnionForAsset(releaseRequest.resourceUnionId, releaseRequest.assetId);
- }
- } else {
- if (releaseRequest.resourceSetId != null) {
- resourceList = resourceDao.getResourceSet(releaseRequest.resourceSetId);
- } else {
- resourceList = resourceDao.getResourceUnion(releaseRequest.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 (releaseRequest.resourceSetId != null) {
-
- if (releaseRequest.resourceSetId.equals(ai.resourceSetId)) {
- if (r.resourceType == ResourceType.Limit) {
- LimitAllocationItem lai = (LimitAllocationItem) ai;
- if (releaseRequest.releaseAmount > 0 && releaseRequest.releaseAmount < lai.used) {
- lai.used -= releaseRequest.releaseAmount;
- } else {
- i.remove();
- }
- } else if (r.resourceType == ResourceType.Range) {
- RangeAllocationItem rai = (RangeAllocationItem) ai;
- if (releaseRequest.releaseNumbers != null && !releaseRequest.releaseNumbers.isEmpty()) {
- rai.used.removeAll(releaseRequest.releaseNumbers);
- if (rai.used.isEmpty()) {
- i.remove();
- }
- } else {
- i.remove();
- }
- } else {
- i.remove();
- }
- updated = true;
- }
-
- } else if (releaseRequest.resourceUnionId != null) {
-
- if (releaseRequest.resourceUnionId.equals(ai.resourceUnionId)) {
- if (r.resourceType == ResourceType.Limit) {
- LimitAllocationItem lai = (LimitAllocationItem) ai;
- if (releaseRequest.releaseAmount > 0 && releaseRequest.releaseAmount < lai.used) {
- lai.used -= releaseRequest.releaseAmount;
- } else {
- i.remove();
- }
- } else if (r.resourceType == ResourceType.Range) {
- RangeAllocationItem rai = (RangeAllocationItem) ai;
- if (releaseRequest.releaseNumbers != null && !releaseRequest.releaseNumbers.isEmpty()) {
- rai.used.removeAll(releaseRequest.releaseNumbers);
- if (rai.used.isEmpty()) {
- i.remove();
- }
- } else {
- i.remove();
- }
- } else {
- i.remove();
- }
- updated = true;
- }
-
- }
- }
- }
- if (updated) {
- ResourceUtil.recalculate(r);
- resourceDao.saveResource(r);
- }
- }
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java
deleted file mode 100644
index 2d4df68b5..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceLoader.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.comp;
-
-import java.util.Collection;
-
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-
-public interface ResourceLoader {
-
- void loadResource(String applicationId, Resource resource, boolean force);
-
- void loadResources(String applicationId, Collection<Resource> resourceList, boolean force);
-
- void loadResourcesForAsset(String applicationId, String assetId, Collection<Resource> resourceList, boolean force);
-
- void deleteResource(String applicationId, String assetId, String resourceName);
-
- void deleteResourcesForAsset(String applicationId, String assetId);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java
deleted file mode 100644
index 9dd54cc39..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.comp;
-
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.ReleaseRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-
-public interface ResourceManager {
-
- Resource getResource(String resourceName, String assetId);
-
- List<Resource> getResourceUnion(String resourceUnionId);
-
- AllocationOutcome allocateResources(AllocationRequest allocationRequest);
-
- void releaseResources(ReleaseRequest releaseRequest);
-
- Resource queryResource(String resourceName, String assetId, String resourceUnionFilter,
- String resourceShareGroupFilter);
-
- List<Resource> queryResources(String resourceName, String assetIdFilter);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
deleted file mode 100644
index 83da27071..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/comp/ResourceManagerImpl.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.comp;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.onap.ccsdk.sli.adaptors.lock.comp.LockHelper;
-import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationOutcome;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.ReleaseRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.rm.util.ResourceUtil;
-import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ResourceManagerImpl implements ResourceManager {
-
- private static final Logger log = LoggerFactory.getLogger(ResourceManagerImpl.class);
-
- private LockHelper lockHelper;
- private ResourceDao resourceDao;
-
- private 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, allocationRequest, lockTimeout);
- allocationFunction.exec();
- AllocationOutcome allocationOutcome = allocationFunction.getAllocationOutcome();
-
- StrUtil.info(log, allocationOutcome);
-
- return allocationOutcome;
- }
-
- @Override
- public void releaseResources(ReleaseRequest releaseRequest) {
- if (releaseRequest.resourceSetId == null && releaseRequest.resourceUnionId == null) {
- return;
- }
-
- Set<String> lockNames = new HashSet<>();
- if (releaseRequest.assetId != null) {
- lockNames.add(releaseRequest.assetId);
- } else {
- List<Resource> resourceList = null;
- if (releaseRequest.resourceSetId != null) {
- resourceList = resourceDao.getResourceSet(releaseRequest.resourceSetId);
- } else {
- resourceList = resourceDao.getResourceUnion(releaseRequest.resourceUnionId);
- }
-
- if (resourceList == null || resourceList.isEmpty()) {
- return;
- }
-
- lockNames = getLockNames(resourceList);
- }
-
- ReleaseFunction releaseFunction =
- new ReleaseFunction(lockHelper, resourceDao, releaseRequest, lockNames, lockTimeout);
- releaseFunction.exec();
- }
-
- @Override
- public Resource queryResource(String resourceName, String assetId, String resourceUnionFilter,
- String resourceShareGroupFilter) {
- Resource r = resourceDao.query(assetId, resourceName, resourceUnionFilter, resourceShareGroupFilter);
- ResourceUtil.recalculate(r);
- return r;
- }
-
- @Override
- public List<Resource> queryResources(String resourceName, String assetIdFilter) {
- List<Resource> rlist = resourceDao.query(assetIdFilter, resourceName);
- for (Resource r : rlist) {
- ResourceUtil.recalculate(r);
- }
- return rlist;
- }
-
- private Set<String> getLockNames(List<Resource> resourceList) {
- Set<String> lockNames = new HashSet<>();
- 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 setLockHelper(LockHelper lockHelper) {
- this.lockHelper = lockHelper;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java
deleted file mode 100644
index 87baf26c1..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/ResourceDao.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao;
-
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-
-public interface ResourceDao {
-
- Resource getResource(String assetId, String resourceName);
-
- void saveResource(Resource resource);
-
- void deleteResource(String assetId, String resourceName);
-
- List<Resource> getResourceSet(String resourceSetId);
-
- List<Resource> getResourceUnion(String resourceUnionId);
-
- List<Resource> getResourceSetForAsset(String resourceSetId, String assetId);
-
- List<Resource> getResourceUnionForAsset(String resourceUnionId, String assetId);
-
- Resource query(String assetId, String resourceName, String resourceUnionFilter, String resourceShareGroupFilter);
-
- List<Resource> query(String assetIdFilter, String resourceName);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java
deleted file mode 100644
index 25d8bf97e..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItem.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.util.Date;
-
-public class AllocationItem {
-
- public long id;
- public long resourceId;
- public String applicationId;
- public String resourceSetId, resourceUnionId;
- public String resourceShareGroupList;
- public long ltUsed;
- public String llLabel;
- public String rrUsed;
- public Date allocationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java
deleted file mode 100644
index 8e3a12988..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDao.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.util.List;
-
-public interface AllocationItemJdbcDao {
-
- void add(AllocationItem ai);
-
- List<AllocationItem> getAllocationItems(long resourceId);
-
- void update(AllocationItem ai);
-
- void delete(long id);
-
- List<AllocationItem> queryAllocationItems(long resourceId, String resourceUnionFilter, String resourceShareGroupFilter);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
deleted file mode 100644
index 2a62c63a3..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/AllocationItemJdbcDaoImpl.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright © 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.Collections;
-import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.PreparedStatementCreator;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.jdbc.support.GeneratedKeyHolder;
-import org.springframework.jdbc.support.KeyHolder;
-
-public class AllocationItemJdbcDaoImpl implements AllocationItemJdbcDao {
-
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
- private static final String INSERT_SQL = "INSERT INTO ALLOCATION_ITEM (\n"
- + " resource_id, application_id, resource_set_id, resource_union_id, resource_share_group_list,\n"
- + " lt_used, ll_label, rr_used, allocation_time)\nVALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
-
- private static final String UPDATE_SQL = "UPDATE ALLOCATION_ITEM SET\n"
- + " resource_share_group_list = ?, lt_used = ?, ll_label = ?, rr_used = ?, allocation_time = ?\n"
- + "WHERE allocation_item_id = ?";
-
- private static final String DELETE_SQL = "DELETE FROM ALLOCATION_ITEM WHERE allocation_item_id = ?";
-
- private static final String GET_SQL = "SELECT * FROM ALLOCATION_ITEM WHERE resource_id = ?";
-
- private JdbcTemplate jdbcTemplate;
- private AllocationItemRowMapper allocationItemRowMapper = new AllocationItemRowMapper();
-
- @Override
- public void add(final AllocationItem ai) {
- PreparedStatementCreator psc = dbc -> {
- 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);
- }
-
- @Override
- public List<AllocationItem> queryAllocationItems(long resourceId, String resourceUnionFilter,
- String resourceShareGroupFilter) {
- if (resourceId <= 0) {
- return Collections.emptyList();
- }
-
- String sql = GET_SQL;
-
- if (resourceUnionFilter != null) {
- sql += " AND resource_union_id LIKE '" + resourceUnionFilter + "'";
- }
-
- if (resourceShareGroupFilter != null) {
- if (("null").equalsIgnoreCase(resourceShareGroupFilter)) {
- sql += " AND resource_share_group_list IS NULL";
- } else {
- sql += " AND resource_share_group_list LIKE '" + resourceShareGroupFilter + "'";
- }
- }
-
- return jdbcTemplate.query(sql, new Object[] { resourceId }, allocationItemRowMapper);
- }
-
- private static class AllocationItemRowMapper implements RowMapper<AllocationItem> {
-
- @Override
- public AllocationItem mapRow(ResultSet rs, int n) throws SQLException {
- AllocationItem ai = new AllocationItem();
- ai.id = rs.getLong("allocation_item_id");
- ai.resourceId = rs.getLong("resource_id");
- ai.applicationId = rs.getString("application_id");
- ai.resourceSetId = rs.getString("resource_set_id");
- ai.resourceUnionId = rs.getString("resource_union_id");
- ai.resourceShareGroupList = rs.getString("resource_share_group_list");
- ai.ltUsed = rs.getLong("lt_used");
- ai.llLabel = rs.getString("ll_label");
- ai.rrUsed = rs.getString("rr_used");
- ai.allocationTime = rs.getTimestamp("allocation_time");
- return ai;
- }
- }
-
- public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java
deleted file mode 100644
index 6b764a7e1..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/Resource.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-public class Resource {
-
- public long id;
- public String assetId;
- public String name;
- public String type;
- public long ltUsed;
- public String llLabel;
- public int llReferenceCount;
- public String rrUsed;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java
deleted file mode 100644
index 21f5575fc..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceDaoImpl.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import org.onap.ccsdk.sli.adaptors.rm.dao.ResourceDao;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-import org.onap.ccsdk.sli.adaptors.util.str.StrUtil;
-
-public class ResourceDaoImpl implements ResourceDao {
-
- private ResourceJdbcDao resourceJdbcDao;
- private ResourceLoadJdbcDao resourceLoadJdbcDao;
- private AllocationItemJdbcDao allocationItemJdbcDao;
-
- @Override
- public org.onap.ccsdk.sli.adaptors.rm.data.Resource getResource(String assetId, String resourceName) {
- Resource rEntity = resourceJdbcDao.getResource(assetId, resourceName);
- return createResourceWithItems(rEntity);
- }
-
- @Override
- public org.onap.ccsdk.sli.adaptors.rm.data.Resource query(String assetId, String resourceName,
- String resourceUnionFilter, String resourceShareGroupFilter) {
- Resource rEntity = resourceJdbcDao.getResource(assetId, resourceName);
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResource(rEntity);
-
- if (r != null) {
- List<AllocationItem> aiEntityList = allocationItemJdbcDao.queryAllocationItems(rEntity.id,
- resourceUnionFilter, resourceShareGroupFilter);
- r.allocationItems = new ArrayList<>();
- for (AllocationItem aiEntity : aiEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
- r.allocationItems.add(ai);
- }
-
- List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
- r.resourceLoadList = new ArrayList<>();
- for (ResourceLoad rlEntity : rlEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
- r.resourceLoadList.add(rl);
- }
- }
-
- return r;
- }
-
- @Override
- public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> query(String assetIdFilter, String resourceName) {
- List<Resource> rEntityList = resourceJdbcDao.queryResources(assetIdFilter, resourceName);
- List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<>();
- for (Resource rEntity : rEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResourceWithItems(rEntity);
- rlist.add(r);
- }
- return rlist;
- }
-
- @Override
- public void saveResource(org.onap.ccsdk.sli.adaptors.rm.data.Resource resource) {
- if (resource == null) {
- return;
- }
-
- org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.Resource resourceEntity =
- resourceJdbcDao.getResource(resource.resourceKey.assetId, resource.resourceKey.resourceName);
- if (resourceEntity == null) {
- resourceEntity = createResourceEntity(resource);
- resourceJdbcDao.add(resourceEntity);
- if (resource.allocationItems != null) {
- for (org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai : resource.allocationItems) {
- AllocationItem aiEntity = createAllocationItemEntity(resourceEntity.id, ai);
- allocationItemJdbcDao.add(aiEntity);
- }
- }
- if (resource.resourceLoadList != null) {
- for (org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl : resource.resourceLoadList) {
- ResourceLoad rlEntity = createResourceLoadEntity(resourceEntity.id, rl);
- resourceLoadJdbcDao.add(rlEntity);
- }
- }
- } else {
- updateResourceEntity(resourceEntity, resource);
- resourceJdbcDao.update(resourceEntity);
-
- List<AllocationItem> oldAiEntityList = allocationItemJdbcDao.getAllocationItems(resourceEntity.id);
- if (resource.allocationItems != null) {
- for (org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem newai : resource.allocationItems) {
- AllocationItem foundAiEntity = null;
- for (AllocationItem oldAiEntity : oldAiEntityList) {
- if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
- foundAiEntity = oldAiEntity;
- break;
- }
- }
- if (foundAiEntity != null) {
- if (allocationItemChanged(foundAiEntity, newai)) {
- updateAllocationItemEntity(foundAiEntity, newai);
- allocationItemJdbcDao.update(foundAiEntity);
- }
- } else {
- AllocationItem newAiEntity = createAllocationItemEntity(resourceEntity.id, newai);
- allocationItemJdbcDao.add(newAiEntity);
- }
- }
- }
- for (AllocationItem oldAiEntity : oldAiEntityList) {
- boolean found = false;
- if (resource.allocationItems != null) {
- for (org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem newai : resource.allocationItems) {
- if (oldAiEntity.resourceSetId.equals(newai.resourceSetId)) {
- found = true;
- break;
- }
- }
- }
- if (!found) {
- allocationItemJdbcDao.delete(oldAiEntity.id);
- }
- }
-
- List<ResourceLoad> oldRlEntityList = resourceLoadJdbcDao.getResourceLoads(resourceEntity.id);
- if (resource.resourceLoadList != null) {
- for (org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad newrl : resource.resourceLoadList) {
- ResourceLoad foundRlEntity = null;
- for (ResourceLoad oldRlEntity : oldRlEntityList) {
- if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
- foundRlEntity = oldRlEntity;
- break;
- }
- }
- if (foundRlEntity != null) {
- updateResourceLoadEntity(foundRlEntity, newrl);
- resourceLoadJdbcDao.update(foundRlEntity);
- } else {
- ResourceLoad newRlEntity = createResourceLoadEntity(resourceEntity.id, newrl);
- resourceLoadJdbcDao.add(newRlEntity);
- }
- }
- }
- for (ResourceLoad oldRlEntity : oldRlEntityList) {
- boolean found = false;
- if (resource.resourceLoadList != null) {
- for (org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad newrl : resource.resourceLoadList) {
- if (oldRlEntity.applicationId.equals(newrl.applicationId)) {
- found = true;
- break;
- }
- }
- }
- if (!found) {
- resourceLoadJdbcDao.delete(oldRlEntity.id);
- }
- }
- }
- }
-
- private boolean allocationItemChanged(AllocationItem aiEntity,
- org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem newai) {
- String newShareGroupList = StrUtil.listStr(newai.resourceShareGroupList);
- if (!eq(aiEntity.resourceShareGroupList, newShareGroupList)) {
- return true;
- }
-
- if (newai.resourceType == ResourceType.Limit) {
- if (aiEntity.ltUsed != ((LimitAllocationItem) newai).used) {
- return true;
- }
- } else if (newai.resourceType == ResourceType.Label) {
- if (!eq(aiEntity.llLabel, ((LabelAllocationItem) newai).label)) {
- return true;
- }
- } else if (newai.resourceType == ResourceType.Range) {
- String newRrUsed = StrUtil.listInt(((RangeAllocationItem) newai).used);
- if (!eq(aiEntity.rrUsed, newRrUsed)) {
- return true;
- }
- }
-
- return false;
- }
-
- @Override
- public void deleteResource(String assetId, String resourceName) {
- org.onap.ccsdk.sli.adaptors.rm.dao.jdbc.Resource resourceEntity =
- resourceJdbcDao.getResource(assetId, resourceName);
- if (resourceEntity != null) {
- resourceJdbcDao.delete(resourceEntity.id);
- }
- }
-
- @Override
- public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> getResourceSet(String resourceSetId) {
- List<Resource> rEntityList = resourceJdbcDao.getResourceSet(resourceSetId);
- List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<>();
- for (Resource rEntity : rEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResourceWithItems(rEntity);
- rlist.add(r);
- }
- return rlist;
- }
-
- @Override
- public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> getResourceUnion(String resourceUnionId) {
- List<Resource> rEntityList = resourceJdbcDao.getResourceUnion(resourceUnionId);
- List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<>();
- for (Resource rEntity : rEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResourceWithItems(rEntity);
- rlist.add(r);
- }
- return rlist;
- }
-
- @Override
- public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> getResourceSetForAsset(String resourceSetId,
- String assetId) {
- List<Resource> rEntityList = resourceJdbcDao.getResourceSetForAsset(resourceSetId, assetId);
- List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<>();
- for (Resource rEntity : rEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResourceWithItems(rEntity);
- rlist.add(r);
- }
- return rlist;
- }
-
- @Override
- public List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> getResourceUnionForAsset(String resourceUnionId,
- String assetId) {
- List<Resource> rEntityList = resourceJdbcDao.getResourceUnionForAsset(resourceUnionId, assetId);
- List<org.onap.ccsdk.sli.adaptors.rm.data.Resource> rlist = new ArrayList<>();
- for (Resource rEntity : rEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResourceWithItems(rEntity);
- rlist.add(r);
- }
- return rlist;
- }
-
- private Resource createResourceEntity(org.onap.ccsdk.sli.adaptors.rm.data.Resource resource) {
- Resource resourceEntity = new Resource();
- resourceEntity.assetId = resource.resourceKey.assetId;
- resourceEntity.name = resource.resourceKey.resourceName;
- resourceEntity.type = resource.resourceType.toString();
- if (resource.resourceType == ResourceType.Limit) {
- resourceEntity.ltUsed = ((LimitResource) resource).used;
- } else if (resource.resourceType == ResourceType.Label) {
- resourceEntity.llLabel = ((LabelResource) resource).label;
- resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
- } else if (resource.resourceType == ResourceType.Range) {
- resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
- }
-
- return resourceEntity;
- }
-
- private ResourceLoad createResourceLoadEntity(long resourceId,
- org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl) {
- ResourceLoad rlEntity = new ResourceLoad();
- rlEntity.resourceId = resourceId;
- rlEntity.applicationId = rl.applicationId;
- rlEntity.loadTime = rl.resourceLoadTime;
- rlEntity.expirationTime = rl.resourceExpirationTime;
- return rlEntity;
- }
-
- private void updateResourceLoadEntity(ResourceLoad rlEntity, org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl) {
- rlEntity.loadTime = rl.resourceLoadTime;
- rlEntity.expirationTime = rl.resourceExpirationTime;
- }
-
- private AllocationItem createAllocationItemEntity(long resourceId,
- org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai) {
- AllocationItem aiEntity = new AllocationItem();
- aiEntity.resourceId = resourceId;
- aiEntity.resourceSetId = ai.resourceSetId;
- aiEntity.resourceUnionId = ai.resourceUnionId;
- aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
- aiEntity.applicationId = ai.applicationId;
- aiEntity.allocationTime = ai.allocationTime;
- if (ai.resourceType == ResourceType.Limit) {
- aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
- } else if (ai.resourceType == ResourceType.Label) {
- aiEntity.llLabel = ((LabelAllocationItem) ai).label;
- } else if (ai.resourceType == ResourceType.Range) {
- aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
- }
- return aiEntity;
- }
-
- private void updateAllocationItemEntity(AllocationItem aiEntity,
- org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai) {
- aiEntity.resourceShareGroupList = StrUtil.listStr(ai.resourceShareGroupList);
- aiEntity.allocationTime = ai.allocationTime;
- if (ai.resourceType == ResourceType.Limit) {
- aiEntity.ltUsed = ((LimitAllocationItem) ai).used;
- } else if (ai.resourceType == ResourceType.Label) {
- aiEntity.llLabel = ((LabelAllocationItem) ai).label;
- } else if (ai.resourceType == ResourceType.Range) {
- aiEntity.rrUsed = StrUtil.listInt(((RangeAllocationItem) ai).used);
- }
- }
-
- private void updateResourceEntity(Resource resourceEntity, org.onap.ccsdk.sli.adaptors.rm.data.Resource resource) {
- if (resource.resourceType == ResourceType.Limit) {
- resourceEntity.ltUsed = ((LimitResource) resource).used;
- } else if (resource.resourceType == ResourceType.Label) {
- resourceEntity.llLabel = ((LabelResource) resource).label;
- resourceEntity.llReferenceCount = ((LabelResource) resource).referenceCount;
- } else if (resource.resourceType == ResourceType.Range) {
- resourceEntity.rrUsed = StrUtil.listInt(((RangeResource) resource).used);
- }
- }
-
- private org.onap.ccsdk.sli.adaptors.rm.data.Resource createResourceWithItems(Resource rEntity) {
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = createResource(rEntity);
-
- if (r != null) {
- List<AllocationItem> aiEntityList = allocationItemJdbcDao.getAllocationItems(rEntity.id);
- r.allocationItems = new ArrayList<>();
- for (AllocationItem aiEntity : aiEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = createAllocationItem(r, aiEntity);
- r.allocationItems.add(ai);
- }
-
- List<ResourceLoad> rlEntityList = resourceLoadJdbcDao.getResourceLoads(rEntity.id);
- r.resourceLoadList = new ArrayList<>();
- for (ResourceLoad rlEntity : rlEntityList) {
- org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = createResourceLoad(r, rlEntity);
- r.resourceLoadList.add(rl);
- }
- }
- return r;
- }
-
- private org.onap.ccsdk.sli.adaptors.rm.data.Resource createResource(Resource resourceEntity) {
- if (resourceEntity == null) {
- return null;
- }
-
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r = null;
- ResourceType type = ResourceType.valueOf(resourceEntity.type);
- if (type == ResourceType.Limit) {
- LimitResource l = new LimitResource();
- l.used = resourceEntity.ltUsed;
- r = l;
- } else if (type == ResourceType.Label) {
- LabelResource l = new LabelResource();
- l.label = resourceEntity.llLabel;
- l.referenceCount = resourceEntity.llReferenceCount;
- r = l;
- } else if (type == ResourceType.Range) {
- RangeResource rr = new RangeResource();
- rr.used = StrUtil.listInt(resourceEntity.rrUsed, "Invalid data found in DB in for Resource Id: "
- + resourceEntity.id + ": RESOURCE.RR_USED: " + resourceEntity.rrUsed);
- r = rr;
- }
-
- if (r != null) {
- r.resourceType = type;
- r.resourceKey = new ResourceKey();
- r.resourceKey.assetId = resourceEntity.assetId;
- r.resourceKey.resourceName = resourceEntity.name;
- }
-
- return r;
- }
-
- private org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem createAllocationItem(
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r, AllocationItem aiEntity) {
- if (r == null || aiEntity == null) {
- return null;
- }
-
- org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem ai = null;
- if (r.resourceType == ResourceType.Limit) {
- LimitAllocationItem lai = new LimitAllocationItem();
- lai.used = aiEntity.ltUsed;
- ai = lai;
- } else if (r.resourceType == ResourceType.Label) {
- LabelAllocationItem lai = new LabelAllocationItem();
- lai.label = aiEntity.llLabel;
- ai = lai;
- } else if (r.resourceType == ResourceType.Range) {
- RangeAllocationItem rai = new RangeAllocationItem();
- rai.used = StrUtil.listInt(aiEntity.rrUsed, "Invalid data found in DB in for Allocation Item Id: "
- + aiEntity.id + ": ALLOCATION_ITEM.RR_USED: " + aiEntity.rrUsed);
- ai = rai;
- }
-
- if (ai != null) {
- ai.resourceType = r.resourceType;
- ai.resourceKey = r.resourceKey;
- ai.resourceSetId = aiEntity.resourceSetId;
- ai.resourceUnionId = aiEntity.resourceUnionId;
- if (aiEntity.resourceShareGroupList != null) {
- ai.resourceShareGroupList = new HashSet<>(StrUtil.listStr(aiEntity.resourceShareGroupList));
- }
- ai.applicationId = aiEntity.applicationId;
- ai.allocationTime = aiEntity.allocationTime;
- }
-
- return ai;
- }
-
- private org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad createResourceLoad(
- org.onap.ccsdk.sli.adaptors.rm.data.Resource r, ResourceLoad rlEntity) {
- if (rlEntity == null) {
- return null;
- }
-
- org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad rl = new org.onap.ccsdk.sli.adaptors.rm.data.ResourceLoad();
- rl.resourceKey = r.resourceKey;
- rl.applicationId = rlEntity.applicationId;
- rl.resourceLoadTime = rlEntity.loadTime;
- rl.resourceExpirationTime = rlEntity.expirationTime;
-
- return rl;
- }
-
- private static boolean eq(Object o1, Object o2) {
- return o1 == null ? o2 == null : o1.equals(o2);
- }
-
- public void setResourceJdbcDao(ResourceJdbcDao resourceJdbcDao) {
- this.resourceJdbcDao = resourceJdbcDao;
- }
-
- public void setResourceLoadJdbcDao(ResourceLoadJdbcDao resourceLoadJdbcDao) {
- this.resourceLoadJdbcDao = resourceLoadJdbcDao;
- }
-
- public void setAllocationItemJdbcDao(AllocationItemJdbcDao allocationItemJdbcDao) {
- this.allocationItemJdbcDao = allocationItemJdbcDao;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java
deleted file mode 100644
index d4d9a0543..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDao.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.util.List;
-
-public interface ResourceJdbcDao {
-
- Resource getResource(String assetId, String resourceName);
-
- List<Resource> queryResources(String assetIdFilter, String resourceName);
-
- List<Resource> getResourceSet(String resourceSetId);
-
- List<Resource> getResourceUnion(String resourceUnionId);
-
- List<Resource> getResourceSetForAsset(String resourceSetId, String assetId);
-
- List<Resource> getResourceUnionForAsset(String resourceUnionId, String assetId);
-
- void add(Resource r);
-
- void delete(long id);
-
- void update(Resource r);
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java
deleted file mode 100644
index f9de42802..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceJdbcDaoImpl.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * Modifications Copyright (C) 2018 IBM.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.Collections;
-import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.PreparedStatementCreator;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.jdbc.support.GeneratedKeyHolder;
-import org.springframework.jdbc.support.KeyHolder;
-
-public class ResourceJdbcDaoImpl implements ResourceJdbcDao {
-
- private static final String baseSelectResourceQuery = "SELECT * FROM RESOURCE WHERE resource_id IN (\n";
-
- @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_QUERY_1_SQL =
- "SELECT * FROM RESOURCE WHERE asset_id LIKE ? AND resource_name = ?";
-
- private static final String RESOURCE_SET_SQL = baseSelectResourceQuery
- + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_set_id = ?)";
-
- private static final String RESOURCE_UNION_SQL = baseSelectResourceQuery
- + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_union_id = ?)";
-
- private static final String RESOURCE_SET_FOR_ASSET_SQL = baseSelectResourceQuery
- + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_set_id = ?) AND asset_id = ?";
-
- private static final String RESOURCE_UNION_FOR_ASSET_SQL = baseSelectResourceQuery
- + "SELECT DISTINCT resource_id FROM ALLOCATION_ITEM WHERE resource_union_id = ?) AND asset_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> queryResources(String assetIdFilter, String resourceName) {
- if (assetIdFilter == null || assetIdFilter.trim().length() == 0 || resourceName == null
- || resourceName.trim().length() == 0) {
- return Collections.emptyList();
- }
-
-
- return jdbcTemplate.query(RESOURCE_QUERY_1_SQL, new Object[] {assetIdFilter, resourceName}, resourceRowMapper);
- }
-
- @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 List<Resource> getResourceSetForAsset(String resourceSetId, String assetId) {
- if (resourceSetId == null) {
- return Collections.emptyList();
- }
-
- return jdbcTemplate.query(RESOURCE_SET_FOR_ASSET_SQL, new Object[] {resourceSetId, assetId}, resourceRowMapper);
- }
-
- @Override
- public List<Resource> getResourceUnionForAsset(String resourceUnionId, String assetId) {
- if (resourceUnionId == null) {
- return Collections.emptyList();
- }
-
- return jdbcTemplate.query(RESOURCE_UNION_FOR_ASSET_SQL, new Object[] {resourceUnionId, assetId},
- resourceRowMapper);
- }
-
- @Override
- public void add(final Resource r) {
- PreparedStatementCreator psc = dbc -> {
- PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] {"resource_id"});
- ps.setString(1, r.assetId);
- ps.setString(2, r.name);
- ps.setString(3, r.type);
- ps.setLong(4, r.ltUsed);
- ps.setString(5, r.llLabel);
- ps.setInt(6, r.llReferenceCount);
- ps.setString(7, r.rrUsed);
- return ps;
- };
- KeyHolder keyHolder = new GeneratedKeyHolder();
- jdbcTemplate.update(psc, keyHolder);
- r.id = keyHolder.getKey().longValue();
- }
-
- @Override
- public void update(Resource r) {
- Long ltUsed = r.ltUsed <= 0 ? null : r.ltUsed;
- Integer llRefCount = r.llReferenceCount <= 0 ? null : r.llReferenceCount;
- jdbcTemplate.update(UPDATE_SQL, ltUsed, r.llLabel, llRefCount, r.rrUsed, r.id);
- }
-
- @Override
- public void delete(long id) {
- jdbcTemplate.update(DELETE_SQL, id);
- }
-
- private static class ResourceRowMapper implements RowMapper<Resource> {
-
- @Override
- public Resource mapRow(ResultSet rs, int arg1) throws SQLException {
- Resource r = new Resource();
- r.id = rs.getLong("resource_id");
- r.assetId = rs.getString("asset_id");
- r.name = rs.getString("resource_name");
- r.type = rs.getString("resource_type");
- r.ltUsed = rs.getLong("lt_used");
- r.llLabel = rs.getString("ll_label");
- r.llReferenceCount = rs.getInt("ll_reference_count");
- r.rrUsed = rs.getString("rr_used");
- return r;
- }
- }
-
- public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java
deleted file mode 100644
index 0f45bbfcb..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoad.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.util.Date;
-
-public class ResourceLoad {
-
- public long id;
- public long resourceId;
- public String applicationId;
- public Date loadTime;
- public Date expirationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java
deleted file mode 100644
index 789670c4b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDao.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.util.List;
-
-public interface ResourceLoadJdbcDao {
-
- void add(ResourceLoad rl);
-
- List<ResourceLoad> getResourceLoads(long resourceId);
-
- void update(ResourceLoad rl);
-
- void delete(long id);
-
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
deleted file mode 100644
index 632a5fbec..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/dao/jdbc/ResourceLoadJdbcDaoImpl.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.dao.jdbc;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.Collections;
-import java.util.List;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.PreparedStatementCreator;
-import org.springframework.jdbc.core.RowMapper;
-import org.springframework.jdbc.support.GeneratedKeyHolder;
-import org.springframework.jdbc.support.KeyHolder;
-
-public class ResourceLoadJdbcDaoImpl implements ResourceLoadJdbcDao {
-
- @SuppressWarnings("unused")
- private static final Logger log = LoggerFactory.getLogger(ResourceJdbcDaoImpl.class);
-
- private static final String INSERT_SQL = "INSERT INTO RESOURCE_LOAD (\n"
- + " resource_id, application_id, resource_load_time, resource_expiration_time)\nVALUES (?, ?, ?, ?)";
-
- private static final String UPDATE_SQL = "UPDATE RESOURCE_LOAD SET\n"
- + " resource_load_time = ?, resource_expiration_time = ?\nWHERE resource_id = ?";
-
- private static final String DELETE_SQL = "DELETE FROM RESOURCE_LOAD WHERE resource_load_id = ?";
-
- private static final String GET_SQL = "SELECT * FROM RESOURCE_LOAD WHERE resource_id = ?";
-
- private JdbcTemplate jdbcTemplate;
- private ResourceLoadRowMapper resourceLoadRowMapper = new ResourceLoadRowMapper();
-
- @Override
- public void add(final ResourceLoad rl) {
- PreparedStatementCreator psc = new PreparedStatementCreator() {
-
- @Override
- public PreparedStatement createPreparedStatement(Connection dbc) throws SQLException {
- PreparedStatement ps = dbc.prepareStatement(INSERT_SQL, new String[] { "resource_load_id" });
- ps.setLong(1, rl.resourceId);
- ps.setString(2, rl.applicationId);
- ps.setTimestamp(3, new Timestamp(rl.loadTime.getTime()));
- ps.setTimestamp(4, new Timestamp(rl.expirationTime.getTime()));
- return ps;
- }
- };
- KeyHolder keyHolder = new GeneratedKeyHolder();
- jdbcTemplate.update(psc, keyHolder);
- rl.id = keyHolder.getKey().longValue();
- }
-
- @Override
- public void update(ResourceLoad rl) {
- jdbcTemplate.update(UPDATE_SQL, rl.loadTime, rl.expirationTime, rl.id);
- }
-
- @Override
- public void delete(long id) {
- jdbcTemplate.update(DELETE_SQL, id);
- }
-
- @Override
- public List<ResourceLoad> getResourceLoads(long resourceId) {
- if (resourceId <= 0)
- return Collections.emptyList();
-
- return jdbcTemplate.query(GET_SQL, new Object[] { resourceId }, resourceLoadRowMapper);
- }
-
- private static class ResourceLoadRowMapper implements RowMapper<ResourceLoad> {
-
- @Override
- public ResourceLoad mapRow(ResultSet rs, int n) throws SQLException {
- ResourceLoad rl = new ResourceLoad();
- rl.id = rs.getLong("allocation_item_id");
- rl.resourceId = rs.getLong("resource_id");
- rl.applicationId = rs.getString("application_id");
- rl.loadTime = rs.getTimestamp("resource_load_time");
- rl.expirationTime = rs.getTimestamp("resource_expiration_time");
- return rl;
- }
- }
-
- public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
- this.jdbcTemplate = jdbcTemplate;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java
deleted file mode 100644
index edc1916b5..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationAction.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public enum AllocationAction {
- Fail, Succeed_DoNothing, Succeed_Allocate
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java
deleted file mode 100644
index f8e6a75a1..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationItem.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.Date;
-import java.util.Set;
-
-public abstract class AllocationItem {
-
- public ResourceKey resourceKey;
- public ResourceType resourceType;
- public String resourceSetId;
- public String resourceUnionId;
- public Set<String> resourceShareGroupList;
- public String applicationId;
- public Date allocationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java
deleted file mode 100644
index 048f4f4ac..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationOutcome.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class AllocationOutcome {
-
- public AllocationStatus status = null;
- public AllocationRequest request = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
deleted file mode 100644
index 29b493683..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationRequest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.Set;
-
-public class AllocationRequest {
-
- public String applicationId = null;
- 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 endPointPosition = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java
deleted file mode 100644
index bef9a1114..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/AllocationStatus.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public enum AllocationStatus {
-
- Success, Failure, NotTried, ResourceNotFound, ResourceExpired
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java
deleted file mode 100644
index f6fc7c9b3..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/InitAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public enum InitAction {
- CheckInit("Initialize if needed"), ForceInit("Always Initialize"), NoInit("No initialization");
-
- private String str;
-
- private InitAction(String str) {
- this.str = str;
- }
-
- public String getInitActionStr() {
- return str;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java
deleted file mode 100644
index d41bfd62a..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationItem.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LabelAllocationItem extends AllocationItem {
-
- public String label;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java
deleted file mode 100644
index 9c9f9145d..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationOutcome.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LabelAllocationOutcome extends AllocationOutcome {
-
- public String allocatedLabel = null;
- public String currentLabel = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java
deleted file mode 100644
index 97751fc01..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelAllocationRequest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LabelAllocationRequest extends AllocationRequest {
-
- public String label = null;
- public boolean check = false;
- public boolean allocate = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java
deleted file mode 100644
index d09dba267..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LabelResource.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LabelResource extends Resource {
-
- public static final String BLOCKED = "__BLOCKED__";
-
- public String label;
- public int referenceCount;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java
deleted file mode 100644
index ad1674f7b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationItem.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LimitAllocationItem extends AllocationItem {
-
- public long used;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java
deleted file mode 100644
index d635e3605..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationOutcome.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LimitAllocationOutcome extends AllocationOutcome {
-
- public long allocatedCount = 0;
- public long used = 0;
- public long limit = 0;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java
deleted file mode 100644
index 06c0e8393..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitAllocationRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LimitAllocationRequest extends AllocationRequest {
-
- public long checkCount = 0;
- public long allocateCount = 0;
- public long checkLimit = -1;
- public boolean replace = false;
- public boolean strict = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java
deleted file mode 100644
index 2fd9b6cae..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/LimitResource.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class LimitResource extends Resource {
-
- public long used = 0;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java
deleted file mode 100644
index 2d7b11c31..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationOutcome.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.List;
-
-public class MultiAssetAllocationOutcome extends AllocationOutcome {
-
- public List<String> goodAssetIdList;
- public List<AllocationOutcome> allocationOutcomeList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java
deleted file mode 100644
index 366201f35..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiAssetAllocationRequest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.List;
-
-public class MultiAssetAllocationRequest extends AllocationRequest {
-
- public List<String> assetIdList = null;
- public AllocationRequest allocationRequest = null;
- public int requestedCount = 0;
- public boolean sequential = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java
deleted file mode 100644
index f71c247da..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationOutcome.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.List;
-
-public class MultiResourceAllocationOutcome extends AllocationOutcome {
-
- public List<AllocationOutcome> allocationOutcomeList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java
deleted file mode 100644
index 3244c2340..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/MultiResourceAllocationRequest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.List;
-
-public class MultiResourceAllocationRequest extends AllocationRequest {
-
- public List<AllocationRequest> allocationRequestList = null;
- public boolean stopOnFirstFailure = true;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java
deleted file mode 100644
index 16be77f5b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Range.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class Range {
-
- public int min = 0;
- public int max = 0;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java
deleted file mode 100644
index 8e62ef653..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationItem.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeAllocationItem extends AllocationItem {
-
- public SortedSet<Integer> used;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java
deleted file mode 100644
index 3b675c221..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationOutcome.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeAllocationOutcome extends AllocationOutcome {
-
- public SortedSet<Integer> allocated = null;
- public SortedSet<Integer> used = null;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
deleted file mode 100644
index a7948b02c..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeAllocationRequest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.List;
-import java.util.SortedSet;
-
-public class RangeAllocationRequest extends AllocationRequest {
-
- public List<Range> rangeList = null;
- public boolean check = false;
- public boolean allocate = false;
- public boolean replace = false;
- public SortedSet<Integer> requestedNumbers = null;
- public SortedSet<Integer> excludeNumbers = null;
- public int requestedCount = 1;
- public boolean sequential = false;
- public boolean reverseOrder = false;
- public boolean forceNewNumbers = false;
- public boolean nextInSequence = false;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java
deleted file mode 100644
index c39cb37ea..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/RangeResource.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.SortedSet;
-
-public class RangeResource extends Resource {
-
- public SortedSet<Integer> used;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ReleaseRequest.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ReleaseRequest.java
deleted file mode 100644
index dba6a172f..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ReleaseRequest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.Set;
-
-public class ReleaseRequest {
-
- public String resourceUnionId = null;
- public String resourceSetId = null;
- public String assetId = null;
- public String resourceName = null;
- public int releaseAmount = 0;
- public Set<Integer> releaseNumbers = null;
-
- public static ReleaseRequest resourceSet(String resourceSetId) {
- ReleaseRequest rr = new ReleaseRequest();
- rr.resourceSetId = resourceSetId;
- return rr;
- }
-
- public static ReleaseRequest resourceUnion(String resourceUnionId) {
- ReleaseRequest rr = new ReleaseRequest();
- rr.resourceUnionId = resourceUnionId;
- return rr;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java
deleted file mode 100644
index 59706f4d5..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/Resource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.Collection;
-
-public abstract class Resource {
-
- public ResourceKey resourceKey;
- public ResourceType resourceType;
- public Collection<AllocationItem> allocationItems;
- public Collection<ResourceLoad> resourceLoadList;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java
deleted file mode 100644
index b1f8d5910..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceKey.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public class ResourceKey {
-
- public String assetId;
- public String resourceName;
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || !(o instanceof ResourceKey))
- return false;
- ResourceKey rk = (ResourceKey) o;
- if (assetId == null || resourceName == null)
- return false;
- return assetId.equals(rk.assetId) && resourceName.equals(rk.resourceName);
- }
-
- @Override
- public int hashCode() {
- return (int) ((long) System.identityHashCode(assetId) + (long) System.identityHashCode(resourceName));
- }
-
- @Override
- public String toString() {
- return "(" + assetId + ", " + resourceName + ")";
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java
deleted file mode 100644
index 1ff1962af..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceLoad.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-import java.util.Date;
-
-public class ResourceLoad {
-
- public ResourceKey resourceKey;
- public String applicationId;
- public Date resourceLoadTime;
- public Date resourceExpirationTime;
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java
deleted file mode 100644
index 60896e492..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/data/ResourceType.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.data;
-
-public enum ResourceType {
- Limit, Label, Range
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
deleted file mode 100644
index a67a50b31..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LabelUtil.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-
-public class LabelUtil {
-
- public static boolean checkLabel(LabelResource l, LabelAllocationRequest req) {
- if (req.check && req.label != null && l.allocationItems != null && !l.allocationItems.isEmpty()) {
- for (AllocationItem ai : l.allocationItems) {
- LabelAllocationItem lai = (LabelAllocationItem) ai;
- if (!eq(req.resourceUnionId, lai.resourceUnionId) && !eq(req.label, lai.label)) {
- return false;
- }
- }
- }
- return true;
- }
-
- public static String allocateLabel(LabelResource l, LabelAllocationRequest req) {
- 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 = req.applicationId;
- lai.resourceSetId = req.resourceSetId;
- lai.resourceUnionId = req.resourceUnionId;
- lai.resourceShareGroupList = req.resourceShareGroupList;
-
- if (l.allocationItems == null) {
- l.allocationItems = new ArrayList<>();
- }
- l.allocationItems.add(lai);
- }
-
- lai.label = req.label;
- lai.allocationTime = new Date();
-
- recalculate(l);
-
- return lai.label;
- }
-
- public static void recalculate(LabelResource l) {
- l.label = null;
- l.referenceCount = 0;
- if (l.allocationItems != null) {
- for (AllocationItem ai : l.allocationItems) {
- LabelAllocationItem lai = (LabelAllocationItem) ai;
- if (lai.label != null) {
- l.referenceCount++;
- if (l.label == null) {
- l.label = lai.label;
- } else if (!l.label.equals(lai.label)) {
- l.label = "__BLOCKED__";
- }
- }
- }
- }
- }
-
- private static boolean eq(Object o1, Object o2) {
- return o1 == null ? o2 == null : o1.equals(o2);
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
deleted file mode 100644
index 2e36c9661..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/LimitUtil.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class LimitUtil {
-
- private static final Logger log = LoggerFactory.getLogger(LimitUtil.class);
-
- public static boolean checkLimit(LimitResource l, LimitAllocationRequest req) {
- if (req.checkCount <= 0) {
- return true;
- }
-
- long checkCount = req.checkCount;
- long currentUsage = 0;
- if (req.resourceSetId != null) {
- LimitAllocationItem lai = (LimitAllocationItem) ResourceUtil.getAllocationItem(l, req.resourceSetId);
- if (lai != null) {
- currentUsage = lai.used;
- }
- }
- if (!req.replace) {
- checkCount += currentUsage;
- }
-
- long used = calculateLimitUsage(l, 0, null, null);
- long wouldUse = calculateLimitUsage(l, checkCount, req.resourceUnionId, req.resourceShareGroupList);
-
- // If usage is not increasing by this request, only check the limit if
- // strictCheck is true.
- if (wouldUse <= used && !req.strict) {
- return true;
- }
-
- return wouldUse <= req.checkLimit;
- }
-
- private static long calculateLimitUsage(
- LimitResource l,
- long checkCount,
- String resourceUnionId,
- Set<String> resourceShareGroupList) {
- if ((l.allocationItems == null || l.allocationItems.isEmpty()) &&
- (resourceUnionId == null || resourceUnionId.length() == 0)) {
- return 0;
- }
-
- long t1 = System.currentTimeMillis();
- boolean logit = false;
- String rn = "Resource: " + l.resourceKey.resourceName + " - " + l.resourceKey.assetId;
-
- // In order to best utilize the resource, we need to take not the sum of all allocation items, but
- // instead the maximum usage that could happen at any moment of time (given not all allocation items are active
- // at the same time), also taking into account possible resource sharing.
- // Thus we need to find all combinations of allocation items that can be active at the same time (allocation
- // items with the same first union cannot be active at the same time), compute the usage for each (again,
- // taking into account resource sharing), and take the maximum.
- //
- // Example:
- // Let's have the following allocation items:
- // ai1: sdid1, vrf1 - usage 5
- // ai2: sdid2, vrf1 - usage 10
- // ai3: sdid3, vrf2 - usage 15
- // ai4: sdid1, vrf3 - usage 20
- // ai5: sdid3, vrf1 - usage 25
- // The following combinations of active allocation items are possible:
- // 1) ai1, ai2, ai3
- // 2) ai1, ai2, ai5
- // 3) ai2, ai3, ai4
- // 4) ai2, ai3, ai5
- // Here is how we calculate the usage for combination 1:
- // ai1 and ai2 contain the same resource union vrf1, so they share the resource - we take the max of usage,
- // so we have:
- // max(5, 10) + 15 = 25
- // Similarly, we calculate the usage of the other combinations:
- // 2) max(5, 10, 25) = 25
- // 3) 10 + 15 + 20 = 45
- // 4) max(10, 25) + 15 = 40
- // So, the result in this case is:
- // max(25, 25, 45, 40) = 45
- //
- // We might have a problem with this approach, if we have a lot of combinations. Assuming we have at most 2
- // allocation items with the same resource union (sdid), the number of combinations would be
- // 2 ^ n
- // where n is the number of allocation items that have the same resource union (sdid). That would be
- // the number of change orders currently in progress.
- //
- // Here is one optimization that we can do:
- // If we have allocation items that have all resource unions the same, we don't need to generate combinations
- // with each of them, we can just take the one of them with the maximum usage, as it is clear that the others
- // will not lead to a bigger usage.
- // For example, if we had the following allocation items:
- // ai1: sdid1, vrf1 - usage 10
- // ai2: sdid1, vrf1 - usage 20
- // We only need to take the combinations with ai2, as they will always lead to bigger usage than the remaining
- // combinations with ai1.
-
- // First, group the allocation items by the first resource union, using the LimitUsage structure
- int regularChangeCount = 0;
- Map<String/* resourceUnionId */, List<LimitUsage>> limitUsageMap = new HashMap<>();
- 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<>();
- 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<>();
- 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<>();
- for (List<LimitUsage> combination : allCombinations) {
- for (LimitUsage limitUsage : limitUsageList) {
- List<LimitUsage> newCombination = new ArrayList<>(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<>();
- 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<>();
- 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<>();
- 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) {
- 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 = req.applicationId;
- lai.resourceSetId = req.resourceSetId;
- lai.resourceUnionId = req.resourceUnionId;
- lai.resourceShareGroupList = req.resourceShareGroupList;
- lai.used = req.allocateCount;
-
- if (l.allocationItems == null) {
- l.allocationItems = new ArrayList<>();
- }
- l.allocationItems.add(lai);
- } else {
- lai.used = req.replace ? req.allocateCount : lai.used + req.allocateCount;
- }
-
- lai.allocationTime = new Date();
-
- recalculate(l);
-
- return l.used - uu;
- }
-
- public static void recalculate(LimitResource l) {
- l.used = calculateLimitUsage(l, 0, null, null);
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
deleted file mode 100644
index 2e378f1aa..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/RangeUtil.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.util;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Set;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.Range;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeAllocationRequest;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceKey;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-
-public class RangeUtil {
-
- public static void recalculate(RangeResource r) {
- r.used = new TreeSet<>();
- 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 (req.excludeNumbers != null && req.excludeNumbers.contains(num)) {
- return false;
- }
-
- if (req.rangeList != null && !req.rangeList.isEmpty()) {
- boolean good = false;
- for (Range range : req.rangeList) {
- if (num < range.min || num > range.max) {
- continue;
- }
-
- boolean found = false;
- if (r.allocationItems != null) {
- for (AllocationItem ai : r.allocationItems) {
- RangeAllocationItem rai = (RangeAllocationItem) ai;
- if (!eq(req.resourceUnionId, rai.resourceUnionId) && rai.used != null
- && rai.used.contains(num)) {
- if (!overlap(rai.resourceShareGroupList, req.resourceShareGroupList)) {
- found = true;
- break;
- }
- }
- if (!req.replace && eq(req.resourceSetId, rai.resourceSetId) && rai.used != null
- && rai.used.contains(num)) {
- found = true;
- break;
- }
- if (req.forceNewNumbers && rai.used.contains(num)) {
- found = true;
- break;
- }
- }
- }
-
- if (!found) {
- good = true;
- break;
- }
- }
-
- return good;
- }
-
- return true;
- }
-
- public static SortedSet<Integer> getUsed(RangeResource r, String resourceUnionId) {
- SortedSet<Integer> used = new TreeSet<>();
- if (r.allocationItems != null) {
- for (AllocationItem ai : r.allocationItems) {
- RangeAllocationItem rai = (RangeAllocationItem) ai;
- if (eq(resourceUnionId, rai.resourceUnionId) && rai.used != null) {
- used.addAll(rai.used);
- }
- }
- }
- return used;
- }
-
- public static void allocateRange(RangeResource rr, SortedSet<Integer> requestedNumbers,
- RangeAllocationRequest req) {
- if (!req.allocate) {
- return;
- }
-
- RangeAllocationItem rai = (RangeAllocationItem) ResourceUtil.getAllocationItem(rr, req.resourceSetId);
- if (rai == null) {
- rai = new RangeAllocationItem();
- rai.resourceType = ResourceType.Range;
- rai.resourceKey = new ResourceKey();
- rai.resourceKey.assetId = req.assetId;
- rai.resourceKey.resourceName = req.resourceName;
- rai.applicationId = req.applicationId;
- rai.resourceSetId = req.resourceSetId;
- rai.resourceUnionId = req.resourceUnionId;
- rai.resourceShareGroupList = req.resourceShareGroupList;
- rai.used = requestedNumbers;
-
- if (rr.allocationItems == null) {
- rr.allocationItems = new ArrayList<>();
- }
- rr.allocationItems.add(rai);
- } else if (req.replace) {
- rai.used = requestedNumbers;
- } else {
- rai.used.addAll(requestedNumbers);
- }
-
- rai.allocationTime = new Date();
-
- recalculate(rr);
- }
-
- private static boolean eq(Object o1, Object o2) {
- return o1 == null ? o2 == null : o1.equals(o2);
- }
-
- private static boolean overlap(Set<String> s1, Set<String> s2) {
- if (s1 == null || s1.isEmpty() || s2 == null || s2.isEmpty()) {
- return false;
- }
- for (String ss1 : s1) {
- if (s2.contains(ss1)) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
deleted file mode 100644
index 3db63804b..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/rm/util/ResourceUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.rm.util;
-
-import org.onap.ccsdk.sli.adaptors.rm.data.AllocationItem;
-import org.onap.ccsdk.sli.adaptors.rm.data.LabelResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.LimitResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.RangeResource;
-import org.onap.ccsdk.sli.adaptors.rm.data.Resource;
-import org.onap.ccsdk.sli.adaptors.rm.data.ResourceType;
-
-public class ResourceUtil {
-
- public static AllocationItem getAllocationItem(Resource r, String resourceSetId) {
- if (r.allocationItems != null) {
- for (AllocationItem ai : r.allocationItems) {
- if (ai.resourceSetId != null && ai.resourceSetId.equals(resourceSetId)) {
- return ai;
- }
- }
- }
- return null;
- }
-
- public static void recalculate(Resource r) {
- if (r == null) {
- return;
- }
-
- if (r.resourceType == ResourceType.Limit) {
- LimitUtil.recalculate((LimitResource) r);
- } else if (r.resourceType == ResourceType.Range) {
- RangeUtil.recalculate((RangeResource) r);
- } else if (r.resourceType == ResourceType.Label) {
- LabelUtil.recalculate((LabelResource) r);
- }
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
deleted file mode 100644
index 3fa3952f2..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/CachedDataSourceWrap.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.db;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-import javax.sql.DataSource;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class CachedDataSourceWrap implements DataSource {
-
- private static final Logger log = LoggerFactory.getLogger(CachedDataSourceWrap.class);
-
- private ThreadLocal<ConnectionWrap> con = new ThreadLocal<>();
- private ThreadLocal<Boolean> autoCommit = 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);
-
- autoCommit.set(c.getAutoCommit());
- c.setAutoCommit(false);
-
- 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);
-
- autoCommit.set(c.getAutoCommit());
- c.setAutoCommit(false);
-
- 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().setAutoCommit(autoCommit.get());
- 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 commit() {
- if (con.get() != null) {
- try {
- con.get().commit();
-
- log.info("DB Connection committed: " + con.get().getCon());
- } catch (Exception e) {
- log.warn("Failed to commit DB connection", e);
- }
- }
- }
-
- public void rollback() {
- if (con.get() != null) {
- try {
- con.get().rollback();
-
- log.info("DB Connection rolled back: " + con.get().getCon());
- } catch (Exception e) {
- log.warn("Failed to roll back DB connection", e);
- }
- }
- }
-
- public void setDataSource(DataSource dataSource) {
- this.dataSource = dataSource;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java
deleted file mode 100644
index 7d2554806..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/ConnectionWrap.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.db;
-
-import java.sql.Array;
-import java.sql.Blob;
-import java.sql.CallableStatement;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.NClob;
-import java.sql.PreparedStatement;
-import java.sql.SQLClientInfoException;
-import java.sql.SQLException;
-import java.sql.SQLWarning;
-import java.sql.SQLXML;
-import java.sql.Savepoint;
-import java.sql.Statement;
-import java.sql.Struct;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.Executor;
-
-public class ConnectionWrap implements Connection {
-
- private Connection cc;
-
- public ConnectionWrap(Connection cc) {
- super();
- this.cc = cc;
- }
-
- public Connection getCon() {
- return cc;
- }
-
- public void realClose() throws SQLException {
- cc.close();
- }
-
- @Override
- public <T> T unwrap(Class<T> iface) throws SQLException {
- return cc.unwrap(iface);
- }
-
- @Override
- public boolean isWrapperFor(Class<?> iface) throws SQLException {
- return cc.isWrapperFor(iface);
- }
-
- @Override
- public Statement createStatement() throws SQLException {
- return cc.createStatement();
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql) throws SQLException {
- return cc.prepareStatement(sql);
- }
-
- @Override
- public CallableStatement prepareCall(String sql) throws SQLException {
- return cc.prepareCall(sql);
- }
-
- @Override
- public String nativeSQL(String sql) throws SQLException {
- return cc.nativeSQL(sql);
- }
-
- @Override
- public void setAutoCommit(boolean autoCommit) throws SQLException {
- cc.setAutoCommit(autoCommit);
- }
-
- @Override
- public boolean getAutoCommit() throws SQLException {
- return cc.getAutoCommit();
- }
-
- @Override
- public void commit() throws SQLException {
- cc.commit();
- }
-
- @Override
- public void rollback() throws SQLException {
- cc.rollback();
- }
-
- @Override
- public void close() throws SQLException {
- }
-
- @Override
- public boolean isClosed() throws SQLException {
- return cc.isClosed();
- }
-
- @Override
- public DatabaseMetaData getMetaData() throws SQLException {
- return cc.getMetaData();
- }
-
- @Override
- public void setReadOnly(boolean readOnly) throws SQLException {
- cc.setReadOnly(readOnly);
- }
-
- @Override
- public boolean isReadOnly() throws SQLException {
- return cc.isReadOnly();
- }
-
- @Override
- public void setCatalog(String catalog) throws SQLException {
- cc.setCatalog(catalog);
- }
-
- @Override
- public String getCatalog() throws SQLException {
- return cc.getCatalog();
- }
-
- @Override
- public void setTransactionIsolation(int level) throws SQLException {
- cc.setTransactionIsolation(level);
- }
-
- @Override
- public int getTransactionIsolation() throws SQLException {
- return cc.getTransactionIsolation();
- }
-
- @Override
- public SQLWarning getWarnings() throws SQLException {
- return cc.getWarnings();
- }
-
- @Override
- public void clearWarnings() throws SQLException {
- cc.clearWarnings();
- }
-
- @Override
- public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
- return cc.createStatement(resultSetType, resultSetConcurrency);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
- throws SQLException {
- return cc.prepareStatement(sql, resultSetType, resultSetConcurrency);
- }
-
- @Override
- public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
- return cc.prepareCall(sql, resultSetType, resultSetConcurrency);
- }
-
- @Override
- public Map<String, Class<?>> getTypeMap() throws SQLException {
- return cc.getTypeMap();
- }
-
- @Override
- public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
- cc.setTypeMap(map);
- }
-
- @Override
- public void setHoldability(int holdability) throws SQLException {
- cc.setHoldability(holdability);
- }
-
- @Override
- public int getHoldability() throws SQLException {
- return cc.getHoldability();
- }
-
- @Override
- public Savepoint setSavepoint() throws SQLException {
- return cc.setSavepoint();
- }
-
- @Override
- public Savepoint setSavepoint(String name) throws SQLException {
- return cc.setSavepoint(name);
- }
-
- @Override
- public void rollback(Savepoint savepoint) throws SQLException {
- cc.rollback(savepoint);
- }
-
- @Override
- public void releaseSavepoint(Savepoint savepoint) throws SQLException {
- cc.releaseSavepoint(savepoint);
- }
-
- @Override
- public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
- throws SQLException {
- return cc.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
- }
-
- @Override
- public PreparedStatement prepareStatement(
- String sql,
- int resultSetType,
- int resultSetConcurrency,
- int resultSetHoldability) throws SQLException {
- return cc.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
- }
-
- @Override
- public CallableStatement prepareCall(
- String sql,
- int resultSetType,
- int resultSetConcurrency,
- int resultSetHoldability) throws SQLException {
- return cc.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
- return cc.prepareStatement(sql, autoGeneratedKeys);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
- return cc.prepareStatement(sql, columnIndexes);
- }
-
- @Override
- public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
- return cc.prepareStatement(sql, columnNames);
- }
-
- @Override
- public Clob createClob() throws SQLException {
- return cc.createClob();
- }
-
- @Override
- public Blob createBlob() throws SQLException {
- return cc.createBlob();
- }
-
- @Override
- public NClob createNClob() throws SQLException {
- return cc.createNClob();
- }
-
- @Override
- public SQLXML createSQLXML() throws SQLException {
- return cc.createSQLXML();
- }
-
- @Override
- public boolean isValid(int timeout) throws SQLException {
- return cc.isValid(timeout);
- }
-
- @Override
- public void setClientInfo(String name, String value) throws SQLClientInfoException {
- cc.setClientInfo(name, value);
- }
-
- @Override
- public void setClientInfo(Properties properties) throws SQLClientInfoException {
- cc.setClientInfo(properties);
- }
-
- @Override
- public String getClientInfo(String name) throws SQLException {
- return cc.getClientInfo(name);
- }
-
- @Override
- public Properties getClientInfo() throws SQLException {
- return cc.getClientInfo();
- }
-
- @Override
- public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
- return cc.createArrayOf(typeName, elements);
- }
-
- @Override
- public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
- return cc.createStruct(typeName, attributes);
- }
-
- @Override
- public void setSchema(String schema) throws SQLException {
- cc.setSchema(schema);
- }
-
- @Override
- public String getSchema() throws SQLException {
- return cc.getSchema();
- }
-
- @Override
- public void abort(Executor executor) throws SQLException {
- cc.abort(executor);
- }
-
- @Override
- public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException {
- cc.setNetworkTimeout(executor, milliseconds);
- }
-
- @Override
- public int getNetworkTimeout() throws SQLException {
- return cc.getNetworkTimeout();
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java
deleted file mode 100644
index 2aebb83e3..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/db/DataSourceWrap.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.db;
-
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.SQLFeatureNotSupportedException;
-
-import javax.sql.DataSource;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataSourceWrap implements DataSource {
-
- private static final Logger log = LoggerFactory.getLogger(DataSourceWrap.class);
-
- private DataSource dataSource;
-
- @Override
- public PrintWriter getLogWriter() throws SQLException {
- return dataSource.getLogWriter();
- }
-
- @Override
- public void setLogWriter(PrintWriter out) throws SQLException {
- dataSource.setLogWriter(out);
- }
-
- @Override
- public void setLoginTimeout(int seconds) throws SQLException {
- dataSource.setLoginTimeout(seconds);
- }
-
- @Override
- public int getLoginTimeout() throws SQLException {
- return dataSource.getLoginTimeout();
- }
-
- @Override
- public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
- return dataSource.getParentLogger();
- }
-
- @Override
- public <T> T unwrap(Class<T> iface) throws SQLException {
- return dataSource.unwrap(iface);
- }
-
- @Override
- public boolean isWrapperFor(Class<?> iface) throws SQLException {
- return dataSource.isWrapperFor(iface);
- }
-
- @Override
- public Connection getConnection() throws SQLException {
- Connection c = dataSource.getConnection();
-
- log.debug("getConnection: " + c.getClass().getName());
-
- c.setAutoCommit(true);
- return c;
- }
-
- @Override
- public Connection getConnection(String username, String password) throws SQLException {
- Connection c = dataSource.getConnection(username, password);
-
- log.debug("getConnection: " + c.getClass().getName());
-
- c.setAutoCommit(true);
- return c;
- }
-
- public void setDataSource(DataSource dataSource) {
- this.dataSource = dataSource;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
deleted file mode 100644
index 8092a7515..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/expr/ExpressionEvaluator.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.expr;
-
-import java.util.Map;
-
-public class ExpressionEvaluator {
-
- public static long evalLong(String expr, Map<String, String> vars) {
- return (long) evalFloat(expr, vars);
- }
-
- public static float evalFloat(String expr, Map<String, String> 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
- String v = vars.get(expr);
- try {
- return Float.valueOf(v);
- } catch (Exception e) {
- }
- return 0;
- }
-
- public static String evalString(String expr, Map<String, String> 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 evalString(expr.substring(1, sl - 1), vars);
- }
-
- // Look for operators in the order of least priority
- String[] sss = findOperator(expr, "+", true);
- if (sss != null) {
- return evalString(sss[0], vars) + evalString(sss[1], vars);
- }
-
- // Check if expr is a number
- try {
- return Float.valueOf(expr).toString();
- } catch (Exception e) {
- }
-
- // Check for quotes
- if (expr.charAt(0) == '"' && expr.charAt(sl - 1) == '"') {
- return expr.substring(1, sl - 1);
- }
- if (expr.charAt(0) == '\'' && expr.charAt(sl - 1) == '\'') {
- return expr.substring(1, sl - 1);
- }
-
- // Must be a variable
- String v = vars.get(expr);
- return v != null ? v : "";
- }
-
- public static boolean evalBoolean(String expr, Map<String, String> vars) {
- expr = expr.trim();
- int sl = expr.length();
- if (sl == 0) {
- throw new IllegalArgumentException("Cannot interpret empty string.");
- }
-
- if (expr.equalsIgnoreCase("true")) {
- return true;
- }
-
- if (expr.equalsIgnoreCase("false")) {
- 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 !evalString(sss[0], vars).equals(evalString(sss[1], vars));
- }
-
- sss = findOperator(expr, "==", false);
- if (sss == null) {
- sss = findOperator(expr, "=", false);
- }
- if (sss != null) {
- return evalString(sss[0], vars).equals(evalString(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;
- int 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;
- }
-
- @SuppressWarnings("unused")
- private static Object parseObject(String s) {
- s = s.trim();
- int sl = s.length();
- if (sl == 0) {
- throw new IllegalArgumentException("Cannot interpret empty string.");
- }
- if (s.equalsIgnoreCase("null")) {
- return null;
- }
- if (s.charAt(0) == '\'') {
- if (sl < 2 || s.charAt(sl - 1) != '\'') {
- throw new IllegalArgumentException("Cannot interpret '" + s + "': No closing '.");
- }
- return s.substring(1, sl - 1);
- }
- // Not in quotes - must be a number
- try {
- return Long.valueOf(s);
- } catch (Exception e) {
- }
- try {
- return Double.valueOf(s);
- } catch (Exception e) {
- throw new IllegalArgumentException("Cannot interpret '" + s + "': Invalid number.");
- }
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
deleted file mode 100644
index 0d1359cf3..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/speed/SpeedUtil.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.speed;
-
-public class SpeedUtil {
-
- private long unitFactor = 1000;
-
- public long convertToKbps(long maxSpeed, String unit) {
- if (unit.equalsIgnoreCase("kbps")) {
- return maxSpeed;
- }
- if (unit.equalsIgnoreCase("Mbps")) {
- return maxSpeed * unitFactor;
- }
- if (unit.equalsIgnoreCase("Gbps")) {
- return maxSpeed * unitFactor * unitFactor;
- }
- return 0;
- }
-
- public long convertToMbps(long maxSpeed, String unit) {
- if (unit.equalsIgnoreCase("kbps")) {
- return maxSpeed / unitFactor;
- }
- if (unit.equalsIgnoreCase("Mbps")) {
- return maxSpeed;
- }
- if (unit.equalsIgnoreCase("Gbps")) {
- return maxSpeed * unitFactor;
- }
- return 0;
- }
-
- public void setUnitFactor(long unitFactor) {
- this.unitFactor = unitFactor;
- }
-}
diff --git a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java b/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java
deleted file mode 100644
index 126ec94e5..000000000
--- a/resource-assignment/provider/src/main/java/org/onap/ccsdk/sli/adaptors/util/str/StrUtil.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * openECOMP : SDN-C
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.ccsdk.sli.adaptors.util.str;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.Field;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class StrUtil {
-
- private static final Logger log = LoggerFactory.getLogger(StrUtil.class);
-
- public static final String INDENT_STR = " ";
-
- public static void indent(StringBuilder ss, int ind) {
- for (int i = 0; i < ind; i++)
- ss.append(INDENT_STR);
- }
-
- public static void info(Logger log, Object o) {
- if (log.isInfoEnabled()) {
- StringBuilder ss = new StringBuilder();
- struct(ss, o);
- log.info(ss.toString());
- }
- }
-
- public static void debug(Logger log, Object o) {
- if (log.isDebugEnabled()) {
- StringBuilder ss = new StringBuilder();
- struct(ss, o);
- log.debug(ss.toString());
- }
- }
-
- public static void struct(StringBuilder ss, Object o) {
- struct(ss, o, 0);
- }
-
- public static void struct(StringBuilder ss, Object o, int ind) {
- if (o == null) {
- ss.append("null");
- return;
- }
-
- if (isSimple(o)) {
- ss.append(o);
- return;
- }
-
- Class<? extends Object> cls = o.getClass();
-
- if (cls.isEnum()) {
- ss.append(o);
- return;
- }
-
- if (cls.isArray()) {
- int n = Array.getLength(o);
- if (n == 0) {
- ss.append("[]");
- return;
- }
-
- Object o1 = Array.get(o, 0);
- if (isSimple(o1)) {
- ss.append('[').append(o1);
- for (int i = 1; i < n; i++) {
- o1 = Array.get(o, i);
- ss.append(", ").append(o1);
- }
- ss.append(']');
- return;
- }
-
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append('[');
- struct(ss, o1, ind + 1);
- for (int i = 1; i < n; i++) {
- o1 = Array.get(o, i);
- struct(ss, o1, ind + 1);
- }
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append(']');
- return;
- }
-
- if (o instanceof Collection<?>) {
- Collection<?> ll = (Collection<?>) o;
-
- int n = ll.size();
- if (n == 0) {
- ss.append("[]");
- return;
- }
-
- Iterator<?> ii = ll.iterator();
- Object o1 = ii.next();
- if (isSimple(o1)) {
- ss.append('[').append(o1);
- while (ii.hasNext()) {
- o1 = ii.next();
- ss.append(", ").append(o1);
- }
- ss.append(']');
- return;
- }
-
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append('[');
- struct(ss, o1, ind + 1);
- while (ii.hasNext()) {
- o1 = ii.next();
- struct(ss, o1, ind + 1);
- }
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append(']');
- return;
-
- }
-
- if (o instanceof Map<?, ?>) {
- Map<?, ?> mm = (Map<?, ?>) o;
-
- int n = mm.size();
- if (n == 0) {
- ss.append("{}");
- return;
- }
-
- ss.append('{');
-
- for (Object k : mm.keySet()) {
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append(k).append(": ");
-
- Object o1 = mm.get(k);
- struct(ss, o1, ind + 2);
- }
-
- ss.append('\n');
- indent(ss, ind);
- ss.append('}');
-
- return;
- }
-
- Field[] fields = cls.getFields();
-
- if (fields.length == 0) {
- ss.append(o);
- return;
- }
-
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append('<').append(cls.getSimpleName()).append("> {");
- for (Field f : fields) {
- ss.append('\n');
- indent(ss, ind + 2);
- ss.append(f.getName()).append(": ");
- Object v = null;
- try {
- v = f.get(o);
- } catch (IllegalAccessException e) {
- v = "*** Cannot obtain value *** : " + e.getMessage();
- }
- struct(ss, v, ind + 2);
- }
- ss.append('\n');
- indent(ss, ind + 1);
- ss.append('}');
- }
-
- public static SortedSet<Integer> listInt(String ss, String warning) {
- if (ss == null || ss.length() == 0)
- return null;
-
- SortedSet<Integer> ll = new TreeSet<Integer>();
- String[] str = ss.split(",");
- for (String s : str) {
- try {
- int i1 = s.indexOf('-');
- int start;
- int 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;
- }
-}