@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // Oracle returns java.sql.Timestamp for DATE values if (value instanceof Timestamp) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } } return value; }
/** * TDS converts a number of important data types to String. This isn't what we want, nor helpful. Here, we change them back. */ @Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { if (value instanceof String && !Util.blank(value)) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("date".equalsIgnoreCase(typeName)) { return java.sql.Date.valueOf((String) value); } else if ("datetime2".equalsIgnoreCase(typeName)) { return java.sql.Timestamp.valueOf((String) value); } } return value; }
protected String toJSON() { List models = new ArrayList(); metaModelsByTableName.values().forEach(metaModel -> { List associations = new ArrayList(); metaModel.getAssociations().forEach(association -> associations.add(association.toMap())); models.add(map( MODEL_CLASS, metaModel.getModelClass().getName(), DB_TYPE, metaModel.getDbType(), DB_NAME, metaModel.getDbName(), COLUMN_METADATA, metaModel.getColumnMetadata(), ASSOCIATIONS, associations )); }); return JsonHelper.toJsonString(models,false); }
@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // SQLite returns DATE and DATETIME as String or Number values if (value instanceof String && !Util.blank(value) || value instanceof Number) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } else if ("DATETIME".equalsIgnoreCase(typeName)) { return Convert.toTimestamp(value); } else if ("TIME".equalsIgnoreCase(typeName)) { return Convert.toTime(value); } } return value; }
/** * TDS converts a number of important data types to String. This isn't what we want, nor helpful. Here, we change them back. */ @Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { if (value instanceof String) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("date".equalsIgnoreCase(typeName)) { return java.sql.Date.valueOf((String) value); } else if ("datetime2".equalsIgnoreCase(typeName)) { return java.sql.Timestamp.valueOf((String) value); } } return value; }
@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // Oracle returns java.sql.Timestamp for DATE values if (value instanceof Timestamp) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } } return value; }
/** * TDS converts a number of important data types to String. This isn't what we want, nor helpful. Here, we change them back. */ @Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { if (value instanceof String && !Util.blank(value)) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("date".equalsIgnoreCase(typeName)) { return java.sql.Date.valueOf((String) value); } else if ("datetime2".equalsIgnoreCase(typeName)) { return java.sql.Timestamp.valueOf((String) value); } } return value; }
@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // SQLite returns DATE and DATETIME as String or Number values if (value instanceof String || value instanceof Number) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } else if ("DATETIME".equalsIgnoreCase(typeName)) { return Convert.toTimestamp(value); } else if ("TIME".equalsIgnoreCase(typeName)) { return Convert.toTime(value); } } return value; }
@Override public Object overrideDriverTypeConversion(MetaModel mm, String attributeName, Object value) { // SQLite returns DATE and DATETIME as String or Number values if (value instanceof String && !Util.blank(value) || value instanceof Number) { String typeName = mm.getColumnMetadata().get(attributeName).getTypeName(); if ("DATE".equalsIgnoreCase(typeName)) { return Convert.toSqlDate(value); } else if ("DATETIME".equalsIgnoreCase(typeName)) { return Convert.toTimestamp(value); } else if ("TIME".equalsIgnoreCase(typeName)) { return Convert.toTime(value); } } return value; }