summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core')
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoFactoryImpl.java1
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoImpl.java23
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImpl.java40
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PrmissionsServicesFactoryImpl.java15
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoFactoryImpl.java1
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoImpl.java19
-rw-r--r--openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilter.java24
7 files changed, 33 insertions, 90 deletions
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoFactoryImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoFactoryImpl.java
index 6fd83c2233..89db18b30b 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoFactoryImpl.java
@@ -22,7 +22,6 @@ package org.openecomp.sdc.itempermissions.dao.impl;
import org.openecomp.sdc.itempermissions.dao.ItemPermissionsDao;
import org.openecomp.sdc.itempermissions.dao.ItemPermissionsDaoFactory;
-
/**
* Created by ayalaben on 6/18/2017.
*/
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoImpl.java
index c9c4198081..34c4f39395 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/ItemPermissionsDaoImpl.java
@@ -13,18 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.itempermissions.dao.impl;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.mapping.Result;
import com.datastax.driver.mapping.annotations.Accessor;
import com.datastax.driver.mapping.annotations.Query;
-
import java.util.Collection;
import java.util.Optional;
import java.util.Set;
-
import org.openecomp.core.nosqldb.api.NoSqlDb;
import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
import org.openecomp.sdc.itempermissions.dao.ItemPermissionsDao;
@@ -36,8 +33,7 @@ import org.openecomp.sdc.itempermissions.type.ItemPermissionsEntity;
public class ItemPermissionsDaoImpl implements ItemPermissionsDao {
private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
- private static ItemPermissionsAccessor accessor =
- noSqlDb.getMappingManager().createAccessor(ItemPermissionsAccessor.class);
+ private static ItemPermissionsAccessor accessor = noSqlDb.getMappingManager().createAccessor(ItemPermissionsAccessor.class);
@Override
public Collection<ItemPermissionsEntity> listItemPermissions(String itemId) {
@@ -45,22 +41,17 @@ public class ItemPermissionsDaoImpl implements ItemPermissionsDao {
}
@Override
- public void updateItemPermissions(String itemId, String permission, Set<String> addedUsersIds,
- Set<String> removedUsersIds) {
+ public void updateItemPermissions(String itemId, String permission, Set<String> addedUsersIds, Set<String> removedUsersIds) {
addedUsersIds.forEach(userId -> accessor.addPermission(itemId, userId, permission));
- removedUsersIds.stream()
- .filter(userId -> getUserItemPermission(itemId, userId)
- .map(userPermissionOnItem -> userPermissionOnItem.equals(permission))
- .orElse(false))
- .forEach(userId -> accessor.deletePermission(itemId, userId));
+ removedUsersIds.stream().filter(
+ userId -> getUserItemPermission(itemId, userId).map(userPermissionOnItem -> userPermissionOnItem.equals(permission)).orElse(false))
+ .forEach(userId -> accessor.deletePermission(itemId, userId));
}
@Override
public Optional<String> getUserItemPermission(String itemId, String userId) {
ResultSet result = accessor.getUserItemPermission(itemId, userId);
- return result.getAvailableWithoutFetching() < 1
- ? Optional.empty()
- : Optional.of(result.one().getString(0));
+ return result.getAvailableWithoutFetching() < 1 ? Optional.empty() : Optional.of(result.one().getString(0));
}
@Override
@@ -68,7 +59,6 @@ public class ItemPermissionsDaoImpl implements ItemPermissionsDao {
accessor.deleteItemPermissions(itemId);
}
-
@Accessor
interface ItemPermissionsAccessor {
@@ -86,6 +76,5 @@ public class ItemPermissionsDaoImpl implements ItemPermissionsDao {
@Query("delete from dox.item_permissions where item_id=?")
void deleteItemPermissions(String itemId);
-
}
}
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImpl.java
index d0e41d8c91..7e9d289731 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PermissionsServicesImpl.java
@@ -13,13 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.itempermissions.dao.impl;
import java.util.Collection;
import java.util.Optional;
import java.util.Set;
-
import org.openecomp.sdc.common.session.SessionContextProviderFactory;
import org.openecomp.sdc.itempermissions.PermissionsRules;
import org.openecomp.sdc.itempermissions.PermissionsServices;
@@ -27,29 +25,22 @@ import org.openecomp.sdc.itempermissions.dao.ItemPermissionsDao;
import org.openecomp.sdc.itempermissions.dao.UserPermissionsDao;
import org.openecomp.sdc.itempermissions.type.ItemPermissionsEntity;
-
/**
* Created by ayalaben on 6/22/2017.
*/
public class PermissionsServicesImpl implements PermissionsServices {
+ private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions";
private ItemPermissionsDao itemPermissionsDao;
-
private UserPermissionsDao userPermissionsDao;
-
private PermissionsRules permissionsRules;
- private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions";
-
- public PermissionsServicesImpl(PermissionsRules permissionsRules,
- ItemPermissionsDao itemPermissionsDao,
- UserPermissionsDao userPermissionsDao) {
+ public PermissionsServicesImpl(PermissionsRules permissionsRules, ItemPermissionsDao itemPermissionsDao, UserPermissionsDao userPermissionsDao) {
this.itemPermissionsDao = itemPermissionsDao;
this.permissionsRules = permissionsRules;
this.userPermissionsDao = userPermissionsDao;
}
-
@Override
public Collection<ItemPermissionsEntity> listItemPermissions(String itemId) {
return itemPermissionsDao.listItemPermissions(itemId);
@@ -61,30 +52,18 @@ public class PermissionsServicesImpl implements PermissionsServices {
}
@Override
- public void updateItemPermissions(String itemId, String permission, Set<String> addedUsersIds,
- Set<String> removedUsersIds) {
-
- String currentUserId = SessionContextProviderFactory.getInstance()
- .createInterface().get().getUser().getUserId();
-
+ public void updateItemPermissions(String itemId, String permission, Set<String> addedUsersIds, Set<String> removedUsersIds) {
+ String currentUserId = SessionContextProviderFactory.getInstance().createInterface().get().getUser().getUserId();
permissionsRules.executeAction(itemId, currentUserId, CHANGE_PERMISSIONS);
-
- permissionsRules.updatePermission(itemId, currentUserId, permission, addedUsersIds,
- removedUsersIds);
-
- itemPermissionsDao.updateItemPermissions(itemId, permission,
- addedUsersIds, removedUsersIds);
-
- userPermissionsDao.updatePermissions(itemId, permission,
- addedUsersIds, removedUsersIds);
-
+ permissionsRules.updatePermission(itemId, currentUserId, permission, addedUsersIds, removedUsersIds);
+ itemPermissionsDao.updateItemPermissions(itemId, permission, addedUsersIds, removedUsersIds);
+ userPermissionsDao.updatePermissions(itemId, permission, addedUsersIds, removedUsersIds);
}
@Override
public boolean isAllowed(String itemId, String userId, String action) {
- return itemPermissionsDao.getUserItemPermission(itemId, userId)
- .map(permission -> permissionsRules.isAllowed(permission, action))
- .orElse(false);
+ return itemPermissionsDao.getUserItemPermission(itemId, userId).map(permission -> permissionsRules.isAllowed(permission, action))
+ .orElse(false);
}
@Override
@@ -101,5 +80,4 @@ public class PermissionsServicesImpl implements PermissionsServices {
public void deleteItemPermissions(String itemId) {
itemPermissionsDao.deleteItemPermissions(itemId);
}
-
}
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PrmissionsServicesFactoryImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PrmissionsServicesFactoryImpl.java
index d009f62270..b86d10ceb1 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PrmissionsServicesFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/PrmissionsServicesFactoryImpl.java
@@ -24,14 +24,13 @@ import org.openecomp.sdc.itempermissions.dao.UserPermissionsDaoFactory;
/**
* Created by ayalaben on 6/22/2017
*/
-public class PrmissionsServicesFactoryImpl extends PermissionsServicesFactory {
+public class PrmissionsServicesFactoryImpl extends PermissionsServicesFactory {
- private static final PermissionsServices INSTANCE =
- new PermissionsServicesImpl(PermissionsRulesFactory.getInstance().createInterface(),
- ItemPermissionsDaoFactory.getInstance().createInterface(), UserPermissionsDaoFactory.getInstance().createInterface());
+ private static final PermissionsServices INSTANCE = new PermissionsServicesImpl(PermissionsRulesFactory.getInstance().createInterface(),
+ ItemPermissionsDaoFactory.getInstance().createInterface(), UserPermissionsDaoFactory.getInstance().createInterface());
- @Override
- public PermissionsServices createInterface() {
- return INSTANCE;
- }
+ @Override
+ public PermissionsServices createInterface() {
+ return INSTANCE;
+ }
}
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoFactoryImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoFactoryImpl.java
index 4c23743ea5..d60013db77 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoFactoryImpl.java
@@ -13,7 +13,6 @@
* 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.dao.UserPermissionsDao;
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoImpl.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoImpl.java
index 8609f2f4a8..25645ab483 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoImpl.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/dao/impl/UserPermissionsDaoImpl.java
@@ -13,17 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.itempermissions.dao.impl;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.mapping.annotations.Accessor;
import com.datastax.driver.mapping.annotations.Query;
-
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
-
import org.openecomp.core.nosqldb.api.NoSqlDb;
import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
import org.openecomp.sdc.itempermissions.dao.UserPermissionsDao;
@@ -31,9 +28,7 @@ import org.openecomp.sdc.itempermissions.dao.UserPermissionsDao;
public class UserPermissionsDaoImpl implements UserPermissionsDao {
private static final NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
- private static UserPermissionsAccessor accessor =
- noSqlDb.getMappingManager().createAccessor(UserPermissionsAccessor.class);
-
+ private static UserPermissionsAccessor accessor = noSqlDb.getMappingManager().createAccessor(UserPermissionsAccessor.class);
@Override
public Set<String> listUserPermittedItems(String userId, String permission) {
@@ -46,14 +41,10 @@ public class UserPermissionsDaoImpl implements UserPermissionsDao {
}
@Override
- public void updatePermissions(String itemId, String permission, Set<String> addedUsersIds,
- Set<String> removedUsersIds) {
+ public void updatePermissions(String itemId, String permission, Set<String> addedUsersIds, Set<String> removedUsersIds) {
Set<String> itemSet = Collections.singleton(itemId);
-
- addedUsersIds.forEach(userId ->
- accessor.addItem(itemSet, userId, permission));
- removedUsersIds.forEach(userId ->
- accessor.removeItem(itemSet, userId, permission));
+ addedUsersIds.forEach(userId -> accessor.addItem(itemSet, userId, permission));
+ removedUsersIds.forEach(userId -> accessor.removeItem(itemSet, userId, permission));
}
@Accessor
@@ -67,7 +58,5 @@ public class UserPermissionsDaoImpl implements UserPermissionsDao {
@Query("update dox.user_permission_items set item_list=item_list-? WHERE user_id = ? AND permission = ?")
void removeItem(Set<String> items, String userId, String permission);
-
}
-
}
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilter.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilter.java
index 1edfad3bbc..66b999951e 100644
--- a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilter.java
+++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/main/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilter.java
@@ -13,9 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.openecomp.sdc.itempermissions.servlet;
+import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -27,8 +27,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.Response;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.openecomp.sdc.common.errors.ErrorCode;
import org.openecomp.sdc.common.errors.ErrorCodeAndMessage;
import org.openecomp.sdc.common.errors.Messages;
@@ -43,9 +41,9 @@ import org.openecomp.sdc.logging.api.LoggerFactory;
public class PermissionsFilter implements Filter {
private static final Logger LOGGER = LoggerFactory.getLogger(PermissionsFilter.class);
- private final PermissionsServices permissionsServices;
private static final String IRRELEVANT_REQUEST = "Irrelevant_Request";
private static final String EDIT_ITEM = "Edit_Item";
+ private final PermissionsServices permissionsServices;
public PermissionsFilter() {
this(PermissionsServicesFactory.getInstance().createInterface());
@@ -62,10 +60,8 @@ public class PermissionsFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
- throws IOException, ServletException {
-
- if ((servletRequest instanceof HttpServletRequest)
- && isRelevant((HttpServletRequest) servletRequest, servletResponse)) {
+ throws IOException, ServletException {
+ if ((servletRequest instanceof HttpServletRequest) && isRelevant((HttpServletRequest) servletRequest, servletResponse)) {
filterChain.doFilter(servletRequest, servletResponse);
}
}
@@ -73,19 +69,15 @@ public class PermissionsFilter implements Filter {
private boolean isRelevant(HttpServletRequest servletRequest, ServletResponse servletResponse) throws IOException {
String method = servletRequest.getMethod();
if (method.equals(HttpMethod.POST) || method.equals(HttpMethod.PUT) || method.equals(HttpMethod.DELETE)) {
-
String userId = servletRequest.getHeader("USER_ID");
String itemId = parseItemIdFromPath(servletRequest.getPathInfo());
-
if (!itemId.equals(IRRELEVANT_REQUEST) && !permissionsServices.isAllowed(itemId, userId, EDIT_ITEM)) {
((HttpServletResponse) servletResponse).setStatus(HttpServletResponse.SC_FORBIDDEN);
- servletResponse.getWriter().print(buildResponse(Response.Status.FORBIDDEN,
- Messages.PERMISSIONS_ERROR.getErrorMessage(),
- Messages.PERMISSIONS_ERROR.name()));
+ servletResponse.getWriter()
+ .print(buildResponse(Response.Status.FORBIDDEN, Messages.PERMISSIONS_ERROR.getErrorMessage(), Messages.PERMISSIONS_ERROR.name()));
return false;
}
}
-
return true;
}
@@ -104,9 +96,7 @@ public class PermissionsFilter implements Filter {
}
private String buildResponse(Response.Status status, String message, String id) {
- ErrorCode errorCode = new ErrorCode.ErrorCodeBuilder()
- .withId(id)
- .withMessage(message).build();
+ ErrorCode errorCode = new ErrorCode.ErrorCodeBuilder().withId(id).withMessage(message).build();
return objectToJsonString(new ErrorCodeAndMessage(status, errorCode));
}