diff options
author | sheetalm <sheetal.mudholkar@amdocs.com> | 2018-02-14 09:39:22 +0530 |
---|---|---|
committer | Vitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com> | 2018-02-18 19:44:22 +0000 |
commit | 04c1754116920f5b43b20f449a39cbfa7a681102 (patch) | |
tree | 805a48420c86466c82eace500d5edc6531e1f554 /openecomp-be/backend/openecomp-sdc-item-permissions-manager | |
parent | 1f79fe6cf0abafc9db0a99f4c9fbd661a5d87b32 (diff) |
Onboarding foundation changes for ItemManager
Resolved conflicting changes
1. Split ItemManager to ASDCItemManager and ItemManager
2. ItemManager provides basic capability of item without collaboration
3. AsdcItemManager provides all capabilities of item including
collaboration which are required by onboarding
4. ItemManager can be used by other services like activity spec to
create a basic item without collaboration features.
Change-Id: I6c6dc34a2b1a1745c796099b70e359432e90f85e
Issue-ID: SDC-1039
Signed-off-by: sheetalm <sheetal.mudholkar@amdocs.com>
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-item-permissions-manager')
3 files changed, 93 insertions, 36 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerFactoryImpl.java index 2255ad5fc3..6e41465a11 100644 --- a/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerFactoryImpl.java +++ b/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerFactoryImpl.java @@ -1,3 +1,19 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.openecomp.sdc.itempermissions.dao.impl; import org.openecomp.sdc.itempermissions.ItemPermissionsManager; @@ -5,7 +21,7 @@ import org.openecomp.sdc.itempermissions.ItemPermissionsManagerFactory; import org.openecomp.sdc.itempermissions.PermissionsServicesFactory; import org.openecomp.sdc.notification.factories.NotificationPropagationManagerFactory; import org.openecomp.sdc.notification.factories.SubscriptionServiceFactory; -import org.openecomp.sdc.versioning.ItemManagerFactory; +import org.openecomp.sdc.versioning.AsdcItemManagerFactory; /** * Created by ayalaben on 6/18/2017 @@ -14,7 +30,7 @@ public class ItemPermissionsManagerFactoryImpl extends ItemPermissionsManagerFac private static final ItemPermissionsManager INSTANCE = new ItemPermissionsManagerImpl(PermissionsServicesFactory.getInstance().createInterface(), - ItemManagerFactory.getInstance().createInterface(), + AsdcItemManagerFactory.getInstance().createInterface(), NotificationPropagationManagerFactory.getInstance().createInterface(), SubscriptionServiceFactory.getInstance().createInterface()); diff --git a/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImpl.java b/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImpl.java index 838530a1cd..a68c2d89f9 100644 --- a/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImpl.java @@ -1,5 +1,32 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.openecomp.sdc.itempermissions.dao.impl; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.ITEM_ID_PROP; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.ITEM_NAME_PROP; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_CHANGED; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_GRANTED; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_ITEM; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_USER; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; @@ -14,21 +41,9 @@ import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.notification.dtos.Event; import org.openecomp.sdc.notification.services.NotificationPropagationManager; import org.openecomp.sdc.notification.services.SubscriptionService; -import org.openecomp.sdc.versioning.ItemManager; +import org.openecomp.sdc.versioning.AsdcItemManager; import org.openecomp.sdc.versioning.types.Item; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.ITEM_ID_PROP; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.ITEM_NAME_PROP; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_CHANGED; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_GRANTED; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_ITEM; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_USER; - /** * Created by ayalaben on 6/18/2017. */ @@ -38,16 +53,16 @@ public class ItemPermissionsManagerImpl implements ItemPermissionsManager { private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions"; private PermissionsServices permissionsServices; - private ItemManager itemManager; + private AsdcItemManager asdcItemManager; private NotificationPropagationManager notifier; private SubscriptionService subscriptionService; public ItemPermissionsManagerImpl(PermissionsServices permissionsServices, - ItemManager itemManager, + AsdcItemManager asdcItemManager, NotificationPropagationManager notificationPropagationManager, SubscriptionService subscriptionService) { this.permissionsServices = permissionsServices; - this.itemManager = itemManager; + this.asdcItemManager = asdcItemManager; this.notifier = notificationPropagationManager; this.subscriptionService = subscriptionService; } @@ -74,7 +89,7 @@ public class ItemPermissionsManagerImpl implements ItemPermissionsManager { if (permission.equals(PermissionTypes.Owner.name()) ){ if (addedUsersIds.size() == 1){ - itemManager.updateOwner(itemId,addedUsersIds.iterator().next()); + asdcItemManager.updateOwner(itemId,addedUsersIds.iterator().next()); } else { throw new CoreException(new ErrorCode.ErrorCodeBuilder() .withMessage(Messages.PERMISSIONS_OWNER_ERROR.getErrorMessage()) @@ -92,7 +107,7 @@ public class ItemPermissionsManagerImpl implements ItemPermissionsManager { private void sendNotifications(String itemId, String permission, Set<String> addedUsersIds, Set<String> removedUsersIds, String userName) { - Item item = itemManager.get(itemId); + Item item = asdcItemManager.get(itemId); addedUsersIds.forEach(affectedUser -> { notifyUser(userName, true, item.getName(), itemId, affectedUser, permission); subscriptionService.subscribe(affectedUser, itemId); diff --git a/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImplTest.java index 439b8b6105..e215db2335 100644 --- a/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-item-permissions-manager/src/test/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsManagerImplTest.java @@ -1,28 +1,53 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.openecomp.sdc.itempermissions.dao.impl; -import org.mockito.*; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.verify; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.ITEM_ID_PROP; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_CHANGED; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_GRANTED; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_ITEM; +import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertTrue; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.InjectMocks; +import org.mockito.Matchers; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.session.SessionContextProviderFactory; import org.openecomp.sdc.itempermissions.PermissionsServices; import org.openecomp.sdc.notification.dtos.Event; import org.openecomp.sdc.notification.services.NotificationPropagationManager; import org.openecomp.sdc.notification.services.SubscriptionService; -import org.openecomp.sdc.versioning.ItemManager; +import org.openecomp.sdc.versioning.AsdcItemManager; import org.openecomp.sdc.versioning.types.Item; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.verify; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.*; -import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_CHANGED; -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertTrue; - /** * Created by ayalaben on 7/6/2017 */ @@ -40,7 +65,7 @@ public class ItemPermissionsManagerImplTest { @Mock private PermissionsServices permissionsServicesMock; @Mock - private ItemManager itemManagerMock; + private AsdcItemManager asdcItemManagerMock; @Mock private SubscriptionService subscriptionServiceMock; @Mock @@ -54,7 +79,8 @@ public class ItemPermissionsManagerImplTest { @BeforeMethod public void setUp() throws Exception { - SessionContextProviderFactory.getInstance().createInterface().create(USER, tenant); + SessionContextProviderFactory.getInstance().createInterface().create(USER, + tenant); MockitoAnnotations.initMocks(this); } @@ -73,7 +99,7 @@ public class ItemPermissionsManagerImplTest { doReturn(true).when(permissionsServicesMock).isAllowed(ITEM1_ID, USER, ACTION); Item item = new Item(); item.setName("Item 1 Name"); - doReturn(item).when(itemManagerMock).get(ITEM1_ID); + doReturn(item).when(asdcItemManagerMock).get(ITEM1_ID); Set<String> addedUsersIds = Stream.of(AFFECTED_USER1, AFFECTED_USER2).collect(Collectors.toSet()); |