/impl/conf/berserk/sd.xml |
---|
165,6 → 165,7 |
<isTransactional>true</isTransactional> |
<filterChains> |
<chain name="Logger"/> |
<chain name="Session"/> |
</filterChains> |
</service> |
<service> |
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadRoleTypeMaxAnnouncementsService.java |
---|
30,7 → 30,7 |
private static final Logger logger = Logger.getLogger(LoadRoleTypeMaxAnnouncementsService.class); |
private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible"); |
public List<AnnouncementView> run(String roles,String typeNews,String subTarget) |
public List<AnnouncementView> run(String roles,String typeNews,String subTarget,UserSession sess) |
{ |
List<String> targetRoles = new ArrayList<String>(); |
if (roles.contains(",")) |
45,7 → 45,11 |
{ |
targetRoles.add(roles); |
} |
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget); |
boolean internal = true; |
if(sess.getUser() == null) |
internal = false; |
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget,internal); |
if(announcements == null) |
return null; |
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>(); |
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTargetMaxAnnouncementsService.java |
---|
27,7 → 27,10 |
List<String> targetRoles = null; |
if(userSession.getUser() != null) |
targetRoles = userSession.getUser().getTargetRolesList(); |
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,subTarget); |
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>(); |
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTopFlashNewsIterateService.java |
---|
31,22 → 31,26 |
public AnnouncementView run(String subTarget, UserSession sess) |
{ |
Integer iterator = (Integer) ((UserSessionImpl)sess).get(flashNewsIterator); |
if(iterator == null) |
Integer iterator = (Integer) ((UserSessionImpl) sess).get(flashNewsIterator); |
if (iterator == null) |
iterator = 0; |
int size = DaoFactory.getAnnouncementDaoImpl().countAnnouncements(1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,null); |
if(size != 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); |
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(iterator, 1, null, Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS, subTarget, internal); |
iterator++; |
((UserSessionImpl)sess).put(flashNewsIterator,iterator); |
((UserSessionImpl) sess).put(flashNewsIterator, iterator); |
if(announcements == null) |
if (announcements == null) |
return null; |
logger.info("Loading announcement top flash iterator"); |
if(announcements.size() > 0) |
if (announcements.size() > 0) |
{ |
return new AnnouncementView(announcements.get(0)); |
} |
59,12 → 63,13 |
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim ja nao da o erro do log |
//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(String[] args) throws Throwable { |
public static void main(String[] args) throws Throwable |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] arguments = new Object[]{}; |
AnnouncementView announcementView = (AnnouncementView) sm.execute("testecookie", "LoadTopFlashNewsIterate",arguments,names); |
System.out.println("-->"+announcementView.getTitle()); |
AnnouncementView announcementView = (AnnouncementView) sm.execute("testecookie", "LoadTopFlashNewsIterate", arguments, names); |
System.out.println("-->" + announcementView.getTitle()); |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDaoImpl.java |
---|
31,7 → 31,7 |
return (AnnouncementDaoImpl) myInstance; |
} |
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String subTarget) { |
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String subTarget,boolean internal) { |
if (roles == null) { |
roles = new ArrayList<String>(); |
roles.add("all"); |
53,6 → 53,8 |
else { |
coSubTargets = eq("subTargets", subTarget); |
} |
if(!internal) |
criteria.add(eq("internal",false)); |
MyCalendar cNow = new MyCalendar(); |
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(), cNow.getMonth(), cNow.getDay()); |
Date now = calendarWithOutTime.getTime(); |
66,31 → 68,31 |
return criteria.list(); |
} |
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget) { |
return findAnnouncements(0, maxAnnouncements, roles, type, subTarget); |
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget, boolean internal) { |
return findAnnouncements(0, maxAnnouncements, roles, type, subTarget,internal); |
} |
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements, List<String> roles, String type, String subTarget) { |
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles, type, subTarget); |
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) { |
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles, type, subTarget,internal); |
return criteria.setFirstResult(maxAnnouncements * startPage).list(); |
} |
public int countAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget) { |
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles, type, subTarget); |
public int countAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) { |
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles, type, subTarget,internal); |
return criteria.list().size(); |
} |
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements, List<String> roles, String type, String subTarget) { |
return createMaxAnnouncementsPageRolesTypeCriteria(0, maxAnnouncements, roles, type, subTarget); |
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) { |
return createMaxAnnouncementsPageRolesTypeCriteria(0, maxAnnouncements, roles, type, subTarget,internal); |
} |
private Criteria createMaxAnnouncementsPageRolesTypeCriteria(int page, int maxAnnouncements, List<String> roles, String type, String subTarget) { |
return createRolesTypeCriteria(roles, type, subTarget) |
private Criteria createMaxAnnouncementsPageRolesTypeCriteria(int page, int maxAnnouncements, List<String> roles, String type, String subTarget,boolean internal) { |
return createRolesTypeCriteria(roles, type, subTarget,internal) |
.setFirstResult(page * maxAnnouncements) |
.setMaxResults(maxAnnouncements); |
} |
private Criteria createRolesTypeCriteria(List<String> roles, String type, String subTarget) { |
private Criteria createRolesTypeCriteria(List<String> roles, String type, String subTarget,boolean internal) { |
if (roles == null) { |
roles = new ArrayList<String>(); |
roles.add("all"); |
114,6 → 116,10 |
} |
if (type != null) |
criteria.add(eq("type", type)); |
if(!internal) |
criteria.add(eq("internal",false)); |
MyCalendar cNow = new MyCalendar(); |
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(), cNow.getMonth(), cNow.getDay()); |
Date now = calendarWithOutTime.getTime(); |
147,18 → 153,18 |
AbstractDao.getCurrentSession().beginTransaction().commit(); |
}*/ |
public List<Announcement> searchAnnouncements(String query, SearchTypeEnum searchTypeEnum, int maxAnnouncements, int page, List<String> roles, String subTarget) { |
public List<Announcement> searchAnnouncements(String query, SearchTypeEnum searchTypeEnum, int maxAnnouncements, int page, List<String> roles, String subTarget,boolean internal) { |
Criterion c = createSearchQuery(query, searchTypeEnum); |
Criteria criteria = createMaxAnnouncementsPageRolesTypeCriteria(page, maxAnnouncements, roles, null, null); |
Criteria criteria = createMaxAnnouncementsPageRolesTypeCriteria(page, maxAnnouncements, roles, null, null,internal); |
criteria.add(c); |
return criteria.list(); |
} |
public int countAnnouncements(String query, SearchTypeEnum searchTypeEnum, List<String> roles, String subTarget) { |
public int countAnnouncements(String query, SearchTypeEnum searchTypeEnum, List<String> roles, String subTarget,boolean internal) { |
Criterion c = createSearchQuery(query, searchTypeEnum); |
Criteria criteria = createRolesTypeCriteria(roles, null, null); |
Criteria criteria = createRolesTypeCriteria(roles, null, null,internal); |
criteria.add(c); |
return criteria.list().size(); |
} |
/impl/src/web/admin/profile/profile.jsp |
---|
45,7 → 45,7 |
<input type="button" value="<bean:message key="add"/>" onclick="set(this.form,'addRole');this.form.submit();"> |
</logic:present> |
</html:select> |
<logic:present name="ProfileForm" property="selectedRoles"> |
<logic:notEmpty name="ProfileForm" property="selectedRoles"> |
<ul> |
110,17 → 110,13 |
</estgweb:isNotAdmin> |
<estgweb:isAdmin> |
<tr> |
<estgweb:isAdmin> |
<th><bean:message key="login.first.time.email.institucion2"/></th> |
</estgweb:isAdmin> |
<estgweb:isNotAdmin> |
<th><bean:message key="login.first.time.email.institucion"/></th> |
</estgweb:isNotAdmin> |
<th><bean:message key="login.first.time.email.institucion2"/></th> |
<td> |
<html:text property="userView.email" maxlength="250"/> |
</td> |
</tr> |
</estgweb:isAdmin> |
<tr> |
<th><bean:message key="login.first.time.email.secundary"/></th> |
<td> |