/** * Establish whether a collection property is sorted * * @param property The property * @return true if sorted */ protected boolean isSorted(PersistentProperty property) { return SortedSet.class.isAssignableFrom(property.getType()); }
@Override public Class getPropertyType(String name) { PersistentProperty property = persistentEntity.getPropertyByName(name); if(property != null) { return property.getType(); } return null; }
static void doTypeConversionIfNeccessary(PersistentEntity entity, PropertyCriterion pc) { if(!pc.getClass().getSimpleName().startsWith(SIZE_CONSTRAINT_PREFIX)) { String property = pc.getProperty(); Object value = pc.getValue(); PersistentProperty p = entity.getPropertyByName(property); if(p != null && !p.getType().isInstance(value)) { pc.setValue( conversionService.convert(value, p.getType())); } } }
@SuppressWarnings("unchecked") static void doTypeConversionIfNeccessary(PersistentEntity entity, PropertyCriterion pc) { if (pc.getClass().getSimpleName().startsWith(SIZE_CONSTRAINT_PREFIX)) { return; } String property = pc.getProperty(); Object value = pc.getValue(); PersistentProperty p = entity.getPropertyByName(property); if (p != null && !p.getType().isInstance(value)) { pc.setValue(conversionService.convert(value, p.getType())); } }
protected Serializable convertIdentityIfNecessasry(PersistentProperty identity, Serializable key) { ConversionService conversionService = getMappingContext().getConversionService(); if(conversionService.canConvert(key.getClass(), identity.getType())) { try { key = (Serializable)conversionService.convert(key, identity.getType()); } catch (ConversionFailedException conversionFailedException){ // ignore } } return key; }
protected void setVersion(final EntityAccess ea) { final Class versionType = ea.getPersistentEntity().getVersion().getType(); if (Number.class.isAssignableFrom(versionType)) { ea.setProperty(GormProperties.VERSION, 0); } else if (Timestamp.class.isAssignableFrom(versionType)) { ea.setProperty(GormProperties.VERSION, new Timestamp(System.currentTimeMillis())); } else if (Date.class.isAssignableFrom(versionType)) { ea.setProperty(GormProperties.VERSION, new Date()); } }
protected String getTypeName(PersistentProperty property, PropertyConfig config, Mapping mapping) { if (config != null && config.getType() != null) { final Object typeObj = config.getType(); if (typeObj instanceof Class<?>) { return ((Class<?>)typeObj).getName(); } return typeObj.toString(); } if (mapping != null) { return mapping.getTypeName(property.getType()); } return null; }
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.LessThanEquals eq = (Query.LessThanEquals) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.LessThanEquals.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, " <= ", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.GreaterThanEquals eq = (Query.GreaterThanEquals) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.GreaterThanEquals.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, " >= ", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.Equals eq = (Query.Equals) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.Equals.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, "=", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.LessThan eq = (Query.LessThan) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.LessThan.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, " < ", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.NotEquals eq = (Query.NotEquals) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.NotEquals.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, " != ", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.GreaterThan eq = (Query.GreaterThan) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.GreaterThan.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, " > ", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.Like eq = (Query.Like) criterion; final String name = eq.getProperty(); PersistentProperty prop = validateProperty(entity, name, Query.Like.class); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, name, position, " like ", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
protected boolean canApplyNullableConstraint(String propertyName, PersistentProperty property, Constrained constrained) { if (property == null || property.getType() == null) return false; final PersistentEntity domainClass = property.getOwner(); // only apply default nullable to Groovy entities not legacy Java ones if (!GroovyObject.class.isAssignableFrom(domainClass.getJavaClass())) return false; final PersistentProperty versionProperty = domainClass.getVersion(); final boolean isVersion = versionProperty != null && versionProperty.equals(property); return !constrained.hasAppliedConstraint(ConstrainedProperty.NULLABLE_CONSTRAINT) && isConstrainableProperty(property, propertyName) && !isVersion; }
public int handle(PersistentEntity entity, Query.Criterion criterion, StringBuilder q, StringBuilder whereClause, String logicalName, int position, List parameters, ConversionService conversionService, boolean allowJoins, boolean hibernateCompatible) { Query.IdEquals eq = (Query.IdEquals) criterion; PersistentProperty prop = entity.getIdentity(); Class propType = prop.getType(); position = appendCriteriaForOperator(whereClause, logicalName, prop.getName(), position, "=", hibernateCompatible); parameters.add(conversionService.convert( eq.getValue(), propType )); return position; } });
protected Serializable convertIdIfNecessary(PersistentEntity entity, Serializable nativeKey) { PersistentProperty identity = entity.getIdentity(); return (Serializable) getMappingContext().getConversionService().convert( nativeKey, identity.getType()); }
protected void setTypeForPropertyConfig(PersistentProperty grailsProp, SimpleValue simpleValue, PropertyConfig config) { final String typeName = getTypeName(grailsProp, getPropertyConfig(grailsProp), getMapping(grailsProp.getOwner())); if (typeName == null) { simpleValue.setTypeName(grailsProp.getType().getName()); } else { simpleValue.setTypeName(typeName); if (config != null) { simpleValue.setTypeParameters(config.getTypeParams()); } } }
@SuppressWarnings("unchecked") public Object proxy(Serializable key) { PersistentEntity entity = getPersistentEntity(); PersistentProperty identity = entity.getIdentity(); if(identity != null) { key = (Serializable) mappingContext.getConversionService().convert(key, identity.getType()); } return getProxyFactory().createProxy(session, entity.getJavaClass(), key); }
@Override @SuppressWarnings("unchecked") public Object proxy(Serializable key) { PersistentEntity entity = getPersistentEntity(); PersistentProperty identity = entity.getIdentity(); if(identity != null) { key = (Serializable) getMappingContext().getConversionService().convert(key, identity.getType()); } return getProxyFactory().createProxy(session, entity.getJavaClass(), key); } }