34
34
import java .util .HashSet ;
35
35
import java .util .List ;
36
36
import java .util .Map ;
37
+ import java .util .MissingResourceException ;
37
38
import java .util .Optional ;
38
39
import java .util .Set ;
39
40
import java .util .logging .Logger ;
@@ -1231,40 +1232,33 @@ public String getTypeFromFilterQuery(String filterQuery) {
1231
1232
}
1232
1233
1233
1234
public List <String > getFriendlyNamesFromFilterQuery (String filterQuery ) {
1234
-
1235
-
1236
- if ((filterQuery == null )||
1237
- (datasetfieldFriendlyNamesBySolrField == null )||
1238
- (staticSolrFieldFriendlyNamesBySolrField ==null )){
1235
+
1236
+ if ((filterQuery == null ) ||
1237
+ (datasetfieldFriendlyNamesBySolrField == null ) ||
1238
+ (staticSolrFieldFriendlyNamesBySolrField == null )) {
1239
1239
return null ;
1240
1240
}
1241
-
1242
- if (!filterQuery .contains (":" )) {
1241
+
1242
+ if (!filterQuery .contains (":" )) {
1243
1243
return null ;
1244
1244
}
1245
-
1245
+
1246
1246
int index = filterQuery .indexOf (":" );
1247
1247
String key = filterQuery .substring (0 ,index );
1248
1248
String value = filterQuery .substring (index +1 );
1249
1249
1250
- List <String > friendlyNames = new ArrayList <>();
1250
+ // friendlyNames get 2 entries : key and value
1251
+ List <String > friendlyNames = new ArrayList <>(2 );
1251
1252
1253
+ // Get dataset field friendly name from default ressource bundle file
1252
1254
String datasetfieldFriendyName = datasetfieldFriendlyNamesBySolrField .get (key );
1253
1255
if (datasetfieldFriendyName != null ) {
1254
1256
friendlyNames .add (datasetfieldFriendyName );
1255
1257
} else {
1258
+ // Get non dataset field friendly name from "staticSearchFields" ressource bundle file
1256
1259
String nonDatasetSolrField = staticSolrFieldFriendlyNamesBySolrField .get (key );
1257
1260
if (nonDatasetSolrField != null ) {
1258
1261
friendlyNames .add (nonDatasetSolrField );
1259
- } else if (key .equals (SearchFields .PUBLICATION_STATUS )) {
1260
- /**
1261
- * @todo Refactor this quick fix for
1262
- * https://github.com/IQSS/dataverse/issues/618 . We really need
1263
- * to get rid of all the reflection that's happening with
1264
- * solrQueryResponse.getStaticSolrFieldFriendlyNamesBySolrField()
1265
- * and
1266
- */
1267
- friendlyNames .add ("Publication Status" );
1268
1262
} else {
1269
1263
// meh. better than nuthin'
1270
1264
friendlyNames .add (key );
@@ -1276,9 +1270,13 @@ public List<String> getFriendlyNamesFromFilterQuery(String filterQuery) {
1276
1270
String valueWithoutQuotes = noTrailingQuote ;
1277
1271
1278
1272
if (key .equals (SearchFields .METADATA_TYPES ) && getDataverse () != null && getDataverse ().getMetadataBlockFacets () != null ) {
1279
- Optional <String > friendlyName = getDataverse ().getMetadataBlockFacets ().stream ().filter (block -> block .getMetadataBlock ().getName ().equals (valueWithoutQuotes )).findFirst ().map (block -> block .getMetadataBlock ().getLocaleDisplayFacet ());
1273
+ Optional <String > friendlyName = getDataverse ().getMetadataBlockFacets ()
1274
+ .stream ()
1275
+ .filter (block -> block .getMetadataBlock ().getName ().equals (valueWithoutQuotes ))
1276
+ .findFirst ()
1277
+ .map (block -> block .getMetadataBlock ().getLocaleDisplayFacet ());
1280
1278
logger .fine (String .format ("action=getFriendlyNamesFromFilterQuery key=%s value=%s friendlyName=%s" , key , value , friendlyName ));
1281
- if (friendlyName .isPresent ()) {
1279
+ if (friendlyName .isPresent ()) {
1282
1280
friendlyNames .add (friendlyName .get ());
1283
1281
return friendlyNames ;
1284
1282
}
@@ -1290,7 +1288,15 @@ public List<String> getFriendlyNamesFromFilterQuery(String filterQuery) {
1290
1288
}
1291
1289
}
1292
1290
1293
- friendlyNames .add (valueWithoutQuotes );
1291
+ // Get value friendly name from default ressource bundle file
1292
+ String valueFriendlyName ;
1293
+ try {
1294
+ valueFriendlyName = BundleUtil .getStringFromPropertyFile (noTrailingQuote , "Bundle" );
1295
+ } catch (MissingResourceException e ) {
1296
+ valueFriendlyName = noTrailingQuote ;
1297
+ }
1298
+
1299
+ friendlyNames .add (valueFriendlyName );
1294
1300
return friendlyNames ;
1295
1301
}
1296
1302
0 commit comments