Skip to content

Commit

Permalink
HSEARCH-3776 Remove unnecessary hacks to support multiple data types …
Browse files Browse the repository at this point in the history
…(integer and boolean) in IndexWriterSetting
  • Loading branch information
yrodiere committed Apr 20, 2020
1 parent 7fcbdab commit a609ccd
Show file tree
Hide file tree
Showing 6 changed files with 230 additions and 251 deletions.
Expand Up @@ -660,4 +660,13 @@ SearchException uncommittedOperationsBecauseOfFailure(String causeMessage,
value = "Field '%1$s' is not contained in a nested object."
+ " Aggregation filters are only available if the field to aggregate on is contained in a nested object.")
SearchException cannotFilterAggregationOnRootDocumentField(String absoluteFieldPath, @Param EventContext context);

@Message(id = ID_OFFSET_2 + 123,
value = "IndexWriter setting '%1$s' cannot be set to '%2$s': %3$s")
SearchException illegalIndexWriterSetting(String settingName, Object settingValue, String message, @Cause Exception e);

@Message(id = ID_OFFSET_2 + 124,
value = "Merge policy setting '%1$s' cannot be set to '%2$s': %3$s")
SearchException illegalMergePolicySetting(String settingName, Object settingValue, String message, @Cause Exception e);

}
Expand Up @@ -6,6 +6,7 @@
*/
package org.hibernate.search.backend.lucene.logging.impl;

import org.hibernate.search.backend.lucene.lowlevel.writer.impl.IndexWriterSettings;
import org.hibernate.search.util.common.logging.impl.LogCategory;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

Expand All @@ -25,8 +26,6 @@ private LuceneLogCategories() {
* To enable the logger, the category needs to be enabled at TRACE level and configuration
* property {@code org.hibernate.search.backend.configuration.impl.IndexWriterSetting#INFOSTREAM}
* needs to be enabled on the index.
*
* @see org.hibernate.search.backend.lucene.lowlevel.writer.impl.IndexWriterSetting#INFOSTREAM
*/
public static final LogCategory INFOSTREAM_LOGGER_CATEGORY = new LogCategory( "org.hibernate.search.backend.lucene.infostream" );

Expand Down

This file was deleted.

@@ -0,0 +1,67 @@
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.backend.lucene.lowlevel.writer.impl;

import java.lang.invoke.MethodHandles;
import java.util.function.BiConsumer;

import org.hibernate.search.backend.lucene.logging.impl.Log;
import org.hibernate.search.util.common.SearchException;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.LogByteSizeMergePolicy;

class IndexWriterSettingValue<T> {

private static final Log log = LoggerFactory.make( Log.class, MethodHandles.lookup() );

private final String settingName;
private final T value;
private final BiConsumer<IndexWriterConfig, T> writerSettingApplier;
private final BiConsumer<LogByteSizeMergePolicy, T> mergePolicySettingApplier;

IndexWriterSettingValue(String settingName, T value,
BiConsumer<IndexWriterConfig, T> writerSettingApplier,
BiConsumer<LogByteSizeMergePolicy, T> mergePolicySettingApplier) {
this.settingName = settingName;
this.value = value;
this.writerSettingApplier = writerSettingApplier;
this.mergePolicySettingApplier = mergePolicySettingApplier;
}

@Override
public String toString() {
return "<" + settingName + "=" + value + ">";
}

/**
* @param writerConfig the {@link IndexWriterConfig}
* @throws SearchException when user selects an invalid value.
*/
public void applySetting(IndexWriterConfig writerConfig) {
try {
writerSettingApplier.accept( writerConfig, value );
}
catch (RuntimeException e) {
throw log.illegalIndexWriterSetting( settingName, value, e.getMessage(), e );
}
}

/**
* @param logByteSizeMergePolicy the {@link LogByteSizeMergePolicy}
* @throws SearchException when user selects an invalid value.
*/
public void applySetting(LogByteSizeMergePolicy logByteSizeMergePolicy) {
try {
mergePolicySettingApplier.accept( logByteSizeMergePolicy, value );
}
catch (RuntimeException e) {
throw log.illegalMergePolicySetting( settingName, value, e.getMessage(), e );
}
}
}

0 comments on commit a609ccd

Please sign in to comment.