package pt.estgp.estgweb.services.announcements;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import java.util.ArrayList;
import java.util.List;
/**
* @author Jorge Machado
* @date 4/Mar/2008
* @time 19:48:46
* @see pt.estgp.estgweb.services.announcements
*/
public class LoadTargetMaxAnnouncementsService
implements IService
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(LoadTargetMaxAnnouncementsService.
class);
private static final int MAX_ANNOUNCEMENTS = ConfigProperties.
getIntProperty("announcements.max.visible");
public List
<AnnouncementView
> run
(1.5.0/docs/api/java/lang/String.html">String subTarget,UserSession userSession
)
{
List
<String
> targetRoles =
null;
if(userSession.
getUser() !=
null)
targetRoles = userSession.
getUser().
getRolesList();
boolean internal =
true;
if (userSession.
getUser() ==
null)
internal =
false;
List
<Announcement
> announcements = DaoFactory.
getAnnouncementDaoImpl().
findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,subTarget,internal
);
if(announcements ==
null)
return null;
List
<AnnouncementView
> announcementViews =
new ArrayList
<AnnouncementView
>();
for(Announcement announcement: announcements
)
{
AnnouncementView announcementView =
new AnnouncementView
(announcement
);
announcementViews.
add(announcementView
);
}
logger.
info("Loading announcement views");
return announcementViews
;
}
}