public static CriteriaManager getCriteriaManager() { if (getDefault().criteriaManager == null) getDefault().criteriaManager = new CriteriaManager(); return getDefault().criteriaManager; }
public static CriterionResource[] toCriterionResource(ICriteria[] criteriaElements) { List<CriterionResource> criteriaList = new ArrayList<>(); outer: for (int i = 0; i < criteriaElements.length; ++i) { String elementName = criteriaElements[i].getName(); String elementValue = criteriaElements[i].getValue(); if (null != elementName && 0 != elementName.length() && null != elementValue && 0 != elementValue.length()) { if (HelpPlugin.getCriteriaManager().isSupportedCriterion(elementName)) { elementName = elementName.toLowerCase(); StringTokenizer tokenizer = new StringTokenizer(elementValue, ","); //$NON-NLS-1$ List<String> values = new ArrayList<>(); while (tokenizer.hasMoreTokens()) { values.add(tokenizer.nextToken().trim()); } for(int j = 0; j < criteriaList.size(); ++j){ CriterionResource criterion = criteriaList.get(j); if(elementName.equals(criterion.getCriterionName())){ criterion.addCriterionValues(values); continue outer; } } CriterionResource criterionResource = new CriterionResource(elementName, values); criteriaList.add(criterionResource); } } } CriterionResource[] criteria = new CriterionResource[criteriaList.size()]; criteriaList.toArray(criteria); return criteria; }
private void processCriteria(UAElement element, String id) { if(HelpPlugin.getCriteriaManager().isCriteriaEnabled()){ ITocContribution contribution = getContribution(id); String locale = contribution.getLocale(); ICriteria[] criteria = new ICriteria[0]; if (element instanceof Topic) { Topic topic = (Topic) element; criteria = CriteriaProviderRegistry.getInstance().getAllCriteria(topic); } else if (element instanceof Toc) { Toc toc = (Toc) element; criteria = CriteriaProviderRegistry.getInstance().getAllCriteria(toc); } HelpPlugin.getCriteriaManager().addCriteriaValues(criteria, locale); } } }