Skip to content
Snippets Groups Projects
Commit bec03bf5 authored by Juan Fuentes's avatar Juan Fuentes
Browse files

SSDM-10300 : Small refactorign and null pointer fixes

parent 2e4f8795
No related branches found
No related tags found
No related merge requests found
......@@ -90,7 +90,7 @@ public class BooleanFieldSearchConditionTranslator implements IConditionTranslat
final boolean internalProperty = TranslatorUtils.isPropertyInternal(criterion.getFieldName());
translateBooleanProperty(tableMapper, args, sqlBuilder, aliases, criterion.getFieldValue(),
TranslatorUtils.normalisePropertyName(criterion.getFieldName()), internalProperty);
criterion.getFieldName(), internalProperty);
break;
}
......@@ -109,7 +109,7 @@ public class BooleanFieldSearchConditionTranslator implements IConditionTranslat
static void translateBooleanProperty(final TableMapper tableMapper, final List<Object> args,
final StringBuilder sqlBuilder, final Map<String, JoinInformation> aliases, final Boolean value,
final String propertyName, final Boolean internalProperty)
final String fullPropertyName, final Boolean internalProperty)
{
final JoinInformation joinInformation = aliases.get(tableMapper.getAttributeTypesTable());
final String entityTypesSubTableAlias = joinInformation.getSubTableAlias();
......@@ -132,12 +132,12 @@ public class BooleanFieldSearchConditionTranslator implements IConditionTranslat
TranslatorUtils.appendInternalExternalConstraint(sqlBuilder, args, entityTypesSubTableAlias, internalProperty);
}
if (propertyName != null)
if (fullPropertyName != null)
{
sqlBuilder.append(SP).append(AND);
sqlBuilder.append(SP).append(entityTypesSubTableAlias).append(PERIOD).append(ColumnNames.CODE_COLUMN)
.append(SP).append(EQ).append(SP).append(QU);
args.add(propertyName);
args.add(TranslatorUtils.normalisePropertyName(fullPropertyName));
}
if (value != null)
......
......@@ -106,14 +106,13 @@ public class DateFieldSearchConditionTranslator implements IConditionTranslator<
case PROPERTY:
{
translateDateProperty(criterion, tableMapper, args, sqlBuilder, aliases, dataTypeByPropertyCode,
TranslatorUtils.normalisePropertyName(criterion.getFieldName()));
translateDateProperty(criterion, tableMapper, args, sqlBuilder, aliases, dataTypeByPropertyCode);
break;
}
case ANY_PROPERTY:
{
translateDateProperty(criterion, tableMapper, args, sqlBuilder, aliases, dataTypeByPropertyCode, null);
translateDateProperty(criterion, tableMapper, args, sqlBuilder, aliases, dataTypeByPropertyCode);
break;
}
......@@ -126,8 +125,9 @@ public class DateFieldSearchConditionTranslator implements IConditionTranslator<
private static void translateDateProperty(final DateFieldSearchCriteria criterion, final TableMapper tableMapper,
final List<Object> args, final StringBuilder sqlBuilder, final Map<String, JoinInformation> aliases,
final Map<String, String> dataTypeByPropertyCode, final String propertyName)
final Map<String, String> dataTypeByPropertyCode)
{
final String fullPropertyName = criterion.getFieldName();
final IDate value = criterion.getFieldValue();
final ITimeZone timeZone = criterion.getTimeZone();
final boolean bareDateValue = value instanceof AbstractDateValue &&
......@@ -139,9 +139,9 @@ public class DateFieldSearchConditionTranslator implements IConditionTranslator<
.append(SP).append(IS_NOT_NULL).append(SP).append(AND).append(SP).append(LP);
sqlBuilder.append(CASE);
final String casting = dataTypeByPropertyCode.get(propertyName);
final String casting = dataTypeByPropertyCode.get(fullPropertyName);
if (propertyName == null)
if (fullPropertyName == null)
{
// Search by any date/timestamp field
......@@ -175,19 +175,19 @@ public class DateFieldSearchConditionTranslator implements IConditionTranslator<
{
throw new UserFailureException(String.format(
"Search criteria with time zone doesn't make sense for property %s of data type %s.",
propertyName, DataType.DATE));
fullPropertyName, DataType.DATE));
}
appendWhenForDateOrTimestampProperties(sqlBuilder, args, tableMapper, value, aliases, null, propertyName,
appendWhenForDateOrTimestampProperties(sqlBuilder, args, tableMapper, value, aliases, null, fullPropertyName,
internalProperty, entityTypesSubTableAlias, true, DataType.DATE.toString());
} else if (DataType.TIMESTAMP.toString().equals(casting))
{
appendWhenForDateOrTimestampProperties(sqlBuilder, args, tableMapper, value, aliases, timeZone,
propertyName, internalProperty, entityTypesSubTableAlias, bareDateValue,
fullPropertyName, internalProperty, entityTypesSubTableAlias, bareDateValue,
DataType.TIMESTAMP.toString());
} else
{
throw new UserFailureException(String.format("Property %s is neither of data type %s nor %s.",
propertyName, DataType.DATE, DataType.TIMESTAMP));
fullPropertyName, DataType.DATE, DataType.TIMESTAMP));
}
}
sqlBuilder.append(SP).append(ELSE).append(SP).append(false).append(SP).append(END).append(RP);
......@@ -195,7 +195,7 @@ public class DateFieldSearchConditionTranslator implements IConditionTranslator<
static void appendWhenForDateOrTimestampProperties(final StringBuilder sqlBuilder, final List<Object> args,
final TableMapper tableMapper, final IDate value, final Map<String, JoinInformation> aliases,
final ITimeZone timeZone, final String propertyName, final Boolean internalProperty,
final ITimeZone timeZone, final String fullPropertyName, final Boolean internalProperty,
final String entityTypesSubTableAlias, final boolean castToDate,
final String... dataTypeStrings)
{
......@@ -208,12 +208,12 @@ public class DateFieldSearchConditionTranslator implements IConditionTranslator<
sqlBuilder.append(SP).append(AND);
}
if (propertyName != null)
if (fullPropertyName != null)
{
sqlBuilder.append(SP).append(aliases.get(tableMapper.getAttributeTypesTable()).getSubTableAlias())
.append(PERIOD).append(ColumnNames.CODE_COLUMN).append(SP).append(EQ).append(SP).append(QU);
sqlBuilder.append(SP).append(AND);
args.add(propertyName);
args.add(TranslatorUtils.normalisePropertyName(fullPropertyName));
}
sqlBuilder.append(SP).append(aliases.get(TableNames.DATA_TYPES_TABLE).getSubTableAlias())
......
......@@ -114,7 +114,7 @@ public class NumberFieldSearchConditionTranslator implements IConditionTranslato
}
final boolean internalProperty = TranslatorUtils.isPropertyInternal(criterion.getFieldName());
translateNumberProperty(tableMapper, args, sqlBuilder, aliases, value,
TranslatorUtils.normalisePropertyName(criterion.getFieldName()), internalProperty);
criterion.getFieldName(), internalProperty);
break;
}
......@@ -134,7 +134,7 @@ public class NumberFieldSearchConditionTranslator implements IConditionTranslato
static void translateNumberProperty(final TableMapper tableMapper, final List<Object> args,
final StringBuilder sqlBuilder, final Map<String, JoinInformation> aliases, final AbstractNumberValue value,
final String propertyName, final Boolean internalProperty)
final String fullPropertyName, final Boolean internalProperty)
{
final JoinInformation attributeTypesJoinInformation = aliases.get(tableMapper.getAttributeTypesTable());
final String entityTypesSubTableAlias = attributeTypesJoinInformation.getSubTableAlias();
......@@ -155,11 +155,11 @@ public class NumberFieldSearchConditionTranslator implements IConditionTranslato
sqlBuilder.append(SP).append(AND);
}
if (propertyName != null)
if (fullPropertyName != null)
{
sqlBuilder.append(SP).append(attributeTypesJoinInformation.getSubTableAlias())
.append(PERIOD).append(ColumnNames.CODE_COLUMN).append(SP).append(EQ).append(SP).append(QU);
args.add(propertyName);
args.add(TranslatorUtils.normalisePropertyName(fullPropertyName));
sqlBuilder.append(SP).append(AND);
}
......
......@@ -96,7 +96,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
{
final AbstractStringValue value = criterion.getFieldValue();
translateStringProperty(criterion, tableMapper, args, sqlBuilder, aliases, dataTypeByPropertyCode,
value, TranslatorUtils.normalisePropertyName(criterion.getFieldName()));
value, criterion.getFieldName());
break;
}
......@@ -118,7 +118,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
private static void translateStringProperty(final StringFieldSearchCriteria criterion,
final TableMapper tableMapper, final List<Object> args, final StringBuilder sqlBuilder,
final Map<String, JoinInformation> aliases, final Map<String, String> dataTypeByPropertyCode,
final AbstractStringValue value, final String propertyName)
final AbstractStringValue value, final String fullPropertyName)
{
final boolean internalProperty = TranslatorUtils.isPropertyInternal(criterion.getFieldName());
final JoinInformation joinInformation = aliases.get(tableMapper.getAttributeTypesTable());
......@@ -127,7 +127,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
sqlBuilder.append(entityTypesSubTableAlias).append(PERIOD).append(joinInformation.getSubTableIdField())
.append(SP).append(IS_NOT_NULL);
if (propertyName == null)
if (fullPropertyName == null)
{
sqlBuilder.append(SP).append(AND).append(SP);
sqlBuilder.append(aliases.get(DATA_TYPES_TABLE).getSubTableAlias()).append(PERIOD).append(CODE_COLUMN)
......@@ -144,7 +144,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
final String casting;
if (value.getClass() != AnyStringValue.class)
{
casting = dataTypeByPropertyCode.get(propertyName);
casting = dataTypeByPropertyCode.get(fullPropertyName);
if (casting != null)
{
......@@ -154,7 +154,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
if (casting.equals(DataTypeCode.BOOLEAN.toString()))
{
BooleanFieldSearchConditionTranslator.translateBooleanProperty(tableMapper, args,
sqlBuilder, aliases, convertStringValueToBooleanValue(value), propertyName,
sqlBuilder, aliases, convertStringValueToBooleanValue(value), fullPropertyName,
internalProperty);
sqlBuilder.append(RP);
return;
......@@ -166,7 +166,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
{
NumberFieldSearchConditionTranslator.translateNumberProperty(tableMapper, args, sqlBuilder,
aliases, convertStringValueToNumberValue(value), propertyName, internalProperty);
aliases, convertStringValueToNumberValue(value), fullPropertyName, internalProperty);
sqlBuilder.append(RP);
return;
}
......@@ -181,7 +181,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
sqlBuilder.append(CASE);
DateFieldSearchConditionTranslator.appendWhenForDateOrTimestampProperties(sqlBuilder, args,
tableMapper, convertStringValueToDateValue(value), aliases, null, propertyName,
tableMapper, convertStringValueToDateValue(value), aliases, null, fullPropertyName,
internalProperty, entityTypesSubTableAlias, bareDateValue, dataType.toString());
sqlBuilder.append(SP).append(END);
sqlBuilder.append(RP);
......@@ -194,7 +194,7 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
TranslatorUtils.appendInternalExternalConstraint(sqlBuilder, args, entityTypesSubTableAlias,
internalProperty);
if (propertyName != null)
if (fullPropertyName != null)
{
sqlBuilder.append(SP).append(AND).append(SP);
}
......@@ -203,18 +203,18 @@ public class StringFieldSearchConditionTranslator implements IConditionTranslato
casting = null;
}
if (propertyName != null)
if (fullPropertyName != null)
{
sqlBuilder.append(entityTypesSubTableAlias).append(PERIOD)
.append(CODE_COLUMN).append(SP).append(EQ).append(SP).append(QU);
args.add(propertyName);
args.add(TranslatorUtils.normalisePropertyName(fullPropertyName));
}
if (value.getClass() != AnyStringValue.class)
{
sqlBuilder.append(SP).append(THEN).append(NL);
sqlBuilder.append(CASE);
if (propertyName != null)
if (fullPropertyName != null)
{
sqlBuilder.append(NL).append(WHEN).append(SP)
.append(aliases.get(DATA_TYPES_TABLE).getSubTableAlias()).append(PERIOD).append(CODE_COLUMN)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment