@Override public List<License> findAllLicenses() { List<License> result = new ArrayList<License>(); for (LicenseGroup lg : this.findAll()) { for (License l : lg.getLicenses()) { l.setGroup(lg); result.add(l); } } return result; }
@Override public License findLicenseById(String licenseId) { Criteria c = Criteria.where("licenses").elemMatch(Criteria.where("_id").is(licenseId)); BasicQuery basicQuery = new BasicQuery(c.getCriteriaObject(), c.getCriteriaObject()); LicenseGroup lg = this.findOne(basicQuery); if (lg != null) { License g = lg.getLicenses().get(0); g.setGroup(lg); return g; } return null; }