@Override public void addDetail(long resourceId, String key, String value, boolean display) { super.addDetail(new ImageStoreDetailVO(resourceId, key, value, display)); }
@Override public Map<String, String> getDetails(long storeId) { SearchCriteria<ImageStoreDetailVO> sc = storeSearch.create(); sc.setParameters("store", storeId); List<ImageStoreDetailVO> details = listBy(sc); Map<String, String> detailsMap = new HashMap<String, String>(); for (ImageStoreDetailVO detail : details) { String name = detail.getName(); String value = detail.getValue(); if (name.equals(ApiConstants.KEY) || name.equals(ApiConstants.S3_SECRET_KEY)) { value = DBEncryptionUtil.decrypt(value); } detailsMap.put(name, value); } return detailsMap; }
@Override public ImageStoreDetailVO findDetail(long storeId, String name) { QueryBuilder<ImageStoreDetailVO> sc = QueryBuilder.create(ImageStoreDetailVO.class); sc.and(sc.entity().getResourceId(), Op.EQ, storeId); sc.and(sc.entity().getName(), Op.EQ, name); return sc.find(); }
@Override public String getConfigValue(long id, ConfigKey<?> key) { ImageStoreDetailVO vo = findDetail(id, key.key()); return vo == null ? null : vo.getValue(); }
@Override public void deleteDetails(long storeId) { SearchCriteria<ImageStoreDetailVO> sc = storeSearch.create(); sc.setParameters("store", storeId); List<ImageStoreDetailVO> results = search(sc, null); for (ImageStoreDetailVO result : results) { remove(result.getId()); } }
public ImageStoreDetailsDaoImpl() { super(); storeSearch = createSearchBuilder(); storeSearch.and("store", storeSearch.entity().getResourceId(), SearchCriteria.Op.EQ); storeSearch.done(); }
@Override public void update(long storeId, Map<String, String> details) { TransactionLegacy txn = TransactionLegacy.currentTxn(); SearchCriteria<ImageStoreDetailVO> sc = storeSearch.create(); sc.setParameters("store", storeId); txn.start(); expunge(sc); for (Map.Entry<String, String> entry : details.entrySet()) { ImageStoreDetailVO detail = new ImageStoreDetailVO(storeId, entry.getKey(), entry.getValue(), true); persist(detail); } txn.commit(); }
value = DBEncryptionUtil.encrypt(value); ImageStoreDetailVO detail = new ImageStoreDetailVO(store.getId(), key, value, true); imageStoreDetailsDao.persist(detail);