Skip to content
Snippets Groups Projects

Resolve "Possibility to rename the project"

Merged Piotr Gawron requested to merge 2188-possibility-to-rename-the-project into development
Files
6
package lcsb.mapviewer.persist.dao.security;
import java.util.Arrays;
import java.util.List;
import org.springframework.stereotype.Repository;
import lcsb.mapviewer.common.Pair;
import lcsb.mapviewer.common.exception.InvalidArgumentException;
import lcsb.mapviewer.model.security.Privilege;
import lcsb.mapviewer.model.security.PrivilegeType;
import lcsb.mapviewer.persist.dao.BaseDao;
import lcsb.mapviewer.persist.dao.MinervaEntityProperty;
import org.springframework.stereotype.Repository;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Repository
public class PrivilegeDao extends BaseDao<Privilege, MinervaEntityProperty<Privilege>> {
public class PrivilegeDao extends BaseDao<Privilege, PrivilegeProperty> {
public PrivilegeDao() {
super(Privilege.class);
@@ -31,4 +35,20 @@ public class PrivilegeDao extends BaseDao<Privilege, MinervaEntityProperty<Privi
}
}
@Override
protected Predicate createPredicate(final Map<PrivilegeProperty, Object> filterOptions, final Root<Privilege> root) {
final CriteriaBuilder builder = getSession().getCriteriaBuilder();
final List<Predicate> predicates = new ArrayList<>();
for (final PrivilegeProperty key : filterOptions.keySet()) {
if (key.equals(PrivilegeProperty.OBJECT_ID)) {
final Predicate predicate = builder.and(root.get("objectId").in(filterOptions.get(key)));
predicates.add(predicate);
} else {
throw new InvalidArgumentException("Unknown property: " + key);
}
}
return builder.and(predicates.toArray(new Predicate[0]));
}
}
Loading