mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-24 04:05:39 +00:00
get rid of raw types and extract methods
eliminates compiler warnings Signed-off-by: Gavin King <gavin@hibernate.org>
This commit is contained in:
parent
85e764ee3b
commit
2e4ef2e252
@ -60,7 +60,7 @@ public static void bindFilterDef(FilterDef filterDef, MetadataBuildingContext co
|
||||
}
|
||||
|
||||
final Map<String, JdbcMapping> explicitParamJaMappings;
|
||||
final Map<String, ManagedBean<? extends Supplier>> parameterResolvers;
|
||||
final Map<String, ManagedBean<? extends Supplier<?>>> parameterResolvers;
|
||||
if ( filterDef.parameters().length == 0 ) {
|
||||
explicitParamJaMappings = emptyMap();
|
||||
parameterResolvers = emptyMap();
|
||||
@ -98,12 +98,15 @@ public static void bindFilterDef(FilterDef filterDef, MetadataBuildingContext co
|
||||
context.getMetadataCollector().addFilterDefinition( filterDefinition );
|
||||
}
|
||||
|
||||
private static ManagedBean<? extends Supplier> resolveParamResolver(ParamDef paramDef, MetadataBuildingContext context) {
|
||||
Class<? extends Supplier> clazz = paramDef.resolver();
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
private static ManagedBean<? extends Supplier<?>> resolveParamResolver(ParamDef paramDef, MetadataBuildingContext context) {
|
||||
final Class<? extends Supplier> clazz = paramDef.resolver();
|
||||
assert clazz != Supplier.class;
|
||||
|
||||
final ManagedBeanRegistry beanRegistry = context.getBootstrapContext().getServiceRegistry().getService( ManagedBeanRegistry.class );
|
||||
return beanRegistry.getBean( clazz, context.getBootstrapContext().getCustomTypeProducer() );
|
||||
final BootstrapContext bootstrapContext = context.getBootstrapContext();
|
||||
return (ManagedBean<? extends Supplier<?>>)
|
||||
bootstrapContext.getServiceRegistry()
|
||||
.requireService(ManagedBeanRegistry.class)
|
||||
.getBean(clazz, bootstrapContext.getCustomTypeProducer());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
|
@ -35,7 +35,7 @@ public class FilterDefinition implements Serializable {
|
||||
private final String filterName;
|
||||
private final String defaultFilterCondition;
|
||||
private final Map<String, JdbcMapping> explicitParamJaMappings = new HashMap<>();
|
||||
private final Map<String, ManagedBean<? extends Supplier>> parameterResolverMap = new HashMap<>();
|
||||
private final Map<String, ManagedBean<? extends Supplier<?>>> parameterResolverMap = new HashMap<>();
|
||||
private final boolean autoEnabled;
|
||||
|
||||
/**
|
||||
@ -47,8 +47,9 @@ public FilterDefinition(String name, String defaultCondition, @Nullable Map<Stri
|
||||
this( name, defaultCondition, explicitParamJaMappings, Collections.emptyMap(), false);
|
||||
}
|
||||
|
||||
public FilterDefinition(String name, String defaultCondition, @Nullable Map<String, JdbcMapping> explicitParamJaMappings,
|
||||
Map<String, ManagedBean<? extends Supplier>> parameterResolverMap, boolean autoEnabled) {
|
||||
public FilterDefinition(
|
||||
String name, String defaultCondition, @Nullable Map<String, JdbcMapping> explicitParamJaMappings,
|
||||
Map<String, ManagedBean<? extends Supplier<?>>> parameterResolverMap, boolean autoEnabled) {
|
||||
this.filterName = name;
|
||||
this.defaultFilterCondition = defaultCondition;
|
||||
if ( explicitParamJaMappings != null ) {
|
||||
@ -91,8 +92,8 @@ public Set<String> getParameterNames() {
|
||||
return explicitParamJaMappings.get( parameterName );
|
||||
}
|
||||
|
||||
public @Nullable Supplier getParameterResolver(String parameterName) {
|
||||
final ManagedBean<? extends Supplier> resolver = parameterResolverMap.get( parameterName );
|
||||
public @Nullable Supplier<?> getParameterResolver(String parameterName) {
|
||||
final ManagedBean<? extends Supplier<?>> resolver = parameterResolverMap.get( parameterName );
|
||||
return resolver == null ? null : resolver.getBeanInstance();
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ public Object getParameter(String name) {
|
||||
return parameters.get( name );
|
||||
}
|
||||
|
||||
public Supplier getParameterResolver(String name) {
|
||||
public Supplier<?> getParameterResolver(String name) {
|
||||
return definition.getParameterResolver(name);
|
||||
}
|
||||
|
||||
@ -159,15 +159,23 @@ public Supplier getParameterResolver(String name) {
|
||||
* @throws HibernateException If the state is not currently valid.
|
||||
*/
|
||||
public void validate() throws HibernateException {
|
||||
// for each of the defined parameters, make sure its value
|
||||
// for each of the defined parameters, make sure its argument
|
||||
// has been set or a resolver has been implemented and specified
|
||||
|
||||
for ( final String parameterName : definition.getParameterNames() ) {
|
||||
if ( parameters.get( parameterName ) == null &&
|
||||
(getParameterResolver( parameterName ) == null || getParameterResolver( parameterName ).getClass().isInterface()) ) {
|
||||
if ( !hasArgument(parameterName) && !hasResolver(parameterName)) {
|
||||
throw new HibernateException( "Filter parameter '" + getName()
|
||||
+ "' has neither an argument nor a resolver" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasResolver(String parameterName) {
|
||||
final Supplier<?> resolver = getParameterResolver(parameterName);
|
||||
return resolver != null
|
||||
&& !resolver.getClass().isInterface();
|
||||
}
|
||||
|
||||
private boolean hasArgument(String parameterName) {
|
||||
return parameters.containsKey(parameterName);
|
||||
}
|
||||
}
|
||||
|
@ -10,15 +10,12 @@
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.hibernate.MappingException;
|
||||
import org.hibernate.engine.spi.FilterDefinition;
|
||||
import org.hibernate.internal.FilterImpl;
|
||||
import org.hibernate.internal.FilterJdbcParameter;
|
||||
import org.hibernate.internal.util.collections.CollectionHelper;
|
||||
import org.hibernate.metamodel.mapping.JdbcMapping;
|
||||
import org.hibernate.metamodel.mapping.JdbcMappingContainer;
|
||||
import org.hibernate.resource.beans.container.spi.BeanContainer;
|
||||
import org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer;
|
||||
import org.hibernate.sql.ast.SqlAstWalker;
|
||||
|
||||
/**
|
||||
@ -166,7 +163,7 @@ private Object retrieveParamValue(FilterImpl filter, String paramName) {
|
||||
return value;
|
||||
}
|
||||
|
||||
final Supplier filterParamResolver = filter.getParameterResolver( paramName );
|
||||
final Supplier<?> filterParamResolver = filter.getParameterResolver( paramName );
|
||||
return filterParamResolver == null ? null : filterParamResolver.get();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user