apps/com.awspaas.user.bpa/src/com/awspaas/user/bpa/job/DimensionCache.java

45 lines
1.5 KiB
Java

package com.awspaas.user.bpa.job;
import com.actionsoft.apps.resource.plugin.profile.CachePluginProfile;
import com.actionsoft.bpms.commons.cache.Cache;
import com.actionsoft.bpms.commons.cache.CacheIndex;
import com.actionsoft.bpms.commons.cache.CacheManager;
import com.actionsoft.bpms.commons.cache.ListValueIndex;
import com.actionsoft.bpms.commons.mvc.dao.IDaoQuery;
import java.io.Serializable;
import java.util.List;
public class DimensionCache extends Cache<String, DimensionModel> {
public DimensionCache(CachePluginProfile configuration) {
super(configuration);
registeIndex(DimensionParentIndex.class, (CacheIndex)new DimensionParentIndex());
}
public List<DimensionModel> getDimensionListOfParent(String parentDimensionId) {
List<DimensionModel> list = iteratorToList(getCache().getByIndex(DimensionParentIndex.class, parentDimensionId));
return list;
}
protected void load() {
DimensionDao dimensionDao = new DimensionDao();
IDaoQuery<DimensionModel> iDaoQuery = dimensionDao.query();
List<DimensionModel> dimensionModels = iDaoQuery.list();
for (DimensionModel dimensionModel : dimensionModels)
put(dimensionModel.getId(), (DimensionModel) dimensionModel, false);
}
public static DimensionCache getCache() {
return (DimensionCache)CacheManager.getCache(DimensionCache.class);
}
class DimensionParentIndex extends ListValueIndex<String, DimensionModel> {
public String key(DimensionModel t) {
return t.getParentId();
}
}
}