package org.onehippo.forge.konakart.common.bl;
import com.konakart.app.KKException;
import com.konakart.appif.DataDescriptorIf;
import com.konakart.appif.FetchProductOptionsIf;
import com.konakart.appif.KKEngIf;
import com.konakart.bl.KKCriteria;
import com.konakart.bl.ProductMgr;
import com.konakart.blif.ProductMgrIf;
import com.konakart.om.BaseProductsPeer;
import com.workingdogs.village.DataSetException;
import org.apache.torque.TorqueException;
import org.apache.torque.util.Criteria;
import org.apache.torque.util.SqlEnum;
import java.util.Date;
public class CustomProductMgr extends ProductMgr implements ProductMgrIf {
private Date lastUpDate;
public CustomProductMgr(KKEngIf kkEngIf) throws Exception {
super(kkEngIf);
}
public CustomProductMgr(KKEngIf kkEngIf, Date lastUpdate) throws Exception {
super(kkEngIf);
this.lastUpDate = lastUpdate;
}
@Override
protected void setCriteriaWithStandardAttributes(KKCriteria kkCriteria, int i, boolean b, boolean b1, FetchProductOptionsIf fetchProductOptionsIf, DataDescriptorIf dataDescriptorIf) throws TorqueException, KKException, DataSetException, Exception {
super.setCriteriaWithStandardAttributes(kkCriteria, i, b, b1, fetchProductOptionsIf, dataDescriptorIf);
if (lastUpDate != null) {
Criteria.Criterion lastModifiedDate = kkCriteria.getNewCriterion(BaseProductsPeer.PRODUCTS_LAST_MODIFIED,
lastUpDate, SqlEnum.GREATER_EQUAL);
Criteria.Criterion lastAddedDate = kkCriteria.getNewCriterion(BaseProductsPeer.PRODUCTS_DATE_ADDED, lastUpDate, SqlEnum.GREATER_EQUAL);
kkCriteria.add(lastModifiedDate.or(lastAddedDate));
}
kkCriteria.remove(BaseProductsPeer.PRODUCTS_STATUS);
}
}