throws SearchServiceException, SQLException
{
String uuid = cris.getUuid();
String configurationName = preferenceService.getConfigurationName(cris,
relationType);
RelationPreferenceConfiguration configuration = preferenceService
.getConfigurationService().getRelationPreferenceConfiguration(
configurationName);
List<ColumnVisualizationConfiguration> columns = configuration
.getColumnsVisualizationConfiguration();
RelatedObjects result = new RelatedObjects();
List<RelatedObject> related = result.getObjects();
String query = MessageFormat.format(configuration
.getRelationConfiguration().getQuery(), cris.getCrisID(), cris
.getUuid());
boolean sysAdmin = AuthorizeManager.isAdmin(context);
SolrQuery solrQuery = new SolrQuery();
if (StringUtils.isNotEmpty(userQuery))
{
solrQuery.addFilterQuery("{!tag=user}"
+ ClientUtils.escapeQueryChars(userQuery) + "*");
solrQuery.addFacetQuery("{!ex=user}*:*");
}
if (!configuration.isActionEnabled(RelationPreference.HIDED, sysAdmin))
{
solrQuery.addFilterQuery(getHiddenFilter(cris, configurationName));
}
if (!configuration.isActionEnabled(RelationPreference.SELECTED,
sysAdmin))
{
solrQuery
.addFilterQuery(getSelectedFilter(cris, configurationName));
}
if (configuration
.isActionEnabled(RelationPreference.UNLINKED, sysAdmin))
{
query = getUnlinkedFilter(cris, configurationName, query);
}