类org.hibernate.impl.FilterImpl源码实例Demo

下面列出了怎么用org.hibernate.impl.FilterImpl的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: cacheonix-core   文件: FilterKey.java
public static Set createFilterKeys(Map enabledFilters, EntityMode entityMode) {
	if ( enabledFilters.size()==0 ) return null;
	Set result = new HashSet();
	Iterator iter = enabledFilters.values().iterator();
	while ( iter.hasNext() ) {
		FilterImpl filter = (FilterImpl) iter.next();
		FilterKey key = new FilterKey(
				filter.getName(), 
				filter.getParameters(), 
				filter.getFilterDefinition().getParameterTypes(), 
				entityMode
			);
		result.add(key);
	}
	return result;
}
 
源代码2 项目: cacheonix-core   文件: FilterHelper.java
/**
 * The map of defined filters.  This is expected to be in format
 * where the filter names are the map keys, and the defined
 * conditions are the values.
 *
 * @param filters The map of defined filters.
 * @param dialect The sql dialect
 * @param functionRegistry The SQL function registry
 */
public FilterHelper(Map filters, Dialect dialect, SQLFunctionRegistry functionRegistry) {
	int filterCount = filters.size();
	filterNames = new String[filterCount];
	filterConditions = new String[filterCount];
	Iterator iter = filters.entrySet().iterator();
	filterCount = 0;
	while ( iter.hasNext() ) {
		final Map.Entry entry = (Map.Entry) iter.next();
		filterNames[filterCount] = (String) entry.getKey();
		filterConditions[filterCount] = Template.renderWhereStringTemplate(
				(String) entry.getValue(),
				FilterImpl.MARKER,
				dialect,
				functionRegistry
			);
		filterConditions[filterCount] = StringHelper.replace( filterConditions[filterCount],
				":",
				":" + filterNames[filterCount] + "." );
		filterCount++;
	}
}
 
源代码3 项目: webdsl   文件: PersistentOwnedSet.java
@Override
public boolean endRead() {
	//afterInitialize(); // Needed for DelayedOperations
	boolean result = super.endRead();
	((utils.OwnedSet)set).setDoEvents(true); // We should resume updating the inverse, because initialization is complete

	if(this.restoreFilter != null) {
		// Restore the filter that was enabled before enabling the filter hint
		SessionImplementor session = getSession();
		org.hibernate.engine.LoadQueryInfluencers lqi = session.getLoadQueryInfluencers();
		org.hibernate.impl.FilterImpl oldFilter = this.getAffectingFilter();
		if(oldFilter != null) lqi.disableFilter(oldFilter.getName());
		utils.QueryOptimization.restoreFilter(lqi, this.restoreFilter);
		this.restoreFilter = null;
	}

	return result;
}
 
源代码4 项目: webdsl   文件: PersistentOwnedSet.java
protected FilterImpl getAffectingFilter(utils.AbstractOwnedSetType type) {
	SessionImplementor session = getSession();
	FilterImpl filter = null;
	LoadQueryInfluencers lqi = session.getLoadQueryInfluencers();
	if(lqi != null) {
		java.util.Map filters = lqi.getEnabledFilters();
		for(Object entry : filters.entrySet()) {
			if(!(entry instanceof java.util.Map.Entry)) continue;
			Object key = ((java.util.Map.Entry)entry).getKey();
			Object value = ((java.util.Map.Entry)entry).getValue();
			if(key != null && value != null && value instanceof org.hibernate.impl.FilterImpl && type.isAffectedBy(key.toString())) {
				if(filter == null) {
					filter = (org.hibernate.impl.FilterImpl) value;
				} else {
					throw new java.lang.UnsupportedOperationException("Filters '" + filter.getName() + "' and '" + key.toString() + "' both filter the same collection role" + (getRole() == null ? "." : " (" + getRole() + ")."));
				}
			}
		}
	}
	return filter;
}
 
