@Override
public void deleteConfigurationTab(String tabId, PortletPreferences preferences) throws ReadOnlyException, ValidatorException, IOException {
// First, delete any reference to this tab
List<String> tabIds = Arrays.asList(preferences.getValues(CONF_KEY_TABS, EMPTY_ARRAY))
.stream()
.filter(tab -> !tab.equals(tabId))
.collect(Collectors.toList());
preferences.setValues(CONF_KEY_TABS, tabIds.toArray(new String[tabIds.size()]));
// Then, flush out any singular value
String assetTypeKey = format(CONF_KEY_FORMAT_ASSET_TYPE, tabId);
String journalArticleViewTemplateKey = format(CONF_KEY_FORMAT_JOURNAL_ARTICLE_VIEW_TEMPLATE, tabId);
String orderKey = format(CONF_KEY_FORMAT_ORDER, tabId);
String pageSizeKey = format(CONF_KEY_FORMAT_PAGE_SIZE, tabId);
String fullPageSizeKey = format(CONF_KEY_FORMAT_FULL_PAGE_SIZE, tabId);
String loadMoreSizeKey = format(CONF_KEY_FORMAT_LOAD_MORE_PAGE_SIZE, tabId);
String sortByKey = format(CONF_KEY_FORMAT_SORT_BY, tabId);
String sortReverseKey = format(CONF_KEY_FORMAT_SORT_REVERSE, tabId);
preferences.reset(orderKey);
preferences.reset(assetTypeKey);
preferences.reset(journalArticleViewTemplateKey);
preferences.reset(pageSizeKey);
preferences.reset(fullPageSizeKey);
preferences.reset(loadMoreSizeKey);
preferences.reset(sortByKey);
preferences.reset(sortReverseKey);
// Finally, flush out composed values
Enumeration<String> prefKeys = preferences.getNames();
Pattern journalArticleTemplatesKeyPattern = Pattern.compile(format(CONF_KEY_PATTERN_FORMAT_JOURNAL_ARTICLE_TEMPLATES, tabId));
Pattern dlFileEntryTemplatesKeyPattern = Pattern.compile(format(CONF_KEY_PATTERN_FORMAT_DL_FILE_ENTRY_TYPE_TEMPLATES, tabId));
Pattern titleKeyPattern = Pattern.compile(format(CONF_KEY_PATTERN_FORMAT_TITLE, tabId));
Pattern searchFacetPattern = Pattern.compile(format(CONF_KEY_PATTERN_FORMAT_SEARCH_FACET, tabId));
while(prefKeys.hasMoreElements()) {
String key = prefKeys.nextElement();
boolean journalArticleTemplatesMatches = journalArticleTemplatesKeyPattern.matcher(key).matches();
boolean dlFileEntryTemplatesMatches = dlFileEntryTemplatesKeyPattern.matcher(key).matches();
boolean titleMatches = titleKeyPattern.matcher(key).matches();
boolean searchFacetMatches = searchFacetPattern.matcher(key).matches();
if(journalArticleTemplatesMatches || dlFileEntryTemplatesMatches || titleMatches || searchFacetMatches) {
preferences.reset(key);
}
}
preferences.store();
}
ConfigurationStorageV1.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:flashlight-search
作者:
评论列表
文章目录