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]

Reply via email to