protected static <T extends BaseModel<T>> List<T> getBaseModels(
PortalCache<Long, long[]> portalCache,
MappingSqlQuery<Long> mappingSqlQuery, long masterPrimaryKey,
BasePersistence<T> slaveBasePersistence, int start, int end,
OrderByComparator<T> obc) {
long[] slavePrimaryKeys = getPrimaryKeys(
portalCache, mappingSqlQuery, masterPrimaryKey, true);
if (slavePrimaryKeys.length == 0) {
return Collections.emptyList();
}
List<T> slaveBaseModels = new ArrayList<>(slavePrimaryKeys.length);
try {
for (long slavePrimaryKey : slavePrimaryKeys) {
slaveBaseModels.add(
slaveBasePersistence.findByPrimaryKey(slavePrimaryKey));
}
}
catch (NoSuchModelException nsme) {
throw new SystemException(nsme);
}
if (obc != null) {
Collections.sort(slaveBaseModels, obc);
}
return ListUtil.subList(slaveBaseModels, start, end);
}