protected LocalPage buildLocalPage(Record record, DaoFilter daoFilter) throws DaoException {
if (record == null) {
return null;
}
Language lang = Language.getById(record.getValue(Tables.LOCAL_PAGE.LANG_ID));
if (redirectSqlDao != null
&& (daoFilter.isRedirect() == null || !daoFilter.isRedirect())
&& record.getValue(Tables.LOCAL_PAGE.IS_REDIRECT)) {
LocalPage page = getById(lang, redirectSqlDao.resolveRedirect(
lang,
record.getValue(Tables.LOCAL_PAGE.PAGE_ID)));
if (daoFilter.isValidLocalPage(page)) {
return page;
}
}
Title title = new Title(
record.getValue(Tables.LOCAL_PAGE.TITLE), true,
LanguageInfo.getByLanguage(lang));
NameSpace nameSpace = NameSpace.getNameSpaceByArbitraryId(record.getValue(Tables.LOCAL_PAGE.NAME_SPACE));
return new LocalPage(
lang,
record.getValue(Tables.LOCAL_PAGE.PAGE_ID),
title,
nameSpace,
record.getValue(Tables.LOCAL_PAGE.IS_REDIRECT),
record.getValue(Tables.LOCAL_PAGE.IS_DISAMBIG)
);
}