add constructor with expireAfterMinutes default value
diff --git a/core/org.eclipse.smila.solr/code/src/org/eclipse/smila/solr/search/FieldValueTypeCache.java b/core/org.eclipse.smila.solr/code/src/org/eclipse/smila/solr/search/FieldValueTypeCache.java
index 45c519e..2aafad4 100644
--- a/core/org.eclipse.smila.solr/code/src/org/eclipse/smila/solr/search/FieldValueTypeCache.java
+++ b/core/org.eclipse.smila.solr/code/src/org/eclipse/smila/solr/search/FieldValueTypeCache.java
@@ -27,14 +27,21 @@
*/
public class FieldValueTypeCache {
- final SolrSchemaService _solr;
+ private static final long EXPIRE_AFTER_MINUTES_DEFAULT = 60;
+
+ final SolrSchemaService _schemaService;
LoadingCache<String, ValueType> _cache = null;
final Splitter _splitter = Splitter.on("/");
- public FieldValueTypeCache(final SolrSchemaService solr, final long exprireAfterMinutes) {
- _solr = solr;
+ public FieldValueTypeCache(final SolrSchemaService schemaService) {
+ this(schemaService, EXPIRE_AFTER_MINUTES_DEFAULT);
+ }
+
+ public FieldValueTypeCache(final SolrSchemaService schemaService, Long exprireAfterMinutes) {
+ _schemaService = schemaService;
+ exprireAfterMinutes = exprireAfterMinutes != null ? exprireAfterMinutes : EXPIRE_AFTER_MINUTES_DEFAULT;
// builder cache
_cache =
CacheBuilder.newBuilder().expireAfterWrite(exprireAfterMinutes, TimeUnit.MINUTES)
@@ -65,7 +72,8 @@
private String getTypeFromSchema(final String client, final String index, final String field)
throws SolrServiceException {
- final Record fieldInfo = _solr.getField(client, index, field, new KeyValueParam("includeDynamic", true));
+ final Record fieldInfo =
+ _schemaService.getField(client, index, field, new KeyValueParam("includeDynamic", true));
return MetadataUtils.getValue(fieldInfo.getMetadata(), Mode.FAIL, "fields", "1", "type").asString();
}