Thanks a lot. It?s working fine. Do you know how can i choose to load or not a collection ?
Thanks again, Vinicius Bomfim -----Mensagem original----- De: Thomas Cornet [mailto:[EMAIL PROTECTED] Enviada em: sexta-feira, 11 de julho de 2003 02:41 Para: OJB Users List Assunto: Re: RES: Query Customizers 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.O bject, 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.Str ing, 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.Str ing, 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.Str ing) */ 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
