Skip to content
Snippets Groups Projects
Commit c5aa2d18 authored by cramakri's avatar cramakri
Browse files

LMS-2592 Filtering data set types based on white/black lists supported by upload client

SVN: 23528
parent 7f6457ef
No related branches found
No related tags found
No related merge requests found
......@@ -69,8 +69,8 @@ public class DataSetUploadClientServingServlet extends AbstractWebStartClientSer
+ " <jar href='dom4j-1.6.1.jar'/>\n"
+ " <jar href='geronimo-stax-api_1.0_spec-1.0.jar'/>\n"
+ " <jar href='xmlbeans-2.3.0.jar'/>\n"
+ " <property name='creatable-data-set-types-whitelist' value='${creatable-data-set-types-whitelist}'"
+ " <property name='creatable-data-set-types-blacklist' value='${creatable-data-set-types-blacklist}'"
+ " <property name='creatable-data-set-types-whitelist' value='${creatable-data-set-types-whitelist}' />"
+ " <property name='creatable-data-set-types-blacklist' value='${creatable-data-set-types-blacklist}' />"
+ " </resources>\n"
+ " <application-desc main-class='${main-class}'>\n"
+ " <argument>${service-URL}</argument>\n"
......@@ -138,9 +138,9 @@ public class DataSetUploadClientServingServlet extends AbstractWebStartClientSer
String sessionToken = super.bindTemplateParameters(request, template);
// Bind the specific parameters
template.bind("creatable-data-set-types-whitelist",
template.bind(ResourceNames.CREATABLE_DATA_SET_TYPES_WHITELIST,
getCreatableDataSetTypesWhitelistString());
template.bind("creatable-data-set-types-blacklist",
template.bind(ResourceNames.CREATABLE_DATA_SET_TYPES_BLACKLIST,
getCreatableDataSetTypesBlacklistString());
return sessionToken;
}
......@@ -148,13 +148,13 @@ public class DataSetUploadClientServingServlet extends AbstractWebStartClientSer
private String getCreatableDataSetTypesWhitelistString()
{
return getCreatableDataSetTypesString(webClientConfigurationProvider
.getWebClientConfiguration().getCreatableDataSetTypePatternsWhitelist());
.getWebClientConfiguration().tryCreatableDataSetTypePatternsWhitelist());
}
private String getCreatableDataSetTypesBlacklistString()
{
return getCreatableDataSetTypesString(webClientConfigurationProvider
.getWebClientConfiguration().getCreatableDataSetTypePatternsBlacklist());
.getWebClientConfiguration().tryCreatableDataSetTypePatternsBlacklist());
}
private String getCreatableDataSetTypesString(List<String> creatableTypes)
......
......@@ -151,7 +151,7 @@ public class WebClientConfigurationProvider
.setCreatableDataSetTypePatternsWhitelist(extractCreatableDataSetTypes(properties,
CREATABLE_DATA_SET_TYPES_WHITELIST));
webClientConfiguration
.setCreatableDataSetTypePatternsWhitelist(extractCreatableDataSetTypes(properties,
.setCreatableDataSetTypePatternsBlacklist(extractCreatableDataSetTypes(properties,
CREATABLE_DATA_SET_TYPES_BLACKLIST));
}
......
......@@ -67,4 +67,10 @@ public final class ResourceNames
public final static String WEB_CLIENT_CONFIGURATION_PROVIDER =
"web-client-configuration-provider";
public final static String CREATABLE_DATA_SET_TYPES_WHITELIST =
"creatable-data-set-types-whitelist";
public final static String CREATABLE_DATA_SET_TYPES_BLACKLIST =
"creatable-data-set-types-blacklist";
}
......@@ -36,13 +36,20 @@ public class DataSetTypeFilter
*/
public static String convertPatternListToString(List<String> dataSetTypePatterns)
{
if (null == dataSetTypePatterns)
{
return "";
}
StringBuilder patternSb = new StringBuilder();
for (String pattern : dataSetTypePatterns)
{
patternSb.append(pattern);
patternSb.append(",");
}
patternSb.deleteCharAt(patternSb.length() - 1);
if (patternSb.length() > 0)
{
patternSb.deleteCharAt(patternSb.length() - 1);
}
return patternSb.toString();
}
......
......@@ -153,24 +153,24 @@ public class WebClientConfiguration implements ISerializable
this.enableTrash = enableTrash;
}
public List<String> getCreatableDataSetTypePatternsWhitelist()
public List<String> tryCreatableDataSetTypePatternsWhitelist()
{
return creatableDataSetTypePatternsWhitelist;
}
public void setCreatableDataSetTypePatternsWhitelist(List<String> aSet)
public void setCreatableDataSetTypePatternsWhitelist(List<String> aList)
{
creatableDataSetTypePatternsWhitelist = aSet;
creatableDataSetTypePatternsWhitelist = aList;
}
public List<String> getCreatableDataSetTypePatternsBlacklist()
public List<String> tryCreatableDataSetTypePatternsBlacklist()
{
return creatableDataSetTypePatternsBlacklist;
}
public void setCreatableDataSetTypePatternsBlacklist(List<String> aSet)
public void setCreatableDataSetTypePatternsBlacklist(List<String> aList)
{
creatableDataSetTypePatternsBlacklist = aSet;
creatableDataSetTypePatternsBlacklist = aList;
}
public WebClientConfiguration()
......
......@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.generic.shared.api.v1.dto;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.testng.AssertJUnit;
......@@ -44,6 +45,32 @@ public class DataSetTypeFilterTest extends AssertJUnit
initializeDataSetTypes();
}
@Test
public void testFilterStringSerialization()
{
List<String> filterStrings;
String filterListString;
filterListString = DataSetTypeFilter.convertPatternListToString(null);
assertEquals("", filterListString);
filterStrings = Arrays.asList();
filterListString = DataSetTypeFilter.convertPatternListToString(filterStrings);
assertEquals("", filterListString);
filterStrings = Arrays.asList("");
filterListString = DataSetTypeFilter.convertPatternListToString(filterStrings);
assertEquals("", filterListString);
filterStrings = Arrays.asList("foo");
filterListString = DataSetTypeFilter.convertPatternListToString(filterStrings);
assertEquals("foo", filterListString);
filterStrings = Arrays.asList("foo*", "*bar");
filterListString = DataSetTypeFilter.convertPatternListToString(filterStrings);
assertEquals("foo*,*bar", filterListString);
}
@Test
public void testWhitelistFilter()
{
......
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