Skip to content

Commit

Permalink
HSEARCH-5133 Introduce number utils helper
Browse files Browse the repository at this point in the history
  • Loading branch information
fax4ever committed Jun 19, 2024
1 parent bd084f1 commit f3a45de
Show file tree
Hide file tree
Showing 8 changed files with 77 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.backend.elasticsearch.logging.impl.Log;
import org.hibernate.search.engine.cfg.spi.NumberScaleConstants;
import org.hibernate.search.engine.cfg.spi.NumberUtils;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

import com.google.gson.JsonElement;
Expand Down Expand Up @@ -65,7 +66,7 @@ public BigDecimal decode(JsonElement element) {

@Override
public BigDecimal decode(Double value) {
return BigDecimal.valueOf( value );
return NumberUtils.toBigDecimal( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.backend.elasticsearch.logging.impl.Log;
import org.hibernate.search.engine.cfg.spi.NumberScaleConstants;
import org.hibernate.search.engine.cfg.spi.NumberUtils;
import org.hibernate.search.util.common.logging.impl.LoggerFactory;

import com.google.gson.JsonElement;
Expand Down Expand Up @@ -67,7 +68,7 @@ public BigInteger decode(JsonElement element) {

@Override
public BigInteger decode(Double value) {
return BigInteger.valueOf( value.longValue() );
return NumberUtils.toBigInteger( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
package org.hibernate.search.backend.elasticsearch.types.codec.impl;

import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.engine.cfg.spi.NumberUtils;

import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
Expand Down Expand Up @@ -34,7 +35,7 @@ public Byte decode(JsonElement element) {

@Override
public Byte decode(Double value) {
return value.byteValue();
return NumberUtils.toByte( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
package org.hibernate.search.backend.elasticsearch.types.codec.impl;

import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.engine.cfg.spi.NumberUtils;

import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
Expand Down Expand Up @@ -34,7 +35,7 @@ public Float decode(JsonElement element) {

@Override
public Float decode(Double value) {
return value.floatValue();
return NumberUtils.toFloat( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
package org.hibernate.search.backend.elasticsearch.types.codec.impl;

import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.engine.cfg.spi.NumberUtils;

import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
Expand Down Expand Up @@ -35,7 +36,7 @@ public Integer decode(JsonElement element) {

@Override
public Integer decode(Double value) {
return value.intValue();
return NumberUtils.toInteger( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.backend.elasticsearch.lowlevel.syntax.search.impl.ElasticsearchSearchSyntax;
import org.hibernate.search.engine.cfg.spi.NumberUtils;

import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
Expand Down Expand Up @@ -40,7 +41,7 @@ public Long decode(JsonElement element) {

@Override
public Long decode(Double value) {
return value.longValue();
return NumberUtils.toLong( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
package org.hibernate.search.backend.elasticsearch.types.codec.impl;

import org.hibernate.search.backend.elasticsearch.gson.impl.JsonElementTypes;
import org.hibernate.search.engine.cfg.spi.NumberUtils;

import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
Expand Down Expand Up @@ -34,7 +35,7 @@ public Short decode(JsonElement element) {

@Override
public Short decode(Double value) {
return value.shortValue();
return NumberUtils.toShort( value );
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Red Hat Inc. and Hibernate Authors
*/
package org.hibernate.search.engine.cfg.spi;

import java.math.BigDecimal;
import java.math.BigInteger;

public final class NumberUtils {

private NumberUtils() {
}

public static BigDecimal toBigDecimal(Double value) {
if ( value == null ) {
return null;
}
return BigDecimal.valueOf( value );
}

public static BigInteger toBigInteger(Double value) {
if ( value == null ) {
return null;
}
return BigInteger.valueOf( value.longValue() );
}

public static Byte toByte(Double value) {
if ( value == null ) {
return null;
}
return value.byteValue();
}

public static Float toFloat(Double value) {
if ( value == null ) {
return null;
}
return value.floatValue();
}

public static Integer toInteger(Double value) {
if ( value == null ) {
return null;
}
return value.intValue();
}

public static Long toLong(Double value) {
if ( value == null ) {
return null;
}
return value.longValue();
}

public static Short toShort(Double value) {
if ( value == null ) {
return null;
}
return value.shortValue();
}
}

0 comments on commit f3a45de

Please sign in to comment.