コード例 #1
0
void SimpleActiveFiltersModel::Impl::saveSavedFilterPreferences()
{
	auto preferences = get<IUIFramework>()->getPreferences();
	if (preferences == nullptr)
	{
		// evgenys: generic_app crashes on plugins unload here, UIFramework is already uninitialized
		// TODO - investigate why this object instance is not destroyed yet
		return;
	}
	// TODO: fixing this by directly saving collection type data
	GenericObjectPtr& preference = preferences->getPreference(id_.c_str());
	size_t count = savedFilters_.size();
	preference->set("savedFilterCount", count);

	if (count == 0)
	{
		return;
	}

	for (size_t i = 0; i < count; ++i)
	{
		auto savedFilter = savedFilters_[i];
		preference->set(savedFilter->getFilterId().c_str(), savedFilter->getTerms());
	}
}
コード例 #2
0
bool SimpleActiveFiltersModel::loadFilter(std::string filterId)
{
	// Clear the current filter terms, so we start with a clean slate
	clearCurrentFilter();

	// Fetch the saved filter property by the provided identifier
	std::string terms;
	auto savedFilter = impl_->getSavedFilterById(filterId.c_str());
	if (savedFilter == nullptr)
	{
		return false;
	}

	terms = savedFilter->getTerms();

	// Tokenize the terms and add them to the current active filter
	std::istringstream stream(terms);
	std::string token;
	while (std::getline(stream, token, ','))
	{
		if (token.length() > 0)
		{
			auto displayValue = StringUtils::split(token, ';');
			impl_->addFilter(displayValue[0].c_str(), displayValue.size() > 1 ? displayValue[1].c_str() : "", true);
		}
	}

	impl_->loadedFilterId_ = filterId;
	return true;
}
コード例 #3
0
	void QueryTermExtractor::getTermsFromBooleanQuery(const BooleanQuery * query, WeightedTermList * terms, bool prohibited, const TCHAR* fieldName)
	{
		uint32_t numClauses = query->getClauseCount();
		BooleanClause** queryClauses = _CL_NEWARRAY(BooleanClause*,numClauses);
		query->getClauses(queryClauses);

		for (uint32_t i = 0; i < numClauses; i++)
		{
			if (prohibited || !queryClauses[i]->prohibited){
				Query* qry = queryClauses[i]->getQuery();
				getTerms(qry, terms, prohibited, fieldName);
			}
		}
		_CLDELETE_ARRAY(queryClauses);
	}