Here is one I've made, quite a basic one, which just adds 'equal' criterias.
Thomas
*** ========= repository.xml ============== ***
<collection-descriptor
name="sortsAttaque"
element-class-ref="net.aejase.avatar.MobSort"
proxy="true"
>
<inverse-foreignkey field-ref="mobId"/><query-customizer class="net.aejase.ojb.AejaseQueryCustomizer">
<attribute attribute-name="cible" attribute-value="1" />
</query-customizer>
</collection-descriptor>
*** =================================== ***
/* * Created on 29 juin 2003 * */ package net.aejase.ojb;
import java.util.HashMap; import java.util.Iterator;
import org.apache.ojb.broker.PersistenceBroker; import org.apache.ojb.broker.accesslayer.QueryCustomizer; import org.apache.ojb.broker.metadata.CollectionDescriptor; import org.apache.ojb.broker.query.Criteria; import org.apache.ojb.broker.query.Query; import org.apache.ojb.broker.query.QueryByCriteria;
/**
*
*
* @author
*/
public class AejaseQueryCustomizer implements QueryCustomizer
{
private HashMap map = null; /**
*
*/
public AejaseQueryCustomizer()
{
map = new HashMap();
}/* (non-Javadoc)
* @see org.apache.ojb.broker.accesslayer.QueryCustomizer#customizeQuery(java.lang.Object, org.apache.ojb.broker.PersistenceBroker, org.apache.ojb.broker.metadata.CollectionDescriptor, org.apache.ojb.broker.query.QueryByCriteria)
*/
public Query customizeQuery(
Object arg0,
PersistenceBroker arg1,
CollectionDescriptor arg2,
QueryByCriteria query)
{
String tmp;
Criteria c = query.getCriteria();
Iterator i = map.keySet().iterator(); while (i.hasNext())
{
tmp = (String)i.next();
c.addEqualTo(tmp, this.getAttribute(tmp));
} return query;
}/* (non-Javadoc)
* @see org.apache.ojb.broker.metadata.AttributeContainer#addAttribute(java.lang.String, java.lang.String)
*/
public void addAttribute(String arg0, String arg1)
{
map.put(arg0, arg1);
}
/* (non-Javadoc)
* @see org.apache.ojb.broker.metadata.AttributeContainer#getAttribute(java.lang.String, java.lang.String)
*/
public String getAttribute(String arg0, String arg1)
{
if (map.containsKey(arg0))
return (String)map.get(arg0);
return arg1;
}/* (non-Javadoc)
* @see org.apache.ojb.broker.metadata.AttributeContainer#getAttribute(java.lang.String)
*/
public String getAttribute(String arg0)
{
return (String)map.get(arg0);
}
}
*** ================================================== ***
At 02:44 11/07/2003, you wrote:
Hi All,
Is there any one with a Query Customizer example ?
Thanks, Vinicius Bomfim
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
