/impl/src/java/jomm/utils/StringsUtils.java |
---|
13,8 → 13,45 |
if (textOriginal == null) |
return null; |
String text = textOriginal.trim(); |
if(text.length() == 0) |
return text; |
if (text.length() > size) |
return text.substring(0, text.substring(0, size).lastIndexOf(' ')) + "..."; |
if(text.substring(0, size).lastIndexOf(' ')>=0) |
return text.substring(0, text.substring(0, size).lastIndexOf(' ')) + "..."; |
else |
return |
text.substring(0,size) + "..."; |
return text; |
} |
public static String getFormatedText(String text) |
{ |
if (text == null || text.trim().length() == 0) |
return ""; |
StringBuilder finalFormatedText = new StringBuilder(); |
boolean newLine = true; |
for (int i = 0; i < text.length(); i++) |
{ |
if (newLine && text.charAt(i) == ' ') |
{ |
finalFormatedText.append(" "); |
} |
else if (text.charAt(i) == '\n') |
{ |
finalFormatedText.append("<br>"); |
newLine = true; |
} |
else if (text.charAt(i) == '\t') |
{ |
finalFormatedText.append(" "); |
} |
else |
{ |
finalFormatedText.append(text.charAt(i)); |
newLine = false; |
} |
} |
return finalFormatedText.toString(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/PopTeste.java |
---|
File deleted |
/impl/src/java/pt/estgp/estgweb/Globals.java |
---|
1,6 → 1,8 |
package pt.estgp.estgweb; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.domain.User; |
import java.util.List; |
import java.math.BigDecimal; |
38,8 → 40,14 |
public static final String STUDENT_ROLE = ConfigProperties.getProperty("user.student"); |
public static final String TEACHER_ROLE = ConfigProperties.getProperty("user.teacher"); |
/*SIGES WEB SERVICES*/ |
public static final BigDecimal SIGES_INSTITUTION_CODE = new BigDecimal(ConfigProperties.getIntProperty("siges.institution.code")); |
public static final String SIGES_WEBSERVICE_WSDL = ConfigProperties.getProperty("ws.siges.wsdl"); |
public static final String SIGES_WEBSERVICE_TARGET_NAMESPACE = ConfigProperties.getProperty("ws.siges.target.namespace"); |
public static final long URL_STAT_CHART_EXPIRE_INTERVAL = ConfigProperties.getIntProperty("url.stat.image.expire.interval.time.minutes"); |
public static final String URL_STAT_CHART_TMP_DIR = ConfigProperties.getProperty("url.stat.tmp.dir"); |
public static final int URL_STAT_CACHE_SIZE = ConfigProperties.getIntProperty("url.stat.click.cache.size"); |
59,5 → 67,10 |
public static final boolean POP_CONTAINER_USAGE = ConfigProperties.getBooleanProperty("pop.container.use"); |
public static final int POP_FRAGMENT_TEXT_SIZE = ConfigProperties.getIntProperty("pop.fragment.text.size"); |
public static final int POP_REFRESH_TIMEOUT_MILISECONDS = ConfigProperties.getIntProperty("pop.refresh.timeout.minutes") * 1000 * 60; |
public static final boolean POP_USE_DEFAULT_SERVER = ConfigProperties.getBooleanProperty("pop.use.default.server"); |
public static final boolean POP_USE_USERNAME_AND_PASSWORD_FIRST_AUTH = ConfigProperties.getBooleanProperty("pop.use.username.and.password.first.authentication"); |
public static final int REMINDER_TEXT_SUMMARY_SIZE = ConfigProperties.getIntProperty("reminders.text.summary.size"); |
} |
/impl/src/java/pt/estgp/estgweb/services/users/CreateUserService.java |
---|
8,6 → 8,7 |
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException; |
import pt.estgp.estgweb.services.expceptions.FieldException; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.common.CommonServicesManager; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.util.Date; |
21,10 → 22,9 |
*/ |
/** |
* @author Jorge Machado |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
* <p/> |
* <p/> |
* Created at 17/Out/2003 , 23:45:24 |
*/ |
public class CreateUserService implements IService |
{ |
32,23 → 32,27 |
public void run(User user, UserSession userSession) throws ServiceException |
{ |
if(user.getUsername() == null || user.getPassword() == null || user.getUsername().length() < 4 || user.getPassword().length() < 4) |
if (user.getUsername() == null || user.getPassword() == null || user.getUsername().length() < 4 || user.getPassword().length() < 4) |
throw new FieldException("bad.fields"); |
User u = DaoFactory.getUserDaoImpl().loadByUsername(user.getUsername()); |
if(u != null) |
if (u != null) |
{ |
throw new AlreadyExistsException(AlreadyExistsException.ALREADY_EXISTS_USERNAME); |
} |
u = DaoFactory.getUserDaoImpl().loadByUsername(user.getEmail()); |
if(u != null) |
if (u != null) |
{ |
throw new AlreadyExistsException(AlreadyExistsException.ALREADY_EXISTS_EMAIL); |
} |
user.setSaveDate(new Date()); |
DaoFactory.getUserDaoImpl().save(user); |
//Advising CommonsServicesManager before change password |
CommonServicesManager.getInstance().adviseNew(user); |
user.setPassword(BytesUtils.getMD5(user.getPassword())); |
DaoFactory.getUserDaoImpl().save(user); |
if(userSession.getUser() == null) |
if (userSession.getUser() == null) |
logger.info("Anonimous - Creating user:" + user.getId() + " " + user.getName()); |
else |
logger.info(userSession.getUser().getName() + " - Creating user:" + user.getUsername() + " " + user.getName()); |
/impl/src/java/pt/estgp/estgweb/services/blogs/BlogsCommonServices.java |
---|
4,6 → 4,7 |
import pt.estgp.estgweb.services.common.*; |
import pt.estgp.estgweb.services.announcements.AnnouncementsCommonServices; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.DomainObject; |
import org.apache.log4j.Logger; |
import java.util.List; |
46,5 → 47,14 |
public List<IToDo> getAllToDos(UserSession userSession) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
}/*This method is invoked from object creation*/ |
public void adviseNew(DomainObject object) |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
public void adviseUpdate(DomainObject object) |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/email/EmailCommonServices.java |
---|
New file |
0,0 → 1,71 |
package pt.estgp.estgweb.services.email; |
import pt.estgp.estgweb.services.common.*; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.DomainObject; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.domain.User; |
import pt.estgp.estgweb.Globals; |
import java.util.List; |
import jomm.utils.DesUtils; |
/** |
* @author Jorge Machado |
* @date 22/Mai/2008 |
* @see pt.estgp.estgweb.services.email |
*/ |
public class EmailCommonServices implements IModuleCommonServices |
{ |
public int countSearch(String search, SearchTypeEnum searchType, UserSession userSession) |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public int countToDo(UserSession userSession) |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public IToDoCat getToDo(UserSession userSession) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public List<IToDo> getAllToDos(UserSession userSession) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
}/*This method is invoked from object creation*/ |
public void adviseNew(DomainObject object) |
{ |
adviseUpdate(object); |
} |
public void adviseUpdate(DomainObject object) |
{ |
if (object instanceof User) |
{ |
User user = (User) object; |
if (Globals.POP_USE_DEFAULT_SERVER) |
{ |
if (user.getPop3server() == null || user.getPop3server().length() == 0) |
user.setPop3server(Globals.POP_SERVER); |
} |
if (Globals.POP_USE_USERNAME_AND_PASSWORD_FIRST_AUTH) |
{ |
if (user.getUsername() == null || user.getUsername().length() == 0) |
user.setPop3username(user.getUsername()); |
if (user.getPassword() == null || user.getPassword().length() == 0) |
user.setPop3password(DesUtils.getInstance().encrypt(user.getPassword())); |
} |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/email/ReadEmailService.java |
---|
3,6 → 3,7 |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import pt.estgp.estgweb.services.email.impl.DefaultPopEmail; |
38,8 → 39,10 |
public List<IPopEmail> run(UserSession userSession) |
{ |
if(!((UserImpl)userSession.getUser()).hasPopConfigured()) |
return null; |
Properties props = new Properties(); |
Date d = (Date) ((UserSessionImpl)userSession).get(POP_MAIL_DATE_KEY); |
ArrayList<IPopEmail> oldMessages = (ArrayList<IPopEmail>) ((UserSessionImpl)userSession).get(POP_MAIL_MESSAGES_KEY); |
if(d != null && oldMessages != null) |
/impl/src/java/pt/estgp/estgweb/services/common/impl/CommonSearchResults.java |
---|
2,6 → 2,7 |
import pt.estgp.estgweb.services.common.ICommonSearchResults; |
import pt.estgp.estgweb.services.common.ISearchResults; |
import pt.estgp.estgweb.domain.DomainObject; |
import java.util.List; |
/impl/src/java/pt/estgp/estgweb/services/common/CommonServicesManager.java |
---|
1,26 → 1,22 |
package pt.estgp.estgweb.services.common; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
import jomm.ir.lucene.LuceneUtils; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.DomainObject; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.services.common.impl.CommonSearchResults; |
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults; |
import pt.estgp.estgweb.services.common.impl.DefaultResult; |
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults; |
import pt.estgp.estgweb.services.common.impl.DefaultToDoCat; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.*; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException; |
import pt.estgp.estgweb.web.utils.TestHttpServletRequest; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.List; |
import org.apache.log4j.Logger; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import jomm.ir.lucene.LuceneUtils; |
/** |
* @author Jorge Machado |
* @date 24/Abr/2008 |
47,26 → 43,15 |
{ |
} |
/** |
* @param request asking |
* @param query to execute |
* @param searchType see SearchTypeEnum |
* @return Cluster of Results for each Module with total module results, only return modules with results |
* @throws Throwable on notAuthorized or internal error |
*/ |
public ICommonSearchResults search(HttpServletRequest request, HttpServletResponse response, String query, SearchTypeEnum searchType) throws Throwable |
{ |
return search(RequestUtils.getRequester(request, response), query, searchType); |
} |
/** |
* @param requester asking |
* @param userSession asking |
* @param query to execute |
* @param searchType see SearchTypeEnum |
* @return Cluster of Results for each Module with total module results, only return modules with results |
* @throws Throwable on notAuthorized or internal error |
*/ |
public ICommonSearchResults search(String requester, String query, SearchTypeEnum searchType) throws Throwable |
public ICommonSearchResults search(UserSession userSession, String query, SearchTypeEnum searchType) throws Throwable |
{ |
if (searchType == null) |
76,9 → 61,9 |
for (ModuleEnum module : ModuleEnum.values()) |
{ |
if (module.getServiceName() != null) |
if (module.getModuleCommonServices() != null) |
{ |
ISearchResults iSearchResults = search(requester, query, searchType, module, 0); |
ISearchResults iSearchResults = search(userSession, query, searchType, module, 0); |
if (iSearchResults.getTotalResults() > 0) |
{ |
results.add(iSearchResults); |
92,31 → 77,13 |
return commonSearchResults; |
} |
/** |
* The service called inside implements method |
* <p/> |
* public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession); |
* |
* @param request asking |
* @param query to execute |
* @param searchType see SearchTypeEnum |
* @param moduleKey to search in |
* @param page of start result |
* @return searchResults |
* @throws Throwable on not authorized and internal error |
*/ |
public ISearchResults search(HttpServletRequest request, HttpServletResponse response, String query, SearchTypeEnum searchType, String moduleKey, int page) throws Throwable |
{ |
return search(RequestUtils.getRequester(request, response), query, searchType, ModuleEnum.parse(moduleKey), page); |
} |
/** |
* The service called inside implements method |
* <p/> |
* public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession); |
* |
* @param requester asking |
* @param userSession asking |
* @param query to execute |
* @param searchType see SearchTypeEnum |
* @param moduleKey to search in |
124,35 → 91,15 |
* @return searchResults |
* @throws Throwable on not authorized and internal error |
*/ |
public ISearchResults search(String requester, String query, SearchTypeEnum searchType, String moduleKey, int page) throws Throwable |
public ISearchResults search(UserSession userSession, String query, SearchTypeEnum searchType, ModuleEnum moduleKey, int page) throws Throwable |
{ |
return search(requester, query, searchType, ModuleEnum.parse(moduleKey), page); |
} |
/** |
* The service called inside implements method |
* <p/> |
* public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession); |
* |
* @param requester asking |
* @param query to execute |
* @param searchType see SearchTypeEnum |
* @param moduleKey to search in |
* @param page of start result |
* @return searchResults |
* @throws Throwable on not authorized and internal error |
*/ |
public ISearchResults search(String requester, String query, SearchTypeEnum searchType, ModuleEnum moduleKey, int page) throws Throwable |
{ |
IServiceManager sm; |
try |
{ |
sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{query, searchType, page, SEARCH_MAX_RESULTS}; |
// sm = ServiceManager.getInstance(); |
// String[] names = new String[]{}; |
// Object[] args = new Object[]{query, searchType, page, SEARCH_MAX_RESULTS}; |
DefaultSearchResults searchResults = (DefaultSearchResults) sm.execute(requester, moduleKey.getSearchService(), "search", args, names); |
DefaultSearchResults searchResults = (DefaultSearchResults) moduleKey.getModuleCommonServices().search(query, searchType, page, SEARCH_MAX_RESULTS, userSession); //(DefaultSearchResults) sm.execute(requester, moduleKey.getSearchService(), "search", args, names); |
searchResults.setPage(page); |
searchResults.setMaxResultsPage(SEARCH_MAX_RESULTS); |
searchResults.setQuery(query.replace("'", " ")); |
197,33 → 144,32 |
} |
} |
public List<IToDoCat> getToDoCats(String requester) throws Throwable |
public List<IToDoCat> getToDosCats(UserSession userSession) throws Throwable |
{ |
List<IToDoCat> toDoCats = new ArrayList<IToDoCat>(); |
for (ModuleEnum module : ModuleEnum.values()) |
{ |
if (module.getServiceName() != null) |
if (module.getModuleCommonServices() != null) |
{ |
IToDoCat toDoCat = getToDoCats(requester, module); |
IToDoCat toDoCat = getToDoCats(userSession, module); |
if (toDoCat != null) |
{ |
toDoCats.add(toDoCat); |
} |
} |
} |
return toDoCats; |
} |
public List<IToDoCat> getAllToDosCats(String requester) throws Throwable |
public List<IToDoCat> getAllToDosCats(UserSession userSession) throws Throwable |
{ |
List<IToDoCat> toDoCats = new ArrayList<IToDoCat>(); |
for (ModuleEnum module : ModuleEnum.values()) |
{ |
if (module.getServiceName() != null) |
if (module.getModuleCommonServices() != null) |
{ |
IToDoCat toDoCat = getAllToDoCats(requester, module); |
IToDoCat toDoCat = getAllToDoCats(userSession, module); |
if (toDoCat != null && toDoCat.getTotalToDo() > 0) |
{ |
toDoCats.add(toDoCat); |
233,37 → 179,29 |
return toDoCats; |
} |
public IToDoCat getToDoCats(HttpServletRequest request, HttpServletResponse response, String moduleKey) throws Throwable |
public IToDoCat getToDoCats(UserSession userSession, String moduleKey) throws Throwable |
{ |
return getToDoCats(RequestUtils.getRequester(request, response), ModuleEnum.parse(moduleKey)); |
return getToDoCats(userSession, ModuleEnum.parse(moduleKey)); |
} |
public IToDoCat getToDoCats(HttpServletRequest request, HttpServletResponse response, ModuleEnum module) throws Throwable |
{ |
return getToDoCats(RequestUtils.getRequester(request, response), module); |
} |
/** |
* @param requester asking |
* @param module to search |
* @param userSession asking |
* @param module to search |
* @return Number of ToDos in given module |
* @throws Throwable on Error or NotAuthorized Exception |
*/ |
public IToDoCat getToDoCats(String requester, ModuleEnum module) throws Throwable |
public IToDoCat getToDoCats(UserSession userSession, ModuleEnum module) throws Throwable |
{ |
IServiceManager sm; |
// IServiceManager sm; |
try |
{ |
sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{}; |
return (IToDoCat) sm.execute(requester, module.getGetToDoService(), "getToDo", args, names); |
return module.getModuleCommonServices().getToDo(userSession); |
// sm = ServiceManager.getInstance(); |
// String[] names = new String[]{}; |
// Object[] args = new Object[]{}; |
// return (IToDoCat) sm.execute(requester, module.getGetToDoService(), "getToDo", args, names); |
} |
catch (FilterRetrieveException e) |
{ |
logger.error(e, e); |
throw new NotAuthorizedException(e.toString()); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
272,30 → 210,26 |
} |
/** |
* @param requester asking |
* @param userSession asking |
* @param module to search |
* @return Number of ToDos in given module |
* @throws Throwable on Error or NotAuthorized Exception |
*/ |
public IToDoCat getAllToDoCats(String requester, ModuleEnum module) throws Throwable |
public IToDoCat getAllToDoCats(UserSession userSession, ModuleEnum module) throws Throwable |
{ |
IServiceManager sm; |
// IServiceManager sm; |
try |
{ |
sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{}; |
List<IToDo> todos = (List<IToDo>) sm.execute(requester, module.getAllToDosService(), "getAllToDos", args, names); |
// sm = ServiceManager.getInstance(); |
// String[] names = new String[]{}; |
// Object[] args = new Object[]{}; |
// List<IToDo> todos = (List<IToDo>) sm.execute(requester, module.getAllToDosService(), "getAllToDos", args, names); |
List<IToDo> todos = module.getModuleCommonServices().getAllToDos(userSession); |
DefaultToDoCat toDoCat = new DefaultToDoCat(); |
toDoCat.setAllToDos(todos); |
toDoCat.setDescription(module.getMessageKey()); |
return toDoCat; |
} |
catch (FilterRetrieveException e) |
{ |
logger.error(e, e); |
throw new NotAuthorizedException(e.toString()); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
303,10 → 237,35 |
} |
} |
/** |
* Advise modules for new object creation |
* @param domainObject created |
*/ |
public void adviseNew(DomainObject domainObject) |
{ |
for (ModuleEnum module : ModuleEnum.values()) |
{ |
module.getModuleCommonServices().adviseNew(domainObject); |
} |
} |
/** |
* Advise modules for new object creation |
* @param domainObject created |
*/ |
public void adviseUpdate(DomainObject domainObject) |
{ |
for (ModuleEnum module : ModuleEnum.values()) |
{ |
module.getModuleCommonServices().adviseUpdate(domainObject); |
} |
} |
public static void main(String[] args) throws Throwable |
{ |
ICommonSearchResults commonSearchResults = new CommonServicesManager().search("2093FFF41F61E375D2CB4CBEDE4400E9", "teste", SearchTypeEnum.AllWords); |
ICommonSearchResults commonSearchResults = new CommonServicesManager().search(UserSessionProxy.loadUserSession(new TestHttpServletRequest("2093FFF41F61E375D2CB4CBEDE4400E9"),null), "teste", SearchTypeEnum.AllWords); |
for (ISearchResults searchResults : commonSearchResults.getSearchResults()) |
{ |
System.out.println("-----------------------------------------------------"); |
334,8 → 293,8 |
// } |
} |
List<IToDoCat> l = CommonServicesManager.getInstance().getAllToDosCats("2093FFF41F61E375D2CB4CBEDE4400E9"); |
System.out.println(CommonServicesManager.getInstance().getAllToDosCats("2093FFF41F61E375D2CB4CBEDE4400E9")); |
CommonServicesManager.getInstance().getAllToDosCats(UserSessionProxy.loadUserSession(new TestHttpServletRequest("2093FFF41F61E375D2CB4CBEDE4400E9"),null)); |
System.out.println(CommonServicesManager.getInstance().getAllToDosCats(UserSessionProxy.loadUserSession(new TestHttpServletRequest("2093FFF41F61E375D2CB4CBEDE4400E9"),null))); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/common/ICommonSearchResults.java |
---|
1,5 → 1,7 |
package pt.estgp.estgweb.services.common; |
import pt.estgp.estgweb.domain.DomainObject; |
import java.util.List; |
/** |
14,4 → 16,5 |
public int getTotalResults(); |
public String getQuery(); |
public String getSearchType(); |
/*This method is to be called in new Object creation*/ |
} |
/impl/src/java/pt/estgp/estgweb/services/common/ModuleEnum.java |
---|
1,5 → 1,8 |
package pt.estgp.estgweb.services.common; |
import pt.estgp.estgweb.services.announcements.AnnouncementsCommonServices; |
import pt.estgp.estgweb.services.email.EmailCommonServices; |
/** |
* @author Jorge Machado |
* @date 24/Abr/2008 |
10,45 → 13,28 |
{ |
Announcements("module.Announcements", new AnnouncementsCommonServices()), |
Email("module.Email", new EmailCommonServices()); |
// Events("module.Events",null), |
// Blogs("module.Blogs",null), |
// Proxy("module.Proxy",null); |
Announcements("module.Announcements","AnnouncementsCommonServices"), |
Events("module.Events",null), |
Blogs("module.Blogs",null), |
Proxy("module.Proxy",null); |
public static final String SEARCH_PREFIX = "Search"; |
public static final String COUNT_SEARCH_PREFIX = "CountSearch"; |
public static final String COUNT_TO_DO_PREFIX = "CountToDo"; |
public static final String GET_TO_DO_PREFIX = "GetToDo"; |
public static final String GET_ALL_TO_DOS_PREFIX = "GetAllToDos"; |
IModuleCommonServices moduleCommonServices; |
String messageKey; |
String serviceName; |
String searchService; |
String countSearchService; |
String countToDoService; |
String getToDoService; |
String getAllToDosService; |
private ModuleEnum(String messageKey, String serviceName) |
private ModuleEnum(String messageKey, IModuleCommonServices moduleCommonServices) |
{ |
this.messageKey = messageKey; |
this.serviceName = serviceName; |
searchService = serviceName + SEARCH_PREFIX; |
countSearchService = serviceName + COUNT_SEARCH_PREFIX; |
getToDoService = serviceName + GET_TO_DO_PREFIX; |
countToDoService = serviceName + COUNT_TO_DO_PREFIX; |
getAllToDosService = serviceName + GET_ALL_TO_DOS_PREFIX; |
this.moduleCommonServices = moduleCommonServices; |
} |
public static ModuleEnum parse(String messageKey) |
{ |
for(ModuleEnum module: values()) |
for (ModuleEnum module : values()) |
{ |
if(messageKey.equals(module.getMessageKey())) |
if (messageKey.equals(module.getMessageKey())) |
return module; |
} |
return null; |
58,35 → 44,9 |
{ |
return messageKey; |
} |
public String getServiceName() |
public IModuleCommonServices getModuleCommonServices() |
{ |
return serviceName; |
return moduleCommonServices; |
} |
public String getGetToDoService() |
{ |
return getToDoService; |
} |
public String getCountToDoService() |
{ |
return countToDoService; |
} |
public String getCountSearchService() |
{ |
return countSearchService; |
} |
public String getSearchService() |
{ |
return searchService; |
} |
public String getAllToDosService() |
{ |
return getAllToDosService; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/common/IModuleCommonServices.java |
---|
1,6 → 1,7 |
package pt.estgp.estgweb.services.common; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.DomainObject; |
import java.util.List; |
20,4 → 21,8 |
public IToDoCat getToDo(UserSession userSession); |
public List<IToDo> getAllToDos(UserSession userSession); |
/*This method is invoked from object creation*/ |
public void adviseNew(DomainObject object); |
public void adviseUpdate(DomainObject object); |
} |
/impl/src/java/pt/estgp/estgweb/services/common/CommonServicesService.java |
---|
New file |
0,0 → 1,50 |
package pt.estgp.estgweb.services.common; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import org.apache.log4j.Logger; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 22/Mai/2008 |
* @see pt.estgp.estgweb.services.common |
*/ |
public class CommonServicesService implements IService |
{ |
private static final Logger logger = Logger.getLogger(CommonServicesService.class); |
public ICommonSearchResults search(String query, SearchTypeEnum searchTypeEnum, UserSession userSession) throws ServiceException |
{ |
try |
{ |
return CommonServicesManager.getInstance().search(userSession, query, searchTypeEnum); |
} |
catch (Throwable throwable) |
{ |
logger.error(throwable,throwable); |
throw new ServiceException("", throwable); |
} |
} |
public ISearchResults searchModule(String query, SearchTypeEnum searchType, ModuleEnum moduleKey, int page,UserSession userSession) throws Throwable |
{ |
try |
{ |
return CommonServicesManager.getInstance().search(userSession, query, searchType,moduleKey,page); |
} |
catch (Throwable throwable) |
{ |
logger.error(throwable,throwable); |
throw new ServiceException("", throwable); |
} |
} |
public List<IToDoCat> getAllToDosCats(UserSession userSession) throws Throwable |
{ |
return CommonServicesManager.getInstance().getAllToDosCats(userSession); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/reminders/impl/DefaultOwnedReminders.java |
---|
New file |
0,0 → 1,43 |
package pt.estgp.estgweb.services.reminders.impl; |
import pt.estgp.estgweb.services.reminders.IOwnedReminders; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 22/Mai/2008 |
* @see pt.estgp.estgweb.services.reminders.impl |
*/ |
public class DefaultOwnedReminders implements IOwnedReminders |
{ |
private List<ReminderView> activeReminders; |
private List<ReminderView> expiredReminders; |
public DefaultOwnedReminders(List<ReminderView> activeReminders, List<ReminderView> expiredReminders) |
{ |
this.activeReminders = activeReminders; |
this.expiredReminders = expiredReminders; |
} |
public List<ReminderView> getActiveReminders() |
{ |
return activeReminders; |
} |
public void setActiveReminders(List<ReminderView> activeReminders) |
{ |
this.activeReminders = activeReminders; |
} |
public List<ReminderView> getExpiredReminders() |
{ |
return expiredReminders; |
} |
public void setExpiredReminders(List<ReminderView> expiredReminders) |
{ |
this.expiredReminders = expiredReminders; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/reminders/LoadOwnerRemindersService.java |
---|
New file |
0,0 → 1,41 |
package pt.estgp.estgweb.services.reminders; |
import pt.estgp.estgweb.domain.ReminderImpl; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.reminders.impl.DefaultOwnedReminders; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.util.ArrayList; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 19/Mai/2008 |
* @see pt.estgp.estgweb.services.blogs |
*/ |
public class LoadOwnerRemindersService implements IService |
{ |
public IOwnedReminders run(UserSession userSession) throws ServiceException |
{ |
List<ReminderImpl> activeReminders = DaoFactory.getReminderDaoImpl().loadOwnedActiveReminders(userSession.getUser().getId()); |
List<ReminderImpl> expiredReminders = DaoFactory.getReminderDaoImpl().loadOwnedExpiredReminders(userSession.getUser().getId()); |
List<ReminderView> activeReminderViews = new ArrayList<ReminderView>(); |
for (ReminderImpl activeReminder : activeReminders) |
{ |
activeReminderViews.add(new ReminderView(activeReminder)); |
} |
List<ReminderView> expiredReminderViews = new ArrayList<ReminderView>(); |
for (ReminderImpl expiredReminder : expiredReminders) |
{ |
expiredReminderViews.add(new ReminderView(expiredReminder)); |
} |
return new DefaultOwnedReminders(activeReminderViews, expiredReminderViews); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/reminders/DeleteReminderService.java |
---|
New file |
0,0 → 1,35 |
package pt.estgp.estgweb.services.reminders; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.ReminderImpl; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
/** |
* @author Jorge Machado |
* @date 19/Mai/2008 |
* @see pt.estgp.estgweb.services.blogs |
*/ |
public class DeleteReminderService implements IService |
{ |
private static final Logger logger = Logger.getLogger(DeleteReminderService.class); |
/** |
* Delete a reminder and return it |
* |
* @param userSession owner |
* @param reminderId to delete |
* @return deleted reminder |
* @throws pt.estgp.estgweb.services.expceptions.ServiceException on error |
*/ |
public ReminderView run(long reminderId, UserSession userSession) throws ServiceException |
{ |
logger.info("deleting reminder:" + reminderId); |
ReminderImpl r = (ReminderImpl) DaoFactory.getReminderDaoImpl().load(reminderId); |
DaoFactory.getReminderDaoImpl().delete(r); |
return new ReminderView(r); |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/reminders/CreateReminderService.java |
---|
New file |
0,0 → 1,52 |
package pt.estgp.estgweb.services.reminders; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.Reminder; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.util.Date; |
/** |
* @author Jorge Machado |
* @date 22/May/2008 |
* @time 12:51:32 |
* @see pt.estgp.estgweb |
*/ |
public class CreateReminderService implements IService |
{ |
private static final Logger logger = Logger.getLogger(CreateReminderService.class); |
public ReminderView run(ReminderView reminderView, UserSession userSession) |
{ |
Reminder r; |
if(reminderView.getId() <= 0) |
{ |
r = DomainObjectFactory.createReminderImpl(); |
r.setOwner(userSession.getUser()); |
r.setSaveDate(new Date()); |
} |
else |
{ |
r = DaoFactory.getReminderDaoImpl().get(reminderView.getSerializable()); |
} |
reminderView.persistViewInObject(r); |
if(reminderView.getId() <= 0) |
{ |
DaoFactory.getReminderDaoImpl().save(r); |
logger.info("Creating reminder:" + r.getId()); |
return new ReminderView(r); |
} |
else |
{ |
logger.info("Updating reminder:" + r.getId()); |
return new ReminderView(r); |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/reminders/DeleteExpiredRemindersService.java |
---|
New file |
0,0 → 1,39 |
package pt.estgp.estgweb.services.reminders; |
import pt.estgp.estgweb.domain.ReminderImpl; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import java.util.ArrayList; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 19/Mai/2008 |
* @see pt.estgp.estgweb.services.blogs |
*/ |
public class DeleteExpiredRemindersService implements IService |
{ |
/** |
* Delete all expired reminders and return them |
* |
* @param userSession owner |
* @return all expired reminders and return them |
* @throws ServiceException on error |
*/ |
public List<ReminderView> run(UserSession userSession) throws ServiceException |
{ |
List<ReminderImpl> deletedReminders = DaoFactory.getReminderDaoImpl().deleteOwnedExpiredReminders(userSession.getUser().getId()); |
List<ReminderView> expiredReminderViews = new ArrayList<ReminderView>(); |
for (ReminderImpl expiredReminder : deletedReminders) |
{ |
expiredReminderViews.add(new ReminderView(expiredReminder)); |
} |
return expiredReminderViews; |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/reminders/IOwnedReminders.java |
---|
New file |
0,0 → 1,16 |
package pt.estgp.estgweb.services.reminders; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @date 22/Mai/2008 |
* @see pt.estgp.estgweb.services.reminders |
*/ |
public interface IOwnedReminders |
{ |
public List<ReminderView> getActiveReminders(); |
public List<ReminderView> getExpiredReminders(); |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentService.java |
---|
1,23 → 1,27 |
package pt.estgp.estgweb.services.sigesimports; |
import jomm.dao.impl.AbstractDao; |
import org.apache.log4j.Logger; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.Globals; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.Student; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.common.CommonServicesManager; |
import pt.ipportalegre.siges.web.services.Aluno; |
import pt.ipportalegre.siges.web.services.ArrayOfDecimal; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.ipportalegre.siges.web.services.SiGesWEB; |
import pt.ipportalegre.siges.web.services.ArrayOfDecimal; |
import pt.ipportalegre.siges.web.services.Aluno; |
import javax.xml.namespace.QName; |
import java.math.BigDecimal; |
import java.net.MalformedURLException; |
import java.net.URL; |
import java.util.HashSet; |
import java.util.List; |
import java.util.Set; |
import java.util.HashSet; |
import jomm.dao.impl.AbstractDao; |
/** |
* @author Jorge Machado |
31,21 → 35,41 |
private static final Logger logger = Logger.getLogger(ImportStudentService.class); |
public void run() throws ServiceException { |
//todo passar para um utilitario que cria automaticamente o ano lectivo |
//todo passar para um utilitario que cria automaticamente o ano lectivo |
String year = "200708"; |
SiGesWEB service = new SiGesWEB(); |
SiGesWEB service = null; |
try |
{ |
service = new SiGesWEB(new URL(Globals.SIGES_WEBSERVICE_WSDL),new QName(Globals.SIGES_WEBSERVICE_TARGET_NAMESPACE, "SiGesWEB")); |
} |
catch (MalformedURLException e) |
{ |
logger.fatal(e,e); |
} |
ArrayOfDecimal codigosAlunos = service.getSiGesWEBSoap().getCodigosAlunosInscritosDaInstituicao(Globals.SIGES_INSTITUTION_CODE,year); |
List<BigDecimal> codigos = codigosAlunos.getDecimal(); |
int i = 1; |
for(BigDecimal c: codigos) |
{ |
if(i++ == 20) |
break; |
Aluno d = service.getSiGesWEBSoap().getAlunoInscrito(c,Globals.SIGES_INSTITUTION_CODE,year); |
Student t = DaoFactory.getStudentDaoImpl().loadBySigesCode(d.getCodigo().intValue()); |
boolean newUser = false; |
if(t == null) |
{ |
t = DomainObjectFactory.createStudentImpl(); |
DaoFactory.getStudentDaoImpl().save(t); |
newUser = true; |
} |
persist(d,t); |
//Advising CommonsServicesManager before change password |
if(newUser) |
CommonServicesManager.getInstance().adviseNew(t); |
else |
CommonServicesManager.getInstance().adviseUpdate(t); |
} |
} |
53,27 → 77,29 |
* Nao esta testado |
* jm |
* @param d Aluno |
* @param t Student |
* @param student Student |
*/ |
private void persist(Aluno d, Student t) |
private void persist(Aluno d, Student student) |
{ |
t.setName(d.getNome()); |
t.setEmail(d.getEmail()); |
t.setSigesCode(d.getCodigo().intValue()); |
t.setAddress(d.getMorada()); |
t.setZip(""+d.getCodigoPostal().intValue()); |
t.setBi(d.getNumeroBi()); |
t.setSex(d.getSexo()); |
t.setUserNameNetpa(d.getUsernameNetpa()); |
t.setBirthDate(d.getDataNascimento().toGregorianCalendar().getTime()); |
student.setName(d.getNome()); |
student.setEmail(d.getEmail()); |
student.setSigesCode(d.getCodigo().intValue()); |
student.setAddress(d.getMorada()); |
student.setZip(""+d.getCodigoPostal().intValue()); |
student.setBi(d.getNumeroBi()); |
student.setSex(d.getSexo()); |
student.setUserNameNetpa(d.getUsernameNetpa()); |
student.setBirthDate(d.getDataNascimento().toGregorianCalendar().getTime()); |
student.setUsername("a" + d.getCodigo().intValue()); |
/*Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas |
if(d.getDisciplinas() == null || d.getDisciplinas().getDecimal() == null || d.getDisciplinas().getDecimal().size() == 0) |
logger.warn("ATENTION TEACHER WITH ZERO UNITS: codigoFuncionario " + d.getCodigoFuncionario()); |
/*Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas */ |
if(d.getDisciplinasInscrito() == null || d.getDisciplinasInscrito().getDecimal() == null || d.getDisciplinasInscrito().getDecimal().size() == 0) |
logger.warn("ATENTION STUDENT WITH ZERO UNITS: codigo " + d.getCodigo()); |
else |
{ |
Set<CourseUnit> units = new HashSet<CourseUnit>(); |
for(BigDecimal unitCode: d.getDisciplinas().getDecimal()) |
for(BigDecimal unitCode: d.getDisciplinasInscrito().getDecimal()) |
{ |
List<CourseUnit> l = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + unitCode.intValue()); |
if(l != null) |
81,14 → 107,14 |
else |
logger.warn("ATENTION SIGES COURSE UNIT NOT FOUND IN BACO STORAGE: curseUnit " + unitCode.intValue()); |
} |
t.setSubscribedUnits();Units(units); |
student.setSubscribedUnits(units); |
} |
} |
/** |
* Testar por aqui poi requer Super Role e assim e' autmatico |
* @param args of main |
* @throws ServiceException on error |
* @throws ServiceException on error */ |
public static void main(String[]args) throws ServiceException |
{ |
96,11 → 122,8 |
new ImportStudentService().run(); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |
*/ |
} |
} |
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportCourseService.java |
---|
4,10 → 4,7 |
import pt.estgp.estgweb.services.blogs.CreateBlogService; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.domain.views.BlogView; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.Globals; |
import pt.ipportalegre.siges.web.services.*; |
27,77 → 24,125 |
*/ |
/** |
* @author Jorge Machado |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
* <p/> |
* <p/> |
* Created at 17/Out/2003 , 23:45:24 |
*/ |
public class ImportCourseService implements IService { |
public class ImportCourseService implements IService |
{ |
private static final Logger logger = Logger.getLogger(ImportCourseService.class); |
public void run() throws ServiceException |
{ |
HashMap<Integer, Disciplina> disciplinasMap = new HashMap<Integer,Disciplina>(); |
HashMap<Integer, Disciplina> cursosMap = new HashMap<Integer,Disciplina>(); |
HashMap<String, Disciplina> disciplinasMap = new HashMap<String, Disciplina>(); |
HashMap<String, Disciplina> disciplinasMapS1 = new HashMap<String, Disciplina>(); |
HashMap<String, Disciplina> disciplinasMapS2 = new HashMap<String, Disciplina>(); |
HashMap<Integer, Disciplina> cursosMap = new HashMap<Integer, Disciplina>(); |
SiGesWEB service = new SiGesWEB(); |
ArrayOfDisciplina arrayOfDisciplina = service.getSiGesWEBSoap().getDisciplinasDaInstituicao(new BigDecimal(1),"200708"); |
ArrayOfDisciplina arrayOfDisciplina = service.getSiGesWEBSoap().getDisciplinasDaInstituicaoSemestre(new BigDecimal(1), "200708", "S1"); |
List<Disciplina> disciplinas = arrayOfDisciplina.getDisciplina(); |
for(Disciplina d: disciplinas) |
for (Disciplina d : disciplinas) |
{ |
disciplinasMap.put(d.getCodigo().intValue(),d); |
cursosMap.put(d.getCodigoCurso().intValue(),d); |
System.out.println(d.getNome() + " " + d.getNomeCurso()); |
CourseUnit c = DomainObjectFactory.createCourseUnitImpl(); |
c.setName(d.getNome()); |
c.setInstitutionCode(""+Globals.SIGES_INSTITUTION_CODE); |
c.setCode("" + d.getCodigo().intValue()); |
c.setCourseCode(""+d.getCodigoCurso()); |
c.setCourseName("" + d.getNomeCurso()); |
if (disciplinasMap.get(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":S1") != null) |
System.out.println(">>Repetida no 1º semestre:" + d.getCodigo().intValue()); |
DaoFactory.getCourseUnitDaoImpl().save(c); |
disciplinasMap.put(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":S1", d); |
disciplinasMapS1.put(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":S1", d); |
cursosMap.put(d.getCodigoCurso().intValue(), d); |
} |
arrayOfDisciplina = service.getSiGesWEBSoap().getDisciplinasDaInstituicaoSemestre(new BigDecimal(1), "200708", "S2"); |
disciplinas = arrayOfDisciplina.getDisciplina(); |
for (Disciplina d : disciplinas) |
{ |
if (disciplinasMap.get(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":S2") != null) |
System.out.println(">>Repetida nos dois semestres:" + d.getCodigo().intValue()); |
Set<Map.Entry<Integer,Disciplina>> set = disciplinasMap.entrySet(); |
for(Map.Entry<Integer,Disciplina> entry : set) |
{ |
Disciplina d = entry.getValue(); |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique(d.getCodigo() + "",d.getCodigoCurso() + "","S2"); |
disciplinasMap.put(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":S2", d); |
disciplinasMapS2.put(d.getCodigo().intValue() + ":" + d.getCodigoCurso() + ":S2", d); |
cursosMap.put(d.getCodigoCurso().intValue(), d); |
} |
System.out.println("\nCursos--------------------------------"); |
Set<Map.Entry<Integer,Disciplina>> set2 = cursosMap.entrySet(); |
for(Map.Entry<Integer,Disciplina> entry : set2) |
Set<Map.Entry<Integer, Disciplina>> set2 = cursosMap.entrySet(); |
for (Map.Entry<Integer, Disciplina> entry : set2) |
{ |
Disciplina d = entry.getValue(); |
d.getCodigoCurso(); |
d.getGrauCurso(); |
d.getNomeCurso(); |
Course c = DomainObjectFactory.createCourseImpl(); |
c.setName(d.getNomeCurso()); |
c.setDegree(d.getGrauCurso()); |
c.setCode("" + d.getCodigoCurso().intValue()); |
c.setInstitutionalCode("" + d.getCodigoInstituicao().intValue()); |
System.out.println(":" + d.getNomeCurso()); |
DaoFactory.getCourseDaoImpl().save(c); |
} |
Aluno a = service.getSiGesWEBSoap().getAlunoInscrito(new BigDecimal(947),new BigDecimal(1),"200708"); |
System.out.println(a.getCodigo()); |
System.out.println(a.getNome()); |
System.out.println(a.getNumeroBi()); |
System.out.println(a.getEmail()); |
System.out.println(a.getUsernameNetpa()); |
ArrayOfDecimal ad = a.getDisciplinasInscrito(); |
for(BigDecimal d :ad.getDecimal()) |
Set<Map.Entry<String, Disciplina>> set = disciplinasMapS1.entrySet(); |
for (Map.Entry<String, Disciplina> entry : set) |
{ |
Disciplina dAux = disciplinasMap.get(d.intValue()); |
System.out.println(dAux.getNome() + " " + dAux.getNomeCurso()); |
Disciplina d = entry.getValue(); |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(),"S1"); |
if (c == null) |
c = DomainObjectFactory.createCourseUnitImpl(); |
c.setName(d.getNome()); |
c.setInstitutionCode("" + Globals.SIGES_INSTITUTION_CODE); |
c.setCode("" + d.getCodigo().intValue()); |
c.setCourseCode("" + d.getCodigoCurso()); |
c.setCourseName("" + d.getNomeCurso()); |
c.setSemestre("S1"); |
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(c.getCourseCode()); |
c.setCourse(course); |
DaoFactory.getCourseUnitDaoImpl().save(c); |
} |
set = disciplinasMapS2.entrySet(); |
for (Map.Entry<String, Disciplina> entry : set) |
{ |
Disciplina d = entry.getValue(); |
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUnique("" + d.getCodigo(), "" + d.getCodigoCurso(),"S2"); |
if (c == null) |
c = DomainObjectFactory.createCourseUnitImpl(); |
c.setName(d.getNome()); |
c.setInstitutionCode("" + Globals.SIGES_INSTITUTION_CODE); |
c.setCode("" + d.getCodigo().intValue()); |
c.setCourseCode("" + d.getCodigoCurso()); |
c.setCourseName("" + d.getNomeCurso()); |
c.setSemestre("S2"); |
Course course = DaoFactory.getCourseDaoImpl().findCourseByCode(c.getCourseCode()); |
c.setCourse(course); |
DaoFactory.getCourseUnitDaoImpl().save(c); |
} |
// Aluno a = service.getSiGesWEBSoap().getAlunoInscrito(new BigDecimal(947),new BigDecimal(1),"200708"); |
// System.out.println(a.getCodigo()); |
// System.out.println(a.getNome()); |
// System.out.println(a.getNumeroBi()); |
// System.out.println(a.getEmail()); |
// System.out.println(a.getUsernameNetpa()); |
// ArrayOfDecimal ad = a.getDisciplinasInscrito(); |
// for(BigDecimal d :ad.getDecimal()) |
// { |
// Disciplina dAux = disciplinasMap.get(d.intValue()); |
// System.out.println(dAux.getNome() + " " + dAux.getNomeCurso()); |
// } |
} |
public static void main(String[]args) throws ServiceException { |
public static void main(String[] args) throws ServiceException |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
new ImportCourseService().run(); |
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java |
---|
15,19 → 15,11 |
import java.util.Date; |
/* |
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
*/ |
/** |
* @author Jorge Machado |
* |
* |
* Created at 17/Out/2003 , 23:45:24 |
* |
* @author Fabio Velez |
* @date 2/Abril/2008 |
* @time 12:51:32 |
* @see pt.estgp.estgweb |
*/ |
public class CreateAnnouncementService implements IService |
{ |
138,7 → 130,7 |
//Percorre todos os validation targets |
for(String userTargetRoles: userAutoValitationRoles) |
{ |
//Se o target a quem se destina constar na lista dos validation targets então incrementa |
//Se o target a quem se destina constar na lista dos validation targets ent�o incrementa |
//o validTargetRoles |
if(target.equals(userTargetRoles)) |
{ |
/impl/src/java/pt/estgp/estgweb/services/announcements/AnnouncementsCommonServices.java |
---|
1,10 → 1,7 |
package pt.estgp.estgweb.services.announcements; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.Announcement; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.common.*; |
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults; |
100,6 → 97,17 |
return todos; |
} |
/*This method is invoked from object creation*/ |
public void adviseNew(DomainObject object) |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
public void adviseUpdate(DomainObject object) |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
public static void main(String[] args) |
{ |
AbstractDao.getCurrentSession().beginTransaction(); |
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateService.java |
---|
4,6 → 4,7 |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.expceptions.ServiceException; |
import pt.estgp.estgweb.services.common.CommonServicesManager; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.utl.ist.berserk.logic.serviceManager.IService; |
import openldap.ILdapManager; |
67,6 → 68,10 |
if(u == null) |
{ |
u = getUserInfo(username); |
u.setPassword(password); |
//put password to be complete for advising |
CommonServicesManager.getInstance().adviseNew(u); |
u.setPassword(null); |
} |
logger.warn("user:" + username + " authenticated"); |
((UserSessionImpl)userSession).clearObjectsWithOpenTransaction(); |
86,6 → 91,7 |
u.setName(getName(map)); |
u.setRoles(getRoles(map)); |
u.setNewUser(true); |
/*todo call commonServices Manager advise New put Password First*/ |
DaoFactory.getUserDaoImpl().save(u); |
return u; |
} |
/impl/src/java/pt/estgp/estgweb/domain/UserImpl.java |
---|
46,5 → 46,12 |
} |
return false; |
} |
public boolean hasPopConfigured() |
{ |
return getPop3server() != null && getPop3username() != null && getPop3password() != null; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseDaoImpl.java |
---|
1,4 → 1,7 |
package pt.estgp.estgweb.domain.dao.impl; |
import static org.hibernate.criterion.Restrictions.*; |
import pt.estgp.estgweb.domain.Course; |
import pt.estgp.estgweb.domain.CourseImpl; |
/** |
* @author Jorge Machado |
15,4 → 18,9 |
return (CourseDaoImpl) myInstance; |
} |
public CourseImpl findCourseByCode(String code) |
{ |
return (CourseImpl) createCriteria().add(eq("code",code)).uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java |
---|
30,5 → 30,21 |
{ |
return createCriteria().add(eq("code",sigesCode)).list(); |
} |
public CourseUnit loadBySigesCodeUnique(String sigesCode) |
{ |
return (CourseUnit) createCriteria().add(eq("code",sigesCode)).uniqueResult(); |
} |
public CourseUnit loadBySigesCodeUnique(String sigesCode,String courseCode) |
{ |
return (CourseUnit) createCriteria().add(eq("code",sigesCode)).add(eq("courseCode",courseCode)).uniqueResult(); |
} |
public CourseUnit loadBySigesCodeUnique(String sigesCode,String courseCode,String semestre) |
{ |
return (CourseUnit) createCriteria().add(eq("code",sigesCode)).add(eq("courseCode",courseCode)).add(eq("semestre",semestre)).uniqueResult(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ReminderDaoImpl.java |
---|
New file |
0,0 → 1,67 |
package pt.estgp.estgweb.domain.dao.impl; |
import pt.estgp.estgweb.domain.ReminderImpl; |
import pt.estgp.estgweb.domain.Reminder; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import java.util.List; |
import java.util.Date; |
import java.util.ArrayList; |
import static org.hibernate.criterion.Restrictions.*; |
import org.hibernate.criterion.Order; |
import org.apache.log4j.Logger; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 2:51:06 |
* @see pt.estgp.estgweb.domain.dao.impl |
*/ |
public class ReminderDaoImpl extends ReminderDao |
{ |
private static final Logger logger = Logger.getLogger(ReminderDaoImpl.class); |
public static ReminderDaoImpl getInstance() |
{ |
if (myInstance == null) |
myInstance = new ReminderDaoImpl(); |
return (ReminderDaoImpl) myInstance; |
} |
public List<ReminderImpl> loadOwnedActiveReminders(long ownerId) |
{ |
return createCriteria() |
.add(eq("owner.id", ownerId)) |
.add(or(gt("expireDate", new Date()),isNull("expireDate"))) |
.addOrder(Order.asc("startDate")) |
.list(); |
} |
public List<ReminderImpl> loadOwnedExpiredReminders(long ownerId) |
{ |
Date now = new Date(); |
return createCriteria() |
.add(eq("owner.id", ownerId)) |
.add(or(lt("expireDate", now), eq("expireDate", now))) |
.addOrder(Order.asc("startDate")) |
.list(); |
} |
public List<ReminderImpl> deleteOwnedExpiredReminders(long ownerId) |
{ |
List<ReminderImpl> deleted = new ArrayList<ReminderImpl>(); |
List<ReminderImpl> toDelete = |
createCriteria() |
.add(eq("owner.id", ownerId)) |
.add(lt("expireDate", new Date())) |
.list(); |
for(ReminderImpl r: toDelete) |
{ |
logger.info("deleting reminder:" + r.getId()); |
deleted.add(r); |
delete(r); |
} |
return deleted; |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java |
---|
10,6 → 10,12 |
*/ |
public class DaoFactory |
{ |
public static ReminderDaoImpl getReminderDaoImpl() |
{ |
return ReminderDaoImpl.getInstance(); |
} |
public static AnnouncementDaoImpl getAnnouncementDaoImpl() |
{ |
return AnnouncementDaoImpl.getInstance(); |
/impl/src/java/pt/estgp/estgweb/domain/views/ReminderView.java |
---|
New file |
0,0 → 1,197 |
package pt.estgp.estgweb.domain.views; |
import pt.estgp.estgweb.domain.*; |
import pt.estgp.estgweb.domain.enums.AnnouncementStyleEnum; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import pt.estgp.estgweb.utils.RoleManager; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import pt.estgp.estgweb.Globals; |
import org.apache.log4j.Logger; |
import java.util.List; |
import java.util.Date; |
import java.io.Serializable; |
import jomm.utils.StringsUtils; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
* @time 19:34:49 |
* @see pt.estgp.estgweb.domain.views |
*/ |
public class ReminderView extends DomainObjectView implements IOwned, IContextTimerObject |
{ |
private static Logger logger = Logger.getLogger(ReminderView.class); |
public static final int TEXT_SUMMARY_SIZE = Globals.REMINDER_TEXT_SUMMARY_SIZE; |
private Reminder reminder; |
private long id; |
private Date updateDate; |
private Date saveDate; |
private Date startDate; |
private Date expireDate; |
private String text; |
private GenericUser owner; |
public ReminderView() |
{ |
} |
public ReminderView(Reminder reminder) |
{ |
super(reminder); |
this.id = reminder.getId(); |
this.updateDate = reminder.getUpdateDate(); |
this.saveDate = reminder.getSaveDate(); |
this.startDate = reminder.getStartDate(); |
this.expireDate = reminder.getExpireDate(); |
this.text = reminder.getText(); |
this.owner = reminder.getOwner(); |
} |
public void persistViewInObject(Reminder reminder) |
{ |
reminder.setText(text); |
reminder.setStartDate(startDate); |
reminder.setExpireDate(expireDate); |
} |
public Date getUpdateDate() |
{ |
return updateDate; |
} |
public String getFormatedSaveDate() |
{ |
return DatesUtils.getStringFromDate(updateDate); |
} |
public String getFormatedUpdateDate() |
{ |
return DatesUtils.getStringFromDate(updateDate); |
} |
public String getFormatedStartDate() |
{ |
return DatesUtils.getStringFromDate(startDate); |
} |
public String getFormatedExpireDate() |
{ |
return DatesUtils.getStringFromDate(expireDate); |
} |
public Date getExpireDate() |
{ |
return expireDate; |
} |
public void setExpireDate(Date expireDate) |
{ |
this.expireDate = expireDate; |
} |
public Date getStartDate() |
{ |
return startDate; |
} |
public Date getSaveDate() |
{ |
return saveDate; |
} |
public void setStartDate(Date startDate) |
{ |
this.startDate = startDate; |
} |
public long getId() |
{ |
return id; |
} |
public void setId(long id) |
{ |
this.id = id; |
} |
public String getText() |
{ |
return text; |
} |
public void setText(String text) |
{ |
this.text = text; |
} |
public Class getReferenceClass() |
{ |
return ReminderImpl.class; |
} |
public Serializable getSerializable() |
{ |
return id; |
} |
public long getOwnerID() |
{ |
return getOwner().getId(); |
} |
private String summary = null; |
public String getTextSummary() |
{ |
if(summary == null) |
summary = StringsUtils.getFragment(getText(), TEXT_SUMMARY_SIZE); |
if(summary == null) |
summary = ""; |
return summary; |
} |
public boolean getHasMoreThanSummary() |
{ |
String summary = getTextSummary(); |
if(summary == null || summary.trim().length()==0) |
return false; |
return getTextSummary().trim().length() != text.trim().length(); |
} |
public GenericUser getOwner() |
{ |
return owner; |
} |
/** |
* Not implemented |
* |
* @return null |
*/ |
public List<String> getOwnerRoles() |
{ |
logger.warn("Invoke not implemented method in class:" + getClass().getName()); |
return null; |
} |
/** |
* Not implemented |
* |
* @return null |
*/ |
public String getChoosedOwnerRole() |
{ |
logger.warn("Invoke not implemented method in class:" + getClass().getName()); |
return null; |
} |
public boolean isOwnedBy(GenericUser u) |
{ |
return reminder.isOwnedBy(u); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/views/AnnouncementView.java |
---|
38,6 → 38,7 |
private String url; |
private String type; |
private Date updateDate; |
private Date saveDate; |
private Date startDate; |
private Date expireDate; |
private Integer counter; |
77,6 → 78,7 |
this.internalUrlInclude = announcement.isInternalUrlInclude(); |
this.internal = announcement.isInternal(); |
this.updateDate = announcement.getUpdateDate(); |
this.saveDate = announcement.getSaveDate(); |
} |
public void persistViewInObject(Announcement announcement) |
294,34 → 296,7 |
public String getFormatedText() |
{ |
if(text == null || text.trim().length() == 0) |
return ""; |
String formatedText = text; |
StringBuilder finalFormatedText = new StringBuilder(); |
boolean newLine = true; |
for(int i =0;i<formatedText.length();i++) |
{ |
if(newLine && formatedText.charAt(i) == ' ') |
{ |
finalFormatedText.append(" "); |
} |
else if(formatedText.charAt(i) == '\n') |
{ |
finalFormatedText.append("<br>"); |
newLine = true; |
} |
else if(formatedText.charAt(i) == '\t') |
{ |
finalFormatedText.append(" "); |
} |
else |
{ |
finalFormatedText.append(formatedText.charAt(i)); |
newLine = false; |
} |
} |
return finalFormatedText.toString(); |
return StringsUtils.getFormatedText(text); |
} |
public Boolean getHaveAllText() |
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java |
---|
107,4 → 107,9 |
{ |
return new StudentImpl(); |
} |
public static ReminderImpl createReminderImpl() |
{ |
return new ReminderImpl(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/domain/ReminderImpl.java |
---|
New file |
0,0 → 1,71 |
package pt.estgp.estgweb.domain; |
import org.apache.log4j.Logger; |
import java.util.List; |
import java.util.Date; |
import java.io.Serializable; |
import pt.estgp.estgweb.domain.enums.AnnouncementStyleEnum; |
import pt.estgp.estgweb.utils.RoleManager; |
/** |
* @author Jorge Machado |
* @date 2/Mar/2008 |
* @time 10:27:25 |
* @see pt.estgp.estgweb.domain |
*/ |
public class ReminderImpl extends Reminder implements IOwned, IContextTimerObject |
{ |
private static final Logger logger = Logger.getLogger(ReminderImpl.class); |
public boolean isOwnedBy(GenericUser u) |
{ |
return u.getId() == getOwner().getId(); |
} |
public GenericUser getOwner() |
{ |
return super.getOwner(); |
} |
/** |
* Not implemented in reminders |
* |
* @return null |
*/ |
public List<String> getOwnerRoles() |
{ |
logger.warn("Invoke not implemented method in class:" + getClass().getName()); |
return null; |
} |
/** |
* Not implemented in reminders |
* |
* @return null |
*/ |
public String getChoosedOwnerRole() |
{ |
logger.warn("Invoke not implemented method in class:" + getClass().getName()); |
return null; |
} |
public Serializable getSerializable() |
{ |
return getId(); |
} |
public Date getEndTime() |
{ |
return super.getExpireDate(); |
} |
public Date getStartTime() |
{ |
return super.getStartDate(); |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/utils/RequestUtils.java |
---|
24,7 → 24,7 |
{ |
if (request.getCookies() == null || request.getCookies().length == 0) |
{ |
Cookie cookie = new Cookie("bacoSession", request.getSession().getId()); |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, request.getSession().getId()); |
response.addCookie(cookie); |
return cookie.getValue(); |
} |
32,12 → 32,12 |
{ |
for (Cookie cookie : request.getCookies()) |
{ |
if (cookie.getName().equals("bacoSession")) |
if (cookie.getName().equals(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE)) |
{ |
return cookie.getValue(); |
} |
} |
Cookie cookie = new Cookie("bacoSession", request.getSession().getId()); |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, request.getSession().getId()); |
response.addCookie(cookie); |
return cookie.getValue(); |
} |
48,7 → 48,7 |
{ |
if (request.getCookies() == null || request.getCookies().length == 0) |
{ |
Cookie cookie = new Cookie("bacoSession", BytesUtils.generateHexKey()); |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, BytesUtils.generateHexKey()); |
response.addCookie(cookie); |
return false; |
} |
56,12 → 56,12 |
{ |
for (Cookie cookie : request.getCookies()) |
{ |
if (cookie.getName().equals("bacoSession")) |
if (cookie.getName().equals(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE)) |
{ |
return true; |
} |
} |
Cookie cookie = new Cookie("bacoSession", BytesUtils.generateHexKey()); |
Cookie cookie = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE, BytesUtils.generateHexKey()); |
response.addCookie(cookie); |
return false; |
} |
77,7 → 77,6 |
return EMPTY_STRING; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/utils/TestHttpServletRequest.java |
---|
New file |
0,0 → 1,299 |
package pt.estgp.estgweb.web.utils; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.Cookie; |
import javax.servlet.http.HttpSession; |
import javax.servlet.ServletInputStream; |
import javax.servlet.RequestDispatcher; |
import java.util.Enumeration; |
import java.util.Map; |
import java.util.Locale; |
import java.security.Principal; |
import java.io.UnsupportedEncodingException; |
import java.io.IOException; |
import java.io.BufferedReader; |
/** |
* @author Jorge Machado |
* @date 22/Mai/2008 |
* @see pt.estgp.estgweb.web.utils |
*/ |
public class TestHttpServletRequest implements HttpServletRequest |
{ |
Cookie[] cookies = new Cookie[1]; |
public TestHttpServletRequest(String requester) |
{ |
cookies[0] = new Cookie(pt.estgp.estgweb.web.Globals.BACO_SESSION_COOKIE,requester); |
} |
public String getAuthType() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Cookie[] getCookies() |
{ |
return cookies; |
} |
public long getDateHeader(String string) |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getHeader(String string) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Enumeration getHeaders(String string) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Enumeration getHeaderNames() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public int getIntHeader(String string) |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getMethod() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getPathInfo() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getPathTranslated() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getContextPath() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getQueryString() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getRemoteUser() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public boolean isUserInRole(String string) |
{ |
return false; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Principal getUserPrincipal() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getRequestedSessionId() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getRequestURI() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public StringBuffer getRequestURL() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getServletPath() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public HttpSession getSession(boolean b) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public HttpSession getSession() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public boolean isRequestedSessionIdValid() |
{ |
return false; //To change body of implemented methods use File | Settings | File Templates. |
} |
public boolean isRequestedSessionIdFromCookie() |
{ |
return false; //To change body of implemented methods use File | Settings | File Templates. |
} |
public boolean isRequestedSessionIdFromURL() |
{ |
return false; //To change body of implemented methods use File | Settings | File Templates. |
} |
public boolean isRequestedSessionIdFromUrl() |
{ |
return false; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Object getAttribute(String string) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Enumeration getAttributeNames() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getCharacterEncoding() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public void setCharacterEncoding(String string) throws UnsupportedEncodingException |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
public int getContentLength() |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getContentType() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public ServletInputStream getInputStream() throws IOException |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getParameter(String string) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Enumeration getParameterNames() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String[] getParameterValues(String string) |
{ |
return new String[0]; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Map getParameterMap() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getProtocol() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getScheme() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getServerName() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public int getServerPort() |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public BufferedReader getReader() throws IOException |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getRemoteAddr() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getRemoteHost() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public void setAttribute(String string, Object object) |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
public void removeAttribute(String string) |
{ |
//To change body of implemented methods use File | Settings | File Templates. |
} |
public Locale getLocale() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public Enumeration getLocales() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public boolean isSecure() |
{ |
return false; //To change body of implemented methods use File | Settings | File Templates. |
} |
public RequestDispatcher getRequestDispatcher(String string) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getRealPath(String string) |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public int getRemotePort() |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getLocalName() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public String getLocalAddr() |
{ |
return null; //To change body of implemented methods use File | Settings | File Templates. |
} |
public int getLocalPort() |
{ |
return 0; //To change body of implemented methods use File | Settings | File Templates. |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/Globals.java |
---|
10,6 → 10,7 |
*/ |
public class Globals |
{ |
public static final String BACO_SESSION_COOKIE = "BACOSESSIONID"; |
private static final String PORTAL_MENU_START_LINK_START = "/proxy/"; |
private static final String PORTAL_MENU_START_LINK_END = "/estgp/public/portal"; |
private static final String PORTAL_MENU_START_LINK_END_AA = "/estgweb/aa"; |
/impl/src/java/pt/estgp/estgweb/web/form/reminders/RemindersForm.java |
---|
New file |
0,0 → 1,96 |
package pt.estgp.estgweb.web.form.reminders; |
import pt.estgp.estgweb.web.form.AddRolesForm; |
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import pt.estgp.estgweb.domain.views.AnnouncementView; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.utils.ConfigProperties; |
import org.apache.log4j.Logger; |
import org.apache.struts.upload.FormFile; |
import org.apache.struts.action.ActionErrors; |
import java.util.List; |
import java.util.ArrayList; |
import java.util.Date; |
/** |
* @author Jorge Machado |
* @date 28/Fev/2008 |
* @time 20:42:25 |
* @see pt.estgp.estgweb.web.form |
*/ |
public class RemindersForm extends AddRolesForm |
{ |
private static final Logger logger = Logger.getLogger(RemindersForm.class); |
private ReminderView reminderView; |
private String startDate; |
private String expireDate; |
public RemindersForm() |
{ |
reminderView = new ReminderView(); |
} |
public RemindersForm(ReminderView reminderView) |
{ |
this.reminderView = reminderView; |
} |
public ReminderView getReminderView() |
{ |
return reminderView; |
} |
public void setReminderView(ReminderView reminderView) |
{ |
this.reminderView = reminderView; |
} |
public String getStartDate() |
{ |
return startDate; |
} |
public void setStartDate(String startDate) |
{ |
this.startDate = startDate; |
} |
public String getExpireDate() |
{ |
return expireDate; |
} |
public void setExpireDate(String expireDate) |
{ |
this.expireDate = expireDate; |
} |
public ActionErrors validate(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest) |
{ |
ActionErrors errors = new ActionErrors(); |
Date now = new Date(); |
if(reminderView.getText() == null || reminderView.getText().trim().length() == 0) |
addMessageWithKeys(errors,httpServletRequest,"errors.required","reminder.text"); |
if(startDate!= null && startDate.length()>0) |
{ |
reminderView.setStartDate(DatesUtils.getDateFromString(startDate)); |
} |
if(expireDate != null && expireDate.length()>0) |
{ |
reminderView.setExpireDate(DatesUtils.getDateFromString(expireDate)); |
if(reminderView.getExpireDate().getTime() < now.getTime()) |
addMessage(errors,httpServletRequest,"error.expiredate.expired"); |
if(reminderView.getStartDate() != null && reminderView.getStartDate().getTime() > reminderView.getExpireDate().getTime()) |
addMessage(errors,httpServletRequest,"error.expiredate.lesser.than.start.date"); |
} |
return errors; |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/form/announcements/AnnouncementsForm.java |
---|
36,6 → 36,8 |
private String url; |
private FormFile bigImage; |
private FormFile smallImage; |
private String bigImageStr; |
private String smallImageStr; |
private String targetPrioritiesStr; |
private Integer counter; |
68,6 → 70,27 |
this.announcementView = announcementView; |
} |
public String getBigImageStr() |
{ |
return bigImageStr; |
} |
public void setBigImageStr(String bigImageStr) |
{ |
this.bigImageStr = bigImageStr; |
} |
public String getSmallImageStr() |
{ |
return smallImageStr; |
} |
public void setSmallImageStr(String smallImageStr) |
{ |
this.smallImageStr = smallImageStr; |
} |
public String getStartDate() |
{ |
return startDate; |
/impl/src/java/pt/estgp/estgweb/web/controllers/reminders/RemindersController.java |
---|
New file |
0,0 → 1,144 |
package pt.estgp.estgweb.web.controllers.reminders; |
import pt.estgp.estgweb.web.controllers.AddRolesController; |
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController; |
import pt.estgp.estgweb.web.controllers.announcements.AnnouncementsController; |
import pt.estgp.estgweb.web.form.AddRolesForm; |
import pt.estgp.estgweb.web.form.reminders.RemindersForm; |
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.utils.DatesUtils; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.domain.views.AnnouncementView; |
import pt.estgp.estgweb.domain.views.ReminderView; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
import org.apache.log4j.Logger; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.upload.FormFile; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.ServletException; |
import java.io.InputStream; |
import java.io.ByteArrayOutputStream; |
import java.io.Serializable; |
import java.util.Date; |
import java.util.List; |
/** |
* @author Jorge Machado |
* @author Fabio Velez |
* @date 26/Fev/2008 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class RemindersController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(RemindersController.class); |
public ActionForward save(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
RemindersForm remindersForm = (RemindersForm) form; |
ReminderView view = remindersForm.getReminderView(); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"object"}; |
Object[] args = new Object[]{view}; |
boolean newReminder = true; |
if (view.getId() > 0) |
newReminder = false; |
ReminderView rV = (ReminderView) sm.execute(RequestUtils.getRequester(request, response), "CreateReminder", args, names); |
if (newReminder) |
addMessage(request, RequestUtils.getMessagePrefix(request) + "reminder.created.success"); |
else |
addMessage(request, RequestUtils.getMessagePrefix(request) + "reminder.edited.success"); |
request.setAttribute("ReminderView", rV); |
return mapping.findForward("success"); |
} |
catch (FilterChainFailedException e) |
{ |
addMessage(request, RequestUtils.getMessagePrefix(request) + "reminder.created.fail"); |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
public ActionForward delete(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{"serializable"}; |
Object[] args = new Object[]{new Long(request.getParameter("id"))}; |
ReminderView rV = (ReminderView) sm.execute(RequestUtils.getRequester(request, response), "DeleteReminder", args, names); |
addMessage(request, "reminder.deleted.success", "" + request.getParameter("id")); |
request.setAttribute("DeletedReminderView", rV); |
return mapping.findForward("success"); |
} |
catch (FilterChainFailedException e) |
{ |
addMessage(request, RequestUtils.getMessagePrefix(request) + "reminder.deleted.fail"); |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
public ActionForward deleteExpired(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{}; |
List<ReminderView> rV = (List<ReminderView>) sm.execute(RequestUtils.getRequester(request, response), "DeleteExpiredReminders", args, names); |
request.setAttribute("ExpiredReminderViews", rV); |
addMessage(request, "reminder.deleted.success", "" + request.getParameter("id")); |
return mapping.findForward("success"); |
} |
catch (FilterChainFailedException e) |
{ |
addMessage(request, RequestUtils.getMessagePrefix(request) + "reminder.deleted.fail"); |
return mapping.findForward("error401"); |
} |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
} |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/commons/CommonsController.java |
---|
6,14 → 6,12 |
import pt.estgp.estgweb.web.controllers.blogs.BlogsController; |
import pt.estgp.estgweb.web.form.blogs.BlogForm; |
import pt.estgp.estgweb.web.utils.RequestUtils; |
import pt.estgp.estgweb.web.UserSessionProxy; |
import pt.estgp.estgweb.domain.Blog; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.Image; |
import pt.estgp.estgweb.domain.views.BlogView; |
import pt.estgp.estgweb.services.common.CommonServicesManager; |
import pt.estgp.estgweb.services.common.SearchTypeEnum; |
import pt.estgp.estgweb.services.common.ICommonSearchResults; |
import pt.estgp.estgweb.services.common.ISearchResults; |
import pt.estgp.estgweb.services.common.*; |
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager; |
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException; |
36,29 → 34,32 |
* @time 18:01:54 |
* @see pt.estgp.estgweb.web |
*/ |
public class CommonsController extends ApplicationDispatchController { |
public class CommonsController extends ApplicationDispatchController |
{ |
private static final Logger logger = Logger.getLogger(CommonsController.class); |
public ActionForward search(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
ICommonSearchResults commonSearchResults = CommonServicesManager.getInstance().search(request,response,request.getParameter("query"), SearchTypeEnum.parse(request.getParameter("searchType"))); |
// if(commonSearchResults.getTotalResults() == 0) |
// return mapping.findForward("noresults"); |
request.setAttribute("ICommonSearchResults",commonSearchResults); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{request.getParameter("query"), SearchTypeEnum.parse(request.getParameter("searchType"))}; |
ICommonSearchResults commonSearchResults = (ICommonSearchResults) sm.execute(RequestUtils.getRequester(request, response), "CommonServicesSearch", args, names); |
request.setAttribute("ICommonSearchResults", commonSearchResults); |
return mapping.findForward("searchResults"); |
} |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) { |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
66,20 → 67,26 |
public ActionForward searchModule(ActionMapping mapping, |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException { |
ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Throwable, ServletException |
{ |
try |
{ |
ISearchResults searchResults = CommonServicesManager.getInstance().search(request,response,request.getParameter("query"), SearchTypeEnum.parse(request.getParameter("searchType")),request.getParameter("module"),Integer.parseInt(request.getParameter("page"))); |
request.setAttribute("ISearchResults",searchResults); |
IServiceManager sm = ServiceManager.getInstance(); |
String[] names = new String[]{}; |
Object[] args = new Object[]{request.getParameter("query"), SearchTypeEnum.parse(request.getParameter("searchType")), ModuleEnum.parse(request.getParameter("module")), Integer.parseInt(request.getParameter("page"))}; |
ISearchResults searchResults = (ISearchResults) sm.execute(RequestUtils.getRequester(request, response), "CommonServicesSearchModule", args, names); |
request.setAttribute("ISearchResults", searchResults); |
return mapping.findForward("searchModule"); |
} |
catch (FilterChainFailedException e) { |
catch (FilterChainFailedException e) |
{ |
return mapping.findForward("error401"); |
} |
catch (Throwable e) { |
catch (Throwable e) |
{ |
logger.error(e, e); |
throw e; |
} |
/impl/src/java/pt/estgp/estgweb/web/controllers/announcements/AnnouncementsController.java |
---|
113,10 → 113,23 |
newAnnouncement = false; |
AnnouncementView aV = (AnnouncementView) sm.execute(RequestUtils.getRequester(request, response), "CreateAnnouncement", args, names); |
String user = ""; |
String from = ""; |
if(UserSessionProxy.loadUserSessionFromRequest(request).getUser()!=null) |
{ |
user="/user"; |
} |
if(request.getParameter("from")!=null) |
{ |
from = request.getParameter("from"); |
} |
if (newAnnouncement) |
addMessage(request,RequestUtils.getMessagePrefix(request) + "announcement.created.success", request.getContextPath(), "" + aV.getId(), view.getTitle()); |
addMessage(request,"announcement.created.success", request.getContextPath()+user, "From" + from ,"" + aV.getId(), view.getTitle()); |
else |
addMessage(request,RequestUtils.getMessagePrefix(request) + "announcement.edited.success", request.getContextPath(), "" + aV.getId(), view.getTitle()); |
addMessage(request,"announcement.edited.success", request.getContextPath()+user, "From" + from,"" + aV.getId(), view.getTitle()); |
return mapping.findForward("success"); |
} |
catch (FilterChainFailedException e) |
/impl/src/java/pt/estgp/estgweb/web/tags/HasNotRoleTag.java |
---|
New file |
0,0 → 1,67 |
package pt.estgp.estgweb.web.tags; |
import org.apache.log4j.Logger; |
import javax.servlet.jsp.tagext.BodyTagSupport; |
import javax.servlet.jsp.JspException; |
import javax.servlet.jsp.JspWriter; |
import pt.estgp.estgweb.domain.UserSessionImpl; |
import pt.estgp.estgweb.Globals; |
public class HasNotRoleTag extends BodyTagSupport |
{ |
private static final Logger logger = Logger.getLogger(HasNotRoleTag.class); |
private String role; |
public String getRole() |
{ |
return role; |
} |
public void setRole(String role) |
{ |
this.role = role; |
} |
public int doStartTag() throws JspException |
{ |
if(go()) |
return EVAL_BODY_TAG; |
else |
return SKIP_BODY; |
} |
public boolean go() |
{ |
UserSessionImpl userSession = (UserSessionImpl) pageContext.getRequest().getAttribute(Globals.USER_SESSION_KEY); |
return !(userSession != null && userSession.getUser() != null && userSession.getUser().hasRole(role)); |
} |
public int doEndTag() throws JspException |
{ |
if (go()) |
{ |
String toPage = bodyContent.getString().trim(); |
JspWriter writer = pageContext.getOut(); |
try |
{ |
writer.write(toPage); |
} |
catch (Exception e) |
{ |
logger.error(e, e); |
throw new JspException(e); |
} |
} |
// Continue processing this page |
return EVAL_PAGE; |
} |
} |