final RelationDescription relationDescription = CriteriaTools.getRelatedEntity( enversService, ownerEntityName,
@Override protected void addToQuery( EnversService enversService, AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( enversService, versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( enversService, entityName, propertyName ); if ( relatedEntity == null ) { parameters.addNullRestriction( alias, propertyName ); } else { relatedEntity.getIdMapper().addIdEqualsToQuery( parameters, null, alias, null, true ); } } }
@Override protected void addToQuery( EnversService enversService, AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( enversService, versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( enversService, entityName, propertyName ); if ( relatedEntity == null ) { throw new AuditException( "The criterion can only be used on a property that is a relation to another property." ); } // todo: should this throw an error if qpdList is null? is it possible? List<QueryParameterData> qpdList = relatedEntity.getIdMapper().mapToQueryParametersFromId( propertyName ); if ( qpdList != null ) { QueryParameterData qpd = qpdList.iterator().next(); parameters.addWhereWithParams( alias, qpd.getQueryParameterName(), "in (", ids, ")" ); } } }
@Override protected void addToQuery( EnversService enversService, AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( enversService, versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( enversService, entityName, propertyName ); if ( relatedEntity == null ) { throw new AuditException( "This criterion can only be used on a property that is a relation to another property." ); } relatedEntity.getIdMapper().addIdEqualsToQuery( parameters, id, alias, null, equals ); } }
@Override protected void addToQuery( EnversService enversService, AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( enversService, versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( enversService, entityName, propertyName ); if ( relatedEntity == null ) { parameters.addNotNullRestriction( alias, propertyName ); } else { relatedEntity.getIdMapper().addIdEqualsToQuery( parameters, null, alias, null, false ); } } }
); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( enversService, entityName, propertyName );
public AuditAssociationQueryImpl( final AuditReaderImplementor auditReader, final Q parent, final QueryBuilder queryBuilder, final String propertyName, final JoinType joinType, final Map<String, String> aliasToEntityNameMap, final String ownerAlias, final String userSuppliedAlias) { this.auditReader = auditReader; this.parent = parent; this.queryBuilder = queryBuilder; this.joinType = joinType; String ownerEntityName = aliasToEntityNameMap.get( ownerAlias ); final RelationDescription relationDescription = CriteriaTools.getRelatedEntity( auditReader.getAuditService(), ownerEntityName, propertyName ); if ( relationDescription == null ) { throw new IllegalArgumentException( "Property " + propertyName + " of entity " + ownerEntityName + " is not a valid association for queries" ); } this.entityName = relationDescription.getToEntityName(); this.ownerAssociationIdMapper = relationDescription.getIdMapper(); this.ownerAlias = ownerAlias; this.alias = userSuppliedAlias == null ? queryBuilder.generateAlias() : userSuppliedAlias; aliasToEntityNameMap.put( this.alias, entityName ); this.aliasToEntityNameMap = aliasToEntityNameMap; parameters = queryBuilder.addParameters( this.alias ); }
); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( versionsReader.getAuditService(), entityName,
@Override protected void addToQuery( AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( versionsReader.getAuditService(), entityName, propertyName ); if ( relatedEntity == null ) { parameters.addNotNullRestriction( alias, propertyName ); } else { relatedEntity.getIdMapper().addIdEqualsToQuery( parameters, null, alias, null, false ); } } }
@Override protected void addToQuery( AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( versionsReader.getAuditService(), entityName, propertyName ); if ( relatedEntity == null ) { parameters.addNullRestriction( alias, propertyName ); } else { relatedEntity.getIdMapper().addIdEqualsToQuery( parameters, null, alias, null, true ); } } }
@Override protected void addToQuery( AuditReaderImplementor versionsReader, String entityName, String alias, QueryBuilder qb, Parameters parameters) { String propertyName = CriteriaTools.determinePropertyName( versionsReader, entityName, propertyNameGetter ); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( versionsReader.getAuditService(), entityName, propertyName ); if ( relatedEntity == null ) { throw new AuditException( "This criterion can only be used on a property that is a relation to another property." ); } relatedEntity.getIdMapper().addIdEqualsToQuery( parameters, id, alias, null, equals ); } }
); RelationDescription relatedEntity = CriteriaTools.getRelatedEntity( versionsReader.getAuditService(), entityName,