@Nullable public Object getValue() { if (value == null) { return null; } return mapper(type).getHandler().processGet(type, value); }
private void removeOrphanedValueIfTypeChanged(final Integer newType, final GenericValue existingPropertyEntry) throws GenericEntityException { final Integer oldType = existingPropertyEntry.getInteger(TYPE); if (oldType.equals(newType)) { return; } final TypeMapper newMapper = mapper(newType); final TypeMapper oldMapper = mapper(oldType); if (!oldMapper.hasSameEntityName(newMapper)) { genericDelegator.removeByAnd(oldMapper.getEntityName(), FieldMap.build(ID, existingPropertyEntry.getLong(ID))); } existingPropertyEntry.set(TYPE, newType); // Don't store; will be handled by transactional storeAll in setEntryImpl }
@Nullable public Object getValue(final int type) { if (value == null) { return null; } return mapper(type).getHandler().processGet(type, value); }
private CacheObject<PropertyEntry> buildPropertyEntry(final GenericValue entry) throws GenericEntityException { final Long id = entry.getLong(ID); final Integer type = entry.getInteger(TYPE); final GenericValue genericValue = genericDelegator.findByPrimaryKey(mapper(type).getEntityName(), FieldMap.build(ID, id)); final Object value = (genericValue != null) ? genericValue.get(VALUE) : null; return CacheObject.<PropertyEntry>wrap(new PropertyEntryImpl(type, value)); } }
private void removeEntryAndValue(Long id, Integer type) throws GenericEntityException { final FieldMap byId = FieldMap.build(ID, id); genericDelegator.removeByAnd(mapper(type).getEntityName(), byId); genericDelegator.removeByAnd(PROPERTY_ENTRY, byId); }
private void setEntryImpl(CacheKey cacheKey, Integer type, Object unmappedValue) throws GenericEntityException { final GenericValue propertyEntry = makeUpdatedEntry(cacheKey, type); final TypeMapper mapper = mapper(type); final Object mappedValue = (unmappedValue != null) ? mapper.getHandler().processSet(type, unmappedValue) : null; final GenericValue propertyTypeEntry = genericDelegator.makeValue(mapper.getEntityName(), FieldMap.build( ID, propertyEntry.getLong(ID), VALUE, mappedValue)); genericDelegator.storeAll(asList(propertyEntry, propertyTypeEntry)); }