Program: 166906
Project: 166906
Buggy source:
@Override public String valueToValuesString(PropertyType propertyType,Object value){
  Preconditions.checkState(supportsType(propertyType),"String_Node_Str",propertyType.name());
switch (propertyType) {
case BYTE_ARRAY:
    return "String_Node_Str" + PGbytea.toPGString((byte[])SqlgUtil.convertByteArrayToPrimitiveArray((Byte[])value)) + "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case byte_ARRAY:
  return "String_Node_Str" + PGbytea.toPGString((byte[])value) + "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case BOOLEAN:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case boolean_ARRAY:
StringBuilder sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case BOOLEAN_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case SHORT:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case short_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case SHORT_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case INTEGER:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case int_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case INTEGER_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LONG:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case long_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LONG_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case FLOAT:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case float_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case FLOAT_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case DOUBLE:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case double_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case DOUBLE_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case STRING:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case STRING_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LOCALDATE:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LOCALDATE_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LOCALDATETIME:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LOCALDATETIME_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LOCALTIME:
LocalTime lt=(LocalTime)value;
return "String_Node_Str" + shiftDST(lt).toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LOCALTIME_ARRAY:
sb=new StringBuilder();
sb.append("String_Node_Str");
int length=java.lang.reflect.Array.getLength(value);
for (int i=0; i < length; i++) {
LocalTime valueOfArray=(LocalTime)java.lang.reflect.Array.get(value,i);
sb.append(shiftDST(valueOfArray).toString());
if (i < length - 1) {
sb.append("String_Node_Str");
}
}
sb.append("String_Node_Str");
sb.append(this.propertyTypeToSqlDefinition(propertyType)[0]);
return sb.toString();
case ZONEDDATETIME:
throw new IllegalStateException("String_Node_Str");
case ZONEDDATETIME_ARRAY:
throw new IllegalStateException("String_Node_Str");
case PERIOD:
throw new IllegalStateException("String_Node_Str");
case PERIOD_ARRAY:
throw new IllegalStateException("String_Node_Str");
case DURATION:
throw new IllegalStateException("String_Node_Str");
case DURATION_ARRAY:
throw new IllegalStateException("String_Node_Str");
case JSON:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case JSON_ARRAY:
sb=new StringBuilder();
sb.append("String_Node_Str");
length=java.lang.reflect.Array.getLength(value);
for (int i=0; i < length; i++) {
String valueOfArray=java.lang.reflect.Array.get(value,i).toString();
sb.append("String_Node_Str");
sb.append(valueOfArray.replace("String_Node_Str","String_Node_Str"));
sb.append("String_Node_Str");
if (i < length - 1) {
sb.append("String_Node_Str");
}
}
sb.append("String_Node_Str");
sb.append(this.propertyTypeToSqlDefinition(propertyType)[0]);
return sb.toString();
case POINT:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LINESTRING:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case POLYGON:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case GEOGRAPHY_POINT:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case GEOGRAPHY_POLYGON:
return "String_Node_Str" + value.toString() + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
default :
throw SqlgExceptions.invalidPropertyType(propertyType);
}
}

Fixed version (ground truth):
@Override public String valueToValuesString(PropertyType propertyType,Object value){
  Preconditions.checkState(supportsType(propertyType),"String_Node_Str",propertyType.name());
switch (propertyType) {
case BYTE_ARRAY:
    return "String_Node_Str" + PGbytea.toPGString((byte[])SqlgUtil.convertByteArrayToPrimitiveArray((Byte[])value)) + "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case byte_ARRAY:
  return "String_Node_Str" + PGbytea.toPGString((byte[])value) + "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case BOOLEAN:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case boolean_ARRAY:
StringBuilder sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case BOOLEAN_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case SHORT:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case short_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case SHORT_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case INTEGER:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case int_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case INTEGER_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LONG:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case long_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LONG_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case FLOAT:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case float_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case FLOAT_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case DOUBLE:
return value.toString() + "String_Node_Str" + this.propertyTypeToSqlDefinition(propertyType)[0];
case double_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case DOUBLE_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case STRING:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case STRING_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LOCALDATE:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LOCALDATE_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LOCALDATETIME:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LOCALDATETIME_ARRAY:
sb=toValuesArray(this.propertyTypeToSqlDefinition(propertyType)[0],value);
return sb.toString();
case LOCALTIME:
LocalTime lt=(LocalTime)value;
return "String_Node_Str" + escapeQuotes(shiftDST(lt)) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LOCALTIME_ARRAY:
sb=new StringBuilder();
sb.append("String_Node_Str");
int length=java.lang.reflect.Array.getLength(value);
for (int i=0; i < length; i++) {
LocalTime valueOfArray=(LocalTime)java.lang.reflect.Array.get(value,i);
sb.append(shiftDST(valueOfArray).toString());
if (i < length - 1) {
sb.append("String_Node_Str");
}
}
sb.append("String_Node_Str");
sb.append(this.propertyTypeToSqlDefinition(propertyType)[0]);
return sb.toString();
case ZONEDDATETIME:
throw new IllegalStateException("String_Node_Str");
case ZONEDDATETIME_ARRAY:
throw new IllegalStateException("String_Node_Str");
case PERIOD:
throw new IllegalStateException("String_Node_Str");
case PERIOD_ARRAY:
throw new IllegalStateException("String_Node_Str");
case DURATION:
throw new IllegalStateException("String_Node_Str");
case DURATION_ARRAY:
throw new IllegalStateException("String_Node_Str");
case JSON:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case JSON_ARRAY:
sb=new StringBuilder();
sb.append("String_Node_Str");
length=java.lang.reflect.Array.getLength(value);
for (int i=0; i < length; i++) {
String valueOfArray=java.lang.reflect.Array.get(value,i).toString();
sb.append("String_Node_Str");
sb.append(escapeQuotes(valueOfArray.replace("String_Node_Str","String_Node_Str")));
sb.append("String_Node_Str");
if (i < length - 1) {
sb.append("String_Node_Str");
}
}
sb.append("String_Node_Str");
sb.append(this.propertyTypeToSqlDefinition(propertyType)[0]);
return sb.toString();
case POINT:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case LINESTRING:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case POLYGON:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case GEOGRAPHY_POINT:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
case GEOGRAPHY_POLYGON:
return "String_Node_Str" + escapeQuotes(value) + "String_Node_Str"+ "String_Node_Str"+ this.propertyTypeToSqlDefinition(propertyType)[0];
default :
throw SqlgExceptions.invalidPropertyType(propertyType);
}
}