public List<GenericValue> findByCondition(final String entityName, final EntityCondition entityCondition, final Collection<String> fieldsToSelect, final List<String> orderBy) { try { return delegatorInterface.findByCondition(entityName, entityCondition, fieldsToSelect, orderBy); } catch (final GenericEntityException e) { throw new DataAccessException(e); } }
private Collection<String> getKeys(final FieldMap fieldMap) { try { final EntityCondition condition = new EntityFieldMap(fieldMap, AND); final List<GenericValue> keyGVs = genericDelegator.findByCondition(PROPERTY_ENTRY, condition, SELECT_KEY, null); if (keyGVs == null || keyGVs.isEmpty()) { return ImmutableSet.of(); } final Set<String> keys = new HashSet<String>(keyGVs.size()); for (GenericValue keyGV : keyGVs) { keys.add(keyGV.getString(PROPERTY_KEY)); } return keys; } catch (GenericEntityException gee) { throw new PropertyImplementationException(gee); } }
@Override public CacheObject<PropertyEntry> load(@Nonnull CacheKey cacheKey) { try { final List<GenericValue> list = genericDelegator.findByCondition(PROPERTY_ENTRY, cacheKey.toCondition(), SELECT_ID_AND_TYPE, null); if (list == null || list.isEmpty()) { return CacheObject.NULL(); } final GenericValue entry = (list.size() == 1) ? list.get(0) : selectMaximumId(list); return buildPropertyEntry(entry); } catch (GenericEntityException gee) { throw new PropertyImplementationException(gee); } }
@Override public long getCountByAnd(final String entityName, final Map<String, ?> fields) { try { final EntityCondition condition = new EntityFieldMap(fields, EntityOperator.AND); final GenericValue countGV = EntityUtil.getOnly(delegatorInterface.findByCondition(entityName + "Count", condition, ImmutableList.of(COUNT_FIELD_NAME), null)); return countGV.getLong(COUNT_FIELD_NAME); } catch (final GenericEntityException e) { throw new DataAccessException(e); } }
@Override public void removeEntry(String entityName, long entityId, String propertyKey) { final EntityCondition condition = new EntityFieldMap(FieldMap.build( ENTITY_NAME, entityName, ENTITY_ID, entityId, PROPERTY_KEY, propertyKey), AND); try { final List<GenericValue> list = genericDelegator.findByCondition(PROPERTY_ENTRY, condition, SELECT_ID_AND_TYPE, null); if (list != null) { for (GenericValue entry : list) { removeEntryAndValue(entry); } } } catch (GenericEntityException gee) { throw new PropertyImplementationException(gee); } finally { // remove cache entry regardless of whether or not we actually find anything invalidateCacheEntry(entityName, entityId, propertyKey); } }
final List<GenericValue> list = genericDelegator.findByCondition(PROPERTY_ENTRY, condition, SELECT_ID_KEY_AND_TYPE, null); if (list != null && !list.isEmpty())