/** Returns the list of enterprises that can't be co-located with an enterprise. */ @Override public List<EnterpriseHB> findExcludedEnterprises(final EnterpriseHB enterprise) { assert enterprise != null; /* * Find all rules of which the enterprise is part first. */ final List<EnterpriseExclusionRuleHB> rules = SessionUtils.list( getSession(), EnterpriseExclusionRuleHB.class, "SELECT obj FROM EnterpriseExclusionRuleHB obj " + "WHERE " + " obj.enterprise1 = ? OR " + " obj.enterprise2 = ?", enterprise, enterprise); final List<EnterpriseHB> result = new ArrayList<EnterpriseHB>(); for (final EnterpriseExclusionRuleHB rule : rules) { // If the enterprise is enterprise1, then enterprise2 is the enterprise that can't be // co-located if (rule.getEnterprise1() == enterprise) { result.add(rule.getEnterprise2()); } // ...else, then enterprise1 is the enterprise that can't be co-located else { result.add(rule.getEnterprise1()); } } return result; }
/** * This method transform the current EnterpriseExclusionRule pojo object to a * EnterpriseExclusionRule hibernate pojo object */ public EnterpriseExclusionRuleHB toPojoHB() { EnterpriseExclusionRuleHB ruleHB = new EnterpriseExclusionRuleHB(); ruleHB.setEnterprise1(enterprise1.toPojoHB()); ruleHB.setEnterprise2(enterprise2.toPojoHB()); return ruleHB; }