From 1dc24adbacded4abb980d2b1000f85ce564a0b8c Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Thu, 4 Oct 2012 13:21:27 +0000 Subject: [PATCH] BIS-222 - Make STORAGE_CONFIRMED available in dataset search for admins: - improve javadoc - make ISearchFieldAvailability and ISearchFieldCriterionFactory interfaces more consistent SVN: 26991 --- .../ui/search/DetailedSearchFieldsSelectionWidget.java | 2 +- .../shared/basic/dto/ISearchFieldAvailability.java | 7 ++++++- .../shared/basic/dto/ISearchFieldCriterionFactory.java | 6 +++++- .../generic/shared/basic/dto/ISearchFieldKind.java | 9 ++++++++- .../shared/basic/dto/SearchFieldAvailableForAdmins.java | 4 +++- .../basic/dto/SearchFieldBooleanCriterionFactory.java | 4 +++- .../basic/dto/SearchFieldDateCriterionFactory.java | 4 +++- 7 files changed, 29 insertions(+), 7 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/DetailedSearchFieldsSelectionWidget.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/DetailedSearchFieldsSelectionWidget.java index 146bfda22aa..3da7e0d2cb6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/DetailedSearchFieldsSelectionWidget.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/search/DetailedSearchFieldsSelectionWidget.java @@ -235,7 +235,7 @@ public final class DetailedSearchFieldsSelectionWidget extends field.getKind() != null ? field.getKind().getAvailability() : null; if (availability != null - && availability.isAvailable(getPerson(), getPersonRoles()) == false) + && availability.isAvailable(field.getField(), getPerson(), getPersonRoles()) == false) { iterator.remove(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldAvailability.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldAvailability.java index 082e444482b..bada2002dc1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldAvailability.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldAvailability.java @@ -17,11 +17,16 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; /** + * Controls availability of a search field. + * * @author pkupczyk */ public interface ISearchFieldAvailability { - public boolean isAvailable(Person person, PersonRoles personRoles); + /** + * Returns true if the search field should be available for the specified person and roles. + */ + public boolean isAvailable(DetailedSearchField field, Person person, PersonRoles personRoles); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldCriterionFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldCriterionFactory.java index fc1a08a2827..be817317804 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldCriterionFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldCriterionFactory.java @@ -16,13 +16,17 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; - /** + * Creates a criterion for a search field. + * * @author pkupczyk */ public interface ISearchFieldCriterionFactory { + /** + * Creates a criterion for the search field and value. + */ public DetailedSearchCriterion createCriterion(DetailedSearchField field, String value); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldKind.java index 0e798ae0c81..3a97d4d1f59 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldKind.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ISearchFieldKind.java @@ -16,15 +16,22 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; - /** + * Kind of field that can be used in detailed text queries. + * * @author pkupczyk */ public interface ISearchFieldKind { + /** + * Returns availability of the search field. + */ ISearchFieldAvailability getAvailability(); + /** + * Returns criterion factory of the search field. + */ ISearchFieldCriterionFactory getCriterionFactory(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldAvailableForAdmins.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldAvailableForAdmins.java index 137458b6b8b..ba2ac1b1ce9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldAvailableForAdmins.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldAvailableForAdmins.java @@ -17,13 +17,15 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; /** + * Makes a search field available for an admin used. + * * @author pkupczyk */ public class SearchFieldAvailableForAdmins implements ISearchFieldAvailability { @Override - public boolean isAvailable(Person person, PersonRoles personRoles) + public boolean isAvailable(DetailedSearchField field, Person person, PersonRoles personRoles) { return personRoles.isAdmin(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldBooleanCriterionFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldBooleanCriterionFactory.java index a4169059816..f6a4ca36af3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldBooleanCriterionFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldBooleanCriterionFactory.java @@ -16,8 +16,10 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; - /** + * Creates a criterion for a boolean field. Accepts following values: "true", "yes", "false", "no". + * For other values is returns null. + * * @author pkupczyk */ public class SearchFieldBooleanCriterionFactory implements ISearchFieldCriterionFactory diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldDateCriterionFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldDateCriterionFactory.java index a02493ee12a..44281809a4e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldDateCriterionFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SearchFieldDateCriterionFactory.java @@ -16,8 +16,10 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; - /** + * Creates a criterion for a date field. Supports registration and modification dates with equals, + * from and until versions. + * * @author pkupczyk */ public class SearchFieldDateCriterionFactory implements ISearchFieldCriterionFactory -- GitLab