01: package org.osbl.inventory;
02:
03: import org.osbl.inventory.model.*;
04: import org.osbl.ReferenceChecker;
05: import org.osbl.ServiceProvider;
06: import org.osbl.persistence.*;
07: import org.conform.hibernate.HibernateEnvironment;
08:
09: import java.util.*;
10:
11: public class InventoryToCostTypeReferenceChecker implements
12: ReferenceChecker<Inventory, CostType> {
13: private Persistence persistence;
14:
15: public Persistence getPersistence() {
16: if (persistence == null)
17: persistence = (Persistence) ServiceProvider.getInstance()
18: .getService("InventoryPersistence");
19: return persistence;
20: }
21:
22: public Collection<Inventory> check(Collection<CostType> objects) {
23: try {
24: HibernateEnvironment.getInstance().beginTransaction();
25:
26: SimpleQueryCommand command = (SimpleQueryCommand) getPersistence()
27: .createCommand("list");
28: command.setType(Inventory.class);
29: command.addFilter("costType", Operator.IN, objects);
30: return (List<Inventory>) command.execute();
31: } finally {
32: HibernateEnvironment.getInstance().endTransaction();
33: }
34: }
35: }
|