Skip to content
Snippets Groups Projects
Commit 5731fa7e authored by pkupczyk's avatar pkupczyk
Browse files

SP-362 / BIS-246: Show metaproject tags in Web GUI and allow editing them when...

SP-362 / BIS-246: Show metaproject tags in Web GUI and allow editing them when editing an entity - make metaproject names case-preserving but case-insensitive for searching in the UI

SVN: 27492
parent 4b64f61e
No related branches found
No related tags found
No related merge requests found
...@@ -20,7 +20,9 @@ import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.Metaproject ...@@ -20,7 +20,9 @@ import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.Metaproject
import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.MetaprojectGridColumnIDs.DESCRIPTION; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.MetaprojectGridColumnIDs.DESCRIPTION;
import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.MetaprojectGridColumnIDs.NAME; import static ch.systemsx.cisd.openbis.generic.client.web.client.dto.MetaprojectGridColumnIDs.NAME;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListMetaprojectsCriteria; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ListMetaprojectsCriteria;
import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
...@@ -52,10 +54,19 @@ public class MetaprojectProvider extends AbstractCommonTableModelProvider<Metapr ...@@ -52,10 +54,19 @@ public class MetaprojectProvider extends AbstractCommonTableModelProvider<Metapr
builder.addColumn(DESCRIPTION); builder.addColumn(DESCRIPTION);
builder.addColumn(CREATION_DATE).withDefaultWidth(300); builder.addColumn(CREATION_DATE).withDefaultWidth(300);
Set<String> blacklistLowerCase = new HashSet<String>();
if (criteria.getBlacklist() != null)
{
for (String blacklistItem : criteria.getBlacklist())
{
blacklistLowerCase.add(blacklistItem.toLowerCase());
}
}
for (Metaproject metaproject : metaprojects) for (Metaproject metaproject : metaprojects)
{ {
if (criteria.getBlacklist() == null if (blacklistLowerCase.contains(metaproject.getName().toLowerCase()) == false)
|| criteria.getBlacklist().contains(metaproject.getName()) == false)
{ {
builder.addRow(metaproject); builder.addRow(metaproject);
builder.column(NAME).addString(metaproject.getName()); builder.column(NAME).addString(metaproject.getName());
......
...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application; ...@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -297,16 +298,27 @@ public abstract class AbstractGenericEntityRegistrationForm<T extends EntityType ...@@ -297,16 +298,27 @@ public abstract class AbstractGenericEntityRegistrationForm<T extends EntityType
} }
@Override @Override
protected void process(List<Metaproject> existingMetaprojects) protected void process(List<Metaproject> existingMetaprojectsList)
{ {
Set<String> existingMetaprojectsSet = new HashSet<String>();
Set<String> notExistingMetaprojects = new LinkedHashSet<String>(); Set<String> notExistingMetaprojects = new LinkedHashSet<String>();
notExistingMetaprojects.addAll(Arrays.asList(requestedMetaprojects));
if (existingMetaprojects != null) if (existingMetaprojectsList != null)
{ {
for (Metaproject existingMetaproject : existingMetaprojects) for (Metaproject existingMetaproject : existingMetaprojectsList)
{ {
notExistingMetaprojects.remove(existingMetaproject.getName()); existingMetaprojectsSet.add(existingMetaproject.getName().toLowerCase());
}
}
if (requestedMetaprojects != null)
{
for (String requestedMetaproject : requestedMetaprojects)
{
if (existingMetaprojectsSet.contains(requestedMetaproject.toLowerCase()) == false)
{
notExistingMetaprojects.add(requestedMetaproject);
}
} }
} }
......
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