package pt.estgp.estgweb.services.reminders;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.common.*;
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
import pt.estgp.estgweb.services.common.impl.DefaultResult;
import pt.estgp.estgweb.services.common.impl.DefaultToDo;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.views.ReminderView;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import org.apache.log4j.Logger;
import java.util.List;
import java.util.ArrayList;
import jomm.dao.impl.AbstractDao;
/**
* @author Jorge Machado
* @date 25/Apr/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class RemindersCommonServices
extends SingleSearchResults
implements IService, IModuleCommonServices
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(RemindersCommonServices.
class);
public int countSearch
(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, UserSession userSession
)
{
return 0; // todo To change body of implemented methods use File | Settings | File Templates.
}
public ISearchResults search
(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType,
int page,
int maxResults, UserSession userSession
)
{
return search
(null,search,searchType,page,maxResults,userSession
);
}
public ISearchResults search
(1.5.0/docs/api/java/lang/String.html">String from,
1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType,
int page,
int maxResults, UserSession userSession
)
{
if(userSession.
getUser() ==
null)
return null;
DefaultSearchResults searchResults =
new DefaultSearchResults
();
searchResults.
setModule(ModuleEnum.
Reminders);
List
<ReminderImpl
> l = DaoFactory.
getReminderDaoImpl().
findOwnedReminders(userSession.
getUser().
getId(), search,searchType,page,maxResults
);
searchResults.
setTotalResults(DaoFactory.
getReminderDaoImpl().
countOwnedReminders(userSession.
getUser().
getId(), search,searchType
));
if (searchResults.
getTotalResults() > 0
)
{
for (ReminderImpl r : l
)
{
ReminderView rv =
new ReminderView
(r
);
DefaultResult defaultResult =
new DefaultResult
();
defaultResult.
setTitle(rv.
getTextSummary());
defaultResult.
setSubTitle(rv.
getFormatedStartDate() +
" - " + rv.
getFormatedExpireDate());
defaultResult.
setSubTitleKey(false);
defaultResult.
setText(r.
getText());
defaultResult.
setUrl(null);
searchResults.
addResult(defaultResult
);
}
}
return searchResults
;
}
public int countToDo
(UserSession userSession
)
{
return 0; //todo To change body of implemented methods use File | Settings | File Templates.
}
/**
* Not implemented
* @param userSession
* @return
*/
public IToDoCat getToDo
(UserSession userSession
)
{
return null;
}
public List
<IToDo
> getAllToDos
(UserSession userSession
)
{
List
<IToDo
> todos =
new ArrayList
<IToDo
>();
List
<ReminderImpl
> reminders = DaoFactory.
getReminderDaoImpl().
loadOwnedActiveReminders(userSession.
getUser().
getId());
for(ReminderImpl r: reminders
)
{
ReminderView rV =
new ReminderView
(r
);
DefaultToDo defaultToDo =
new DefaultToDo
(rV.
getText(),
null,rV.
getFormatedExpireDate(),
"reminder",
null);
todos.
add(defaultToDo
);
}
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
(1.5.0/docs/api/java/lang/String.html">String[] args
)
{
AbstractDao.
getCurrentSession().
beginTransaction();
UserSession sess =
new UserSessionImpl
();
sess.
setUser(new UserImpl
());
sess.
getUser().
setRoles("all");
ISearchResults searchResults =
new RemindersCommonServices
().
search("teste", SearchTypeEnum.
AllWords, 0, 10, sess
);
for (IResult result : searchResults.
getResults())
{
1.5.0/docs/api/java/lang/System.html">System.
out.
println("title:" + result.
getTitle());
1.5.0/docs/api/java/lang/System.html">System.
out.
println("subTitle:" + result.
getSubTitle());
1.5.0/docs/api/java/lang/System.html">System.
out.
println("text:" + result.
getText());
1.5.0/docs/api/java/lang/System.html">System.
out.
println("url" + result.
getUrl());
1.5.0/docs/api/java/lang/System.html">System.
out.
println("bestFragments" + result.
getBestFragments());
}
AbstractDao.
commit();
}
}