Skip to content
Snippets Groups Projects
Commit 7057eb27 authored by vkovtun's avatar vkovtun
Browse files

SSDM-12838: Code cleanup.

parent 3bb9bb9b
No related branches found
No related tags found
No related merge requests found
Showing
with 14 additions and 67 deletions
......@@ -18,8 +18,6 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.search.planner;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractCompositeSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.search.ExperimentSearchCriteria;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.search.SampleSearchCriteria;
import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.relationship.IGetRelationshipIdExecutor;
import ch.ethz.sis.openbis.generic.server.asapi.v3.search.auth.AuthorisationInformation;
import ch.ethz.sis.openbis.generic.server.asapi.v3.search.auth.ISQLAuthorisationInformationProviderDAO;
......@@ -107,7 +105,7 @@ public abstract class AbstractCompositeEntitySearchManager<CRITERIA extends Abst
{
final Set<Long> finalParentIds = findFinalRelationshipIds(userId, authorisationInformation,
finalSearchOperator, parentRelationshipsCriteria, tableMapper);
final Set<Long> finalParentIdsFiltered = filterIDsByUserRights(userId, authorisationInformation,
final Set<Long> finalParentIdsFiltered = filterIDsByUserRights(authorisationInformation,
finalParentIds);
parentCriteriaIntermediateResults = getChildrenIdsOf(finalParentIdsFiltered, tableMapper,
IGetRelationshipIdExecutor.RelationshipType.PARENT_CHILD);
......@@ -121,7 +119,7 @@ public abstract class AbstractCompositeEntitySearchManager<CRITERIA extends Abst
{
final Set<Long> finalContainerIds = findFinalRelationshipIds(userId, authorisationInformation,
finalSearchOperator, containerCriteria, tableMapper);
final Set<Long> finalContainerIdsFiltered = filterIDsByUserRights(userId, authorisationInformation,
final Set<Long> finalContainerIdsFiltered = filterIDsByUserRights(authorisationInformation,
finalContainerIds);
containerCriteriaIntermediateResults = getChildrenIdsOf(finalContainerIdsFiltered, tableMapper,
IGetRelationshipIdExecutor.RelationshipType.CONTAINER_COMPONENT);
......@@ -135,7 +133,7 @@ public abstract class AbstractCompositeEntitySearchManager<CRITERIA extends Abst
{
final Set<Long> finalChildrenIds = findFinalRelationshipIds(userId, authorisationInformation,
finalSearchOperator, childRelationshipsCriteria, tableMapper);
final Set<Long> finalChildrenIdsFiltered = filterIDsByUserRights(userId,
final Set<Long> finalChildrenIdsFiltered = filterIDsByUserRights(
authorisationInformation, finalChildrenIds);
childrenCriteriaIntermediateResults = getParentsIdsOf(finalChildrenIdsFiltered, tableMapper,
IGetRelationshipIdExecutor.RelationshipType.PARENT_CHILD);
......@@ -185,7 +183,7 @@ public abstract class AbstractCompositeEntitySearchManager<CRITERIA extends Abst
results = Collections.emptySet();
}
return filterIDsByUserRights(userId, authorisationInformation, results);
return filterIDsByUserRights(authorisationInformation, results);
}
/**
......
......@@ -170,7 +170,7 @@ public abstract class AbstractLocalSearchManager<CRITERIA extends ISearchCriteri
resultBeforeFiltering = Collections.emptySet();
}
return filterIDsByUserRights(userId, authorisationInformation, resultBeforeFiltering);
return filterIDsByUserRights(authorisationInformation, resultBeforeFiltering);
}
protected Set<Long> searchForIDsByCriteriaCollection(final Long userId,
......@@ -184,7 +184,7 @@ public abstract class AbstractLocalSearchManager<CRITERIA extends ISearchCriteri
new DummyCompositeSearchCriterion(criteria, finalSearchOperator);
final Set<Long> mainCriteriaNotFilteredResults = getSearchDAO().queryDBForIdsWithGlobalSearchMatchCriteria(userId,
containerCriterion, tableMapper, idsColumnName, authorisationInformation);
return filterIDsByUserRights(userId, authorisationInformation, mainCriteriaNotFilteredResults);
return filterIDsByUserRights(authorisationInformation, mainCriteriaNotFilteredResults);
} else
{
return Collections.emptySet();
......
......@@ -52,7 +52,7 @@ public abstract class AbstractSearchManager<OBJECT>
return collection != null && !collection.isEmpty();
}
public Set<Long> filterIDsByUserRights(final Long userId, final AuthorisationInformation authorisationInformation, final Set<Long> ids)
public Set<Long> filterIDsByUserRights(final AuthorisationInformation authorisationInformation, final Set<Long> ids)
{
if (authorisationInformation.isInstanceRole())
{
......@@ -83,35 +83,6 @@ public abstract class AbstractSearchManager<OBJECT>
: Collections.emptyList();
}
protected static <E> Set<E> mergeResults(final SearchOperator operator,
final Collection<Set<E>>... intermediateResultsToMerge)
{
final Collection<Set<E>> intermediateResults = Arrays.stream(intermediateResultsToMerge).reduce(new ArrayList<>(), (sets, sets2) ->
{
if (sets2 != null)
{
sets.addAll(sets2);
}
return sets;
});
switch (operator)
{
case AND:
{
return intersection(intermediateResults);
}
case OR:
{
return union(intermediateResults);
}
default:
{
throw new IllegalArgumentException("Unexpected value for search operator: " + operator);
}
}
}
protected static <E> Set<E> intersection(final Collection<Set<E>> sets)
{
return !sets.isEmpty() ? sets.stream().reduce(new HashSet<>(sets.iterator().next()), (set1, set2) ->
......@@ -136,28 +107,6 @@ public abstract class AbstractSearchManager<OBJECT>
});
}
/**
* Find the smallest set.
*
* @param candidates collection of sets to search in.
* @param <E> types of parameters of the sets.
* @return the set with the smallest number of items.
*/
protected static <E> Set<E> getSmallestSet(final Collection<Set<E>> candidates)
{
final Set<E> smallestSet = candidates.stream().min((o1, o2) ->
{
if (o1 == null)
{
return (o2 == null) ? 0 : 1;
} else
{
return (o2 == null) ? -1 : o1.size() - o2.size();
}
}).orElse(null);
return smallestSet;
}
protected ISQLSearchDAO getSearchDAO()
{
return searchDAO;
......@@ -193,7 +142,7 @@ public abstract class AbstractSearchManager<OBJECT>
final Set<Long> resultBeforeFiltering =
containsValues(mainCriteriaIntermediateResults) ? mainCriteriaIntermediateResults : Collections.emptySet();
return filterIDsByUserRights(userId, authorisationInformation, resultBeforeFiltering);
return filterIDsByUserRights(authorisationInformation, resultBeforeFiltering);
}
protected Set<Long> searchForIDsByCriteriaCollection(final Long userId, final AuthorisationInformation authorisationInformation,
......@@ -205,7 +154,7 @@ public abstract class AbstractSearchManager<OBJECT>
final DummyCompositeSearchCriterion containerCriterion = new DummyCompositeSearchCriterion(criteria, finalSearchOperator);
final Set<Long> mainCriteriaNotFilteredResults = getSearchDAO().queryDBForIdsWithGlobalSearchMatchCriteria(userId, containerCriterion, tableMapper,
idsColumnName, authorisationInformation);
return filterIDsByUserRights(userId, authorisationInformation, mainCriteriaNotFilteredResults);
return filterIDsByUserRights(authorisationInformation, mainCriteriaNotFilteredResults);
} else
{
return Collections.emptySet();
......
......@@ -99,7 +99,7 @@ public class LinkedDataSetKindSearchManager extends AbstractLocalSearchManager<L
final Set<Long> resultBeforeFiltering =
containsValues(mainCriteriaIntermediateResults) ? mainCriteriaIntermediateResults : Collections.emptySet();
return filterIDsByUserRights(userId, authorisationInformation, resultBeforeFiltering);
return filterIDsByUserRights(authorisationInformation, resultBeforeFiltering);
}
}
......@@ -98,7 +98,7 @@ public class PhysicalDataSetKindSearchManager extends AbstractLocalSearchManager
final Set<Long> resultBeforeFiltering =
containsValues(mainCriteriaIntermediateResults) ? mainCriteriaIntermediateResults : Collections.emptySet();
return filterIDsByUserRights(userId, authorisationInformation, resultBeforeFiltering);
return filterIDsByUserRights(authorisationInformation, resultBeforeFiltering);
}
}
......@@ -107,7 +107,7 @@ public class PropertyAssignmentSearchManager extends
finalResults = mainCriteriaIntermediateResults;
}
return filterIDsByUserRights(userId, authorisationInformation, finalResults);
return filterIDsByUserRights(authorisationInformation, finalResults);
}
private static boolean isSampleTypeWithSemanticAnnotationsCriteria(final AbstractCompositeSearchCriteria parentCriteria,
......
......@@ -68,7 +68,7 @@ public class SpaceSearchManager extends AbstractLocalSearchManager<SpaceSearchCr
// If we don't have results and criteria are not empty, there are no results.
final Set<Long> resultBeforeFiltering = containsValues(mainCriteriaIntermediateResults) ? mainCriteriaIntermediateResults : Collections.emptySet();
return filterIDsByUserRights(userId, authorisationInformation, resultBeforeFiltering);
return filterIDsByUserRights(authorisationInformation, resultBeforeFiltering);
}
@Override
......
......@@ -102,7 +102,7 @@ public class TagSearchManager extends AbstractLocalSearchManager<TagSearchCriter
return Collections.emptySet();
}
return filterIDsByUserRights(userId, authorisationInformation, resultAfterFiltering);
return filterIDsByUserRights(authorisationInformation, resultAfterFiltering);
}
@Override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment