package pt.estgp.estgweb.services.announcements;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
import java.util.List;
/**
* @author Jorge Machado
* @date 28/Mar/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class LoadTopFlashNewsIterateService
implements IService
{
private static final 1.5.0/docs/api/java/lang/String.html">String flashNewsIterator =
"flashNewsIterator";
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(LoadTopFlashNewsIterateService.
class);
public AnnouncementView run
(1.5.0/docs/api/java/lang/String.html">String subTarget, UserSession sess
)
{
1.5.0/docs/api/java/lang/Integer.html">Integer iterator =
(1.5.0/docs/api/java/lang/Integer.html">Integer) ((UserSessionImpl
) sess
).
get(flashNewsIterator
);
if (iterator ==
null)
iterator =
0;
boolean internal =
true;
if (sess.
getUser() ==
null)
internal =
false;
int size = DaoFactory.
getAnnouncementDaoImpl().
countAnnouncements(1,
null, Globals.
ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,
null, internal
);
if (size
!= 0
)
{
iterator = iterator
% size
;
List
<Announcement
> announcements = DaoFactory.
getAnnouncementDaoImpl().
findAnnouncements(iterator, 1,
null, Globals.
ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS, subTarget, internal
);
iterator++
;
((UserSessionImpl
) sess
).
put(flashNewsIterator, iterator
);
if (announcements ==
null)
return null;
logger.
info("Loading announcement top flash iterator");
if (announcements.
size() > 0
)
{
return new AnnouncementView
(announcements.
get(0
));
}
}
return null;
}
//tens de ter cuidado com o nome que metes no servico, tavas a meter LoadRoleTypeMaxAnnouncements e no XML estava LoadRoleTypeMaxAnnouncementsService, o nome nao tem de ser igual a classe mas convem, por norma eu tenho tirado a palavra service do nome do servico
//ou seja esta LoadRoleTypeMaxAnnouncements para a classe LoadRoleTypeMaxAnnouncementsService logo no sm.execute tem de estar LoadRoleTypeMaxAnnouncements
//mudei a propriedade logresults.file build.properties para logresults.file=${data.dir}/estgweb.logresults assim ja nao da o erro do logresults
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij
//adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser
public static void main
(1.5.0/docs/api/java/lang/String.html">String[] args
) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
{
IServiceManager sm = ServiceManager.
getInstance();
1.5.0/docs/api/java/lang/String.html">String[] names =
new 1.5.0/docs/api/java/lang/String.html">String[]{};
5+0%2Fdocs%2Fapi+Object">Object[] arguments =
new 5+0%2Fdocs%2Fapi+Object">Object[]{};
AnnouncementView announcementView =
(AnnouncementView
) sm.
execute("testecookie",
"LoadTopFlashNewsIterate", arguments, names
);
1.5.0/docs/api/java/lang/System.html">System.
out.
println("-->" + announcementView.
getTitle());
}
}