源代码5 项目: webdsl   文件: PersistentOwnedList.java
@Override
public boolean endRead() {
	boolean result = super.endRead();
	((utils.OwnedList)list).setDoEvents(true); // We should resume updating the inverse, because initialization is complete

	if(this.restoreFilter != null) {
		// Restore the filter that was enabled before enabling the filter hint
		SessionImplementor session = getSession();
		org.hibernate.engine.LoadQueryInfluencers lqi = session.getLoadQueryInfluencers();
		org.hibernate.impl.FilterImpl oldFilter = this.getAffectingFilter();
		if(oldFilter != null) lqi.disableFilter(oldFilter.getName());
		utils.QueryOptimization.restoreFilter(lqi, this.restoreFilter);
		this.restoreFilter = null;
	}

	return result;
}
 
源代码6 项目: webdsl   文件: PersistentOwnedList.java
protected FilterImpl getAffectingFilter(utils.AbstractOwnedListType type) {
	SessionImplementor session = getSession();
	FilterImpl filter = null;
	LoadQueryInfluencers lqi = session.getLoadQueryInfluencers();
	if(lqi != null) {
		java.util.Map filters = lqi.getEnabledFilters();
		for(Object entry : filters.entrySet()) {
			if(!(entry instanceof java.util.Map.Entry)) continue;
			Object key = ((java.util.Map.Entry)entry).getKey();
			Object value = ((java.util.Map.Entry)entry).getValue();
			if(key != null && value != null && value instanceof org.hibernate.impl.FilterImpl && type.isAffectedBy(key.toString())) {
				if(filter == null) {
					filter = (org.hibernate.impl.FilterImpl) value;
				} else {
					throw new java.lang.UnsupportedOperationException("Filters '" + filter.getName() + "' and '" + key.toString() + "' both filter the same collection role" + (getRole() == null ? "." : " (" + getRole() + ")."));
				}
			}
		}
	}
	return filter;
}
 
源代码7 项目: cacheonix-core   文件: FilterHelper.java
public void render(StringBuffer buffer, String alias, Map enabledFilters) {
	if ( filterNames != null && filterNames.length > 0 ) {
		for ( int i = 0, max = filterNames.length; i < max; i++ ) {
			if ( enabledFilters.containsKey( filterNames[i] ) ) {
				final String condition = filterConditions[i];
				if ( StringHelper.isNotEmpty( condition ) ) {
					buffer.append( " and " )
							.append( StringHelper.replace( condition, FilterImpl.MARKER, alias ) );
				}
			}
		}
	}
}
 
源代码8 项目: webdsl   文件: PersistentOwnedSet.java
public void unfiltered(boolean writing) {
	if(wasInitialized() && getFilter() == null) return; // The collection was already initialized without filters
	if(wasInitialized()) { // Cleaning the filtered collection
		try{
			Field f = org.hibernate.collection.AbstractPersistentCollection.class.getDeclaredField("initialized");
			f.setAccessible(true);
			f.setBoolean(this, Boolean.FALSE);
			set = null;
		}catch(Exception e) {
			org.webdsl.logging.Logger.error("EXCEPTION",e);
		}
	}
	SessionImplementor session = getSession();

	// Disable the affecting filter
	FilterImpl oldFilter = getAffectingFilter();
	if(oldFilter != null) {
		session.getLoadQueryInfluencers().disableFilter(oldFilter.getName());
	}

	// Initialize the collection
	initialize(writing);
	session.initializeCollection(this, writing);

	// Enable the affecting filter again
	if(oldFilter != null) {
		utils.QueryOptimization.restoreFilter(session.getLoadQueryInfluencers(), oldFilter);
	}
	if(writing) dirty();
}
 
源代码9 项目: webdsl   文件: PersistentOwnedList.java
public void unfiltered(boolean writing) {
	if(wasInitialized() && getFilter() == null) return; // The collection was already initialized without filters
	if(wasInitialized()) { // Cleaning the filtered collection
		try{
			Field f = org.hibernate.collection.AbstractPersistentCollection.class.getDeclaredField("initialized");
			f.setAccessible(true);
			f.setBoolean(this, Boolean.FALSE);
			list = null;
		}catch(Exception e) {
			org.webdsl.logging.Logger.error("EXCEPTION",e);
		}
	}
	SessionImplementor session = getSession();

	// Disable the affecting filter
	FilterImpl oldFilter = getAffectingFilter();
	if(oldFilter != null) {
		session.getLoadQueryInfluencers().disableFilter(oldFilter.getName());
	}

	// Initialize the collection
	initialize(writing);
	session.initializeCollection(this, writing);

	// Enable the affecting filter again
	if(oldFilter != null) {
		utils.QueryOptimization.restoreFilter(session.getLoadQueryInfluencers(), oldFilter);
	}
	if(writing) dirty();
}
 
源代码10 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码11 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码12 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码13 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码14 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码15 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码16 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码17 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码18 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码19 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码20 项目: Knowage-Server   文件: JoinProcessor.java
public static void processDynamicFilterParameters(
		final String sqlFragment,
		final ParameterContainer container,
		final HqlSqlWalker walker) {
	if ( walker.getEnabledFilters().isEmpty()
			&& ( ! hasDynamicFilterParam( sqlFragment ) )
			&& ( ! ( hasCollectionFilterParam( sqlFragment ) ) ) ) {
		return;
	}

	Dialect dialect = walker.getSessionFactoryHelper().getFactory().getDialect();
	String symbols = new StringBuffer().append( ParserHelper.HQL_SEPARATORS )
			.append( dialect.openQuote() )
			.append( dialect.closeQuote() )
			.toString();
	StringTokenizer tokens = new StringTokenizer( sqlFragment, symbols, true );
	StringBuffer result = new StringBuffer();

	while ( tokens.hasMoreTokens() ) {
		final String token = tokens.nextToken();
		if ( token.startsWith( ParserHelper.HQL_VARIABLE_PREFIX ) ) {
			final String filterParameterName = token.substring( 1 );
			final String[] parts = LoadQueryInfluencers.parseFilterParameterName( filterParameterName );
			final FilterImpl filter = ( FilterImpl ) walker.getEnabledFilters().get( parts[0] );
			final Object value = filter.getParameter( parts[1] );
			final Type type = filter.getFilterDefinition().getParameterType( parts[1] );
			final String typeBindFragment = StringHelper.join(
					",",
					ArrayHelper.fillArray( "?", type.getColumnSpan( walker.getSessionFactoryHelper().getFactory() ) )
			);
			final String bindFragment = ( value != null && Collection.class.isInstance( value ) )
					? StringHelper.join( ",", ArrayHelper.fillArray( typeBindFragment, ( ( Collection ) value ).size() ) )
					: typeBindFragment;
			result.append( bindFragment );
			container.addEmbeddedParameter( new DynamicFilterParameterSpecification( parts[0], parts[1], type ) );
		}
		else {
			result.append( token );
		}
	}

	container.setText( result.toString() );
}
 
源代码21 项目: webdsl   文件: PersistentOwnedSet.java
public org.hibernate.impl.FilterImpl getFilter() {
	return this.filter;
}
 
源代码22 项目: webdsl   文件: PersistentOwnedSet.java
public void setFilter(org.hibernate.impl.FilterImpl filter) {
	this.filter = filter;
	this.filterHint = null; // 
}
 
源代码23 项目: webdsl   文件: PersistentOwnedSet.java
public org.hibernate.impl.FilterImpl getFilterHint() {
	return this.filterHint;
}
 
源代码24 项目: webdsl   文件: PersistentOwnedSet.java
public void setFilterHint(org.hibernate.impl.FilterImpl filterHint) {
	this.filterHint = filterHint;
}
 
源代码25 项目: webdsl   文件: PersistentOwnedSet.java
protected FilterImpl getAffectingFilter() {
   	return getAffectingFilter(getOwnedSetType());
}
 
源代码26 项目: webdsl   文件: PersistentOwnedList.java
public org.hibernate.impl.FilterImpl getFilter() {
	return this.filter;
}
 
源代码27 项目: webdsl   文件: PersistentOwnedList.java
public void setFilter(org.hibernate.impl.FilterImpl filter) {
	this.filter = filter;
	this.filterHint = null; // 
}
 
源代码28 项目: webdsl   文件: PersistentOwnedList.java
public org.hibernate.impl.FilterImpl getFilterHint() {
	return this.filterHint;
}
 
源代码29 项目: webdsl   文件: PersistentOwnedList.java
public void setFilterHint(org.hibernate.impl.FilterImpl filterHint) {
	this.filterHint = filterHint;
}
 
源代码30 项目: webdsl   文件: PersistentOwnedList.java
protected FilterImpl getAffectingFilter() {
	return getAffectingFilter(getOwnedListType());
}
 
 类所在包
 类方法
 同包方法