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]



Reply via email to