Policy failures:   
Code warning
- failed on resource ListReportController.java. Reason: ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized, line 74
- failed on resource ListReportController.java. Reason: ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized, line 98
- failed on resource ListReportController.java. Reason: List is a raw type. References to generic type List<E> should be parameterized, line 74
- failed on resource ListReportController.java. Reason: List is a raw type. References to generic type List<E> should be parameterized, line 98
- failed on resource ListReportController.java. Reason: Type safety: The method add(Object) belongs to the raw type List. References to generic type List<E> should be parameterized, line 102
... and more.  
Override reason:   
huhu
This commit is contained in:
Frederic Debuire
2008-02-25 10:32:50 +00:00
parent 15a2f365a6
commit 3fd37463d9
9 changed files with 244 additions and 62 deletions

View File

@@ -14,12 +14,12 @@
<div style="border: 1px solid orange;"> <div style="border: 1px solid orange;">
<table style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td colspan="2" align="center"> <td colspan="3" align="center">
<a title="To see the detail and download" href="<c:url value="/detailArticle.htm"><c:param name="id" value="${article.article.id}"/></c:url>"><b>${article.article.title}</b></a> by ${article.article.mainAuthor.firstName} ${article.article.mainAuthor.lastName} <a title="To see the detail and download" href="<c:url value="/detailArticle.htm"><c:param name="id" value="${article.article.id}"/></c:url>"><b>${article.article.title}</b></a> by ${article.article.mainAuthor.firstName} ${article.article.mainAuthor.lastName}
</td> </td>
</tr> </tr>
<tr> <tr>
<td align="left"> <td align="left" width="33%">
<c:choose> <c:choose>
<c:when test="${not empty article.referee}"> <c:when test="${not empty article.referee}">
Delegated to:<br /> Delegated to:<br />
@@ -31,8 +31,18 @@
&nbsp; &nbsp;
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</td>
<td align="center" width="33%">
<c:choose>
<c:when test="${article.article.state == 'EVALUATED' or article.article.state == 'REJECTED' or article.article.state == 'ACCEPTED'}">
<a href="<c:url value="listReport.htm?id=${article.article.id}"/>"><fmt:message key="validate.report" /></a>
</c:when>
<c:otherwise>
&nbsp;
</c:otherwise>
</c:choose>
</td> </td>
<td align="right"> <td align="right" width="33%">
<c:if test="${article.evaluated == false and empty article.referee}"> <c:if test="${article.evaluated == false and empty article.referee}">
<c:if test="${article.article.state != 'REJECTED' and article.article.state != 'ACCEPTED'}"> <c:if test="${article.article.state != 'REJECTED' and article.article.state != 'ACCEPTED'}">
<a title="Click to evaluate" href="<c:url value="evaluation.htm?id=${article.article.id}"/>">Evaluate <img src="./images/button_follow_32x32.png" alt="Click to evaluate" /></a> <a title="Click to evaluate" href="<c:url value="evaluation.htm?id=${article.article.id}"/>">Evaluate <img src="./images/button_follow_32x32.png" alt="Click to evaluate" /></a>

View File

@@ -0,0 +1,52 @@
<%@ include file="/WEB-INF/decorators/include.jsp"%>
<html>
<head></head>
<body>
<h4 class="title"><fmt:message key="report.headPage" /></h4>
<c:choose>
<c:when test="${empty listReport}">
<div class="warningBox">
There is no report for this article at the moment.
</div>
</c:when>
<c:otherwise>
<c:forEach items="${listReport}" var="report" varStatus="current">
<table>
<tr>
<td><fmt:message key="report.referee" />: ${report.referee.firstName} ${report.referee.lastName}</td>
</tr>
<tr>
<td><fmt:message key="evaluation.titleArticle" /></td>
<td>${report.article.title}</td>
</tr>
<c:forEach items="${container[current.index]}" var="rating">
<tr>
<td><fmt:message key="evaluation.note" /></td>
<td>${rating.criterion.name} is:</td>
<td>${rating.value}</td>
</tr>
</c:forEach>
<tr>
<td><fmt:message key="evaluation.commentAuthor" /></td>
<td>${report.commentAuthor}</td>
</tr>
</table>
<hr>
</c:forEach>
</c:otherwise>
</c:choose>
<br />
<a class="back_link" href="<c:url value="${whereIcome}"/>"><fmt:message key="form.link.back" /></a>
</body>
</html>

View File

@@ -54,9 +54,19 @@
</tr> </tr>
<tr> <tr>
<td colspan="2" align="center"> <td colspan="2" align="center">
<a class="manage_link" id="articleURL${i.index}" title="Download" href="<c:url value="/download.htm"><c:param name="articleId" value="${article.id}"/></c:url>">Download<img src="./images/cc-download_manager-32x32.png" alt="Download" /></a> <a class="manage_link" id="articleURL${i.index}" title="Download" href="<c:url value="/download.htm"><c:param name="articleId" value="${article.id}"/></c:url>">Download<img src="./images/cc-download_manager-32x32.png" alt="Download" /></a>
<a class="manage_link" id="modifyArticle${i.index}" title="Modify" href="<c:url value="/submissionArticle.htm"><c:param name="action" value="modify"/><c:param name="articleID" value="${article.id}"/></c:url>">Modify<img src="./images/cc-kedit-32x32.png" alt="Modify" /></a> <c:if test="${article.state != 'EVALUATED' and article.state != 'REJECTED' and article.state != 'ACCEPTED'}">
<a class="manage_link" id="suppressArticle${i.index}" title="Delete" href="javascript:deleteArticle(${article.id});">Delete<img src="./images/cc-button_cancel-32x32.png" alt="Delete"/></a> <a class="manage_link" id="modifyArticle${i.index}" title="Modify" href="<c:url value="/submissionArticle.htm"><c:param name="action" value="modify"/><c:param name="articleID" value="${article.id}"/></c:url>">Modify<img src="./images/cc-kedit-32x32.png" alt="Modify" /></a>
<a class="manage_link" id="suppressArticle${i.index}" title="Delete" href="javascript:deleteArticle(${article.id});">Delete<img src="./images/cc-button_cancel-32x32.png" alt="Delete"/></a>
</c:if>
<c:choose>
<c:when test="${article.state == 'EVALUATED' or article.state == 'REJECTED' or article.state == 'ACCEPTED'}">
<br/><a href="<c:url value="listReportAuthor.htm?id=${article.id}"/>"><fmt:message key="validate.report" /></a>
</c:when>
<c:otherwise>
&nbsp;
</c:otherwise>
</c:choose>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@@ -306,7 +306,12 @@ function showArticleReferee() {
${referee.firstName} ${referee.lastName}<br/> ${referee.firstName} ${referee.lastName}<br/>
</c:forEach> </c:forEach>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
&nbsp;
</c:otherwise>
</c:choose>
</td>
<td>
<c:if test="${article.evaluated == false}"> <c:if test="${article.evaluated == false}">
<c:if test="${article.state != 'REJECTED' and article.state != 'ACCEPTED'}"> <c:if test="${article.state != 'REJECTED' and article.state != 'ACCEPTED'}">
To evaluate To evaluate
@@ -322,10 +327,7 @@ function showArticleReferee() {
</c:if> </c:if>
<c:if test="${article.state == 'ACCEPTED'}"> <c:if test="${article.state == 'ACCEPTED'}">
Accepted Accepted
</c:if> </c:if>
</c:otherwise>
</c:choose>
</td> </td>
<td align="center" width="25%"> <td align="center" width="25%">
<a href="chooseConference.htm?idConf=${article.conference.id}">${article.conference.title}</a> <a href="chooseConference.htm?idConf=${article.conference.id}">${article.conference.title}</a>

View File

@@ -44,6 +44,7 @@
<prop key="/download.htm">ArticleDownloadController</prop> <prop key="/download.htm">ArticleDownloadController</prop>
<prop key="/deleteArticle.htm">ArticleDeleteController</prop> <prop key="/deleteArticle.htm">ArticleDeleteController</prop>
<prop key="/listReport.htm">ListReportController</prop> <prop key="/listReport.htm">ListReportController</prop>
<prop key="/listReportAuthor.htm">ListReportAuthorController</prop>
<prop key="/forgotPassword.htm">ForgotPasswordController</prop> <prop key="/forgotPassword.htm">ForgotPasswordController</prop>
<prop key="/detailArticle.htm">DetailArticleController</prop> <prop key="/detailArticle.htm">DetailArticleController</prop>
<prop key="/userBoard.htm">UserBoardController</prop> <prop key="/userBoard.htm">UserBoardController</prop>
@@ -216,7 +217,8 @@
<dwr:remote javascript="DelegateArticlesJS" /> <dwr:remote javascript="DelegateArticlesJS" />
<property name="articleManager" ref="articleManager" /> <property name="articleManager" ref="articleManager" />
<property name="userManager" ref="userManager" /> <property name="userManager" ref="userManager" />
<property name="conferenceManager" ref="conferenceManager" /> <property name="conferenceManager" ref="conferenceManager" />
<property name="evaluationManager" ref="evaluationManager" />
</bean> </bean>
@@ -295,6 +297,11 @@
<property name="articleManager" ref="articleManager" /> <property name="articleManager" ref="articleManager" />
<property name="userManager" ref="userManager" /> <property name="userManager" ref="userManager" />
<property name="evaluationManager" ref="evaluationManager" /> <property name="evaluationManager" ref="evaluationManager" />
</bean>
<bean id="ListReportAuthorController"
class="org.yacos.web.author.controller.ListReportAuthorController">
<property name="evaluationManager" ref="evaluationManager" />
</bean> </bean>
<bean id="DetailArticleController" <bean id="DetailArticleController"

View File

@@ -2,27 +2,27 @@ package org.yacos.web.PCmember.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller; import org.springframework.web.servlet.mvc.Controller;
import org.yacos.core.article.Article; import org.yacos.core.article.Article;
import org.yacos.core.article.IArticleManager; import org.yacos.core.article.IArticleManager;
import org.yacos.core.article.Article.State;
import org.yacos.core.conferences.Conference; import org.yacos.core.conferences.Conference;
import org.yacos.core.conferences.IConferenceManager; import org.yacos.core.conferences.IConferenceManager;
import org.yacos.core.evaluation.IEvaluationManager;
import org.yacos.core.evaluation.Report;
import org.yacos.core.users.IUserManager; import org.yacos.core.users.IUserManager;
import org.yacos.core.users.Role;
import org.yacos.core.users.Speciality; import org.yacos.core.users.Speciality;
import org.yacos.core.users.User; import org.yacos.core.users.User;
import org.yacos.core.users.Role.RoleType; import org.yacos.core.users.Role.RoleType;
import org.yacos.web.system.session.SessionService; import org.yacos.web.system.session.SessionService;
public class DelegateArticleController implements Controller{ public class DelegateArticleController implements Controller{
protected final Log logger = LogFactory.getLog(getClass()); protected final Log logger = LogFactory.getLog(getClass());
private IArticleManager articleManager; private IArticleManager articleManager;
@@ -48,96 +48,116 @@ public class DelegateArticleController implements Controller{
public void setConferenceManager(IConferenceManager conferenceManager) { public void setConferenceManager(IConferenceManager conferenceManager) {
this.conferenceManager = conferenceManager; this.conferenceManager = conferenceManager;
} }
private IEvaluationManager evaluationManager;
public IEvaluationManager getEvaluationManager() {
return evaluationManager;
}
public void setEvaluationManager(IEvaluationManager evaluationManager) {
this.evaluationManager = evaluationManager;
}
Conference conf; Conference conf;
String memberId; String memberId;
public ModelAndView handleRequest(HttpServletRequest arg0, public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception { HttpServletResponse arg1) throws Exception {
conf = SessionService.getInstance().getCurrentConference(); conf = SessionService.getInstance().getCurrentConference();
memberId = SessionService.getInstance().getCurrentUserLogin(); memberId = SessionService.getInstance().getCurrentUserLogin();
String login = SessionService.getInstance().getCurrentUserLogin(); String login = SessionService.getInstance().getCurrentUserLogin();
List<Article> listArticles = articleManager.getArticlesOfMember(conf.getId(), login); List<Article> listArticlesTmp = articleManager.getArticlesOfMember(conf.getId(), login);
List<Article> listArticles = new ArrayList<Article>();
for (Article a : listArticlesTmp) {
Report rpt = evaluationManager.getReportforArticleAndReferee(a.getId(), SessionService.getInstance().getCurrentUserLogin());
if (rpt == null) {
if (a.getState() != State.ACCEPTED && a.getState() != State.REJECTED)
listArticles.add(a);
}
}
logger.info("returning delegateArticle with "+ listArticles.size() +" article"); logger.info("returning delegateArticle with "+ listArticles.size() +" article");
return new ModelAndView("delegateArticle","articles", listArticles); return new ModelAndView("delegateArticle","articles", listArticles);
} }
public List<RefereeBean> getRefereesWithTheArticle(int articleId ){ public List<RefereeBean> getRefereesWithTheArticle(int articleId ){
RefereeBean member; RefereeBean member;
//Conference conf = SessionService.getInstance().getCurrentConference(); //Conference conf = SessionService.getInstance().getCurrentConference();
//List de RefereeBean qui sera retourn<72> //List de RefereeBean qui sera retourn<72>
List<RefereeBean> articleMembers = new ArrayList<RefereeBean>(); List<RefereeBean> articleMembers = new ArrayList<RefereeBean>();
//list of the member who have this article //list of the member who have this article
List<User> articleMembersTmp = userManager.getRefereesOfPcMemberForArticle(memberId, articleId); List<User> articleMembersTmp = userManager.getRefereesOfPcMemberForArticle(memberId, articleId);
for (User user : articleMembersTmp) { for (User user : articleMembersTmp) {
member = new RefereeBean(); member = new RefereeBean();
member.setFirstName(user.getFirstName()); member.setFirstName(user.getFirstName());
member.setLastName(user.getLastName()); member.setLastName(user.getLastName());
member.setLogin(user.getLogin()); member.setLogin(user.getLogin());
//recuperation des specialit<69>es //recuperation des specialit<69>es
List<String> spectialities = new ArrayList<String>(); List<String> spectialities = new ArrayList<String>();
List<Speciality> listSpe = userManager.getSpecialitiesFromUser(member.getLogin()); List<Speciality> listSpe = userManager.getSpecialitiesFromUser(member.getLogin());
for (Speciality speciality : listSpe) { for (Speciality speciality : listSpe) {
spectialities.add(speciality.getName()); spectialities.add(speciality.getName());
} }
member.setSpecialities(spectialities); member.setSpecialities(spectialities);
//add the member to the return list //add the member to the return list
articleMembers.add(member); articleMembers.add(member);
} }
return articleMembers; return articleMembers;
} }
public List<RefereeBean> getRefereesWithoutTheArticle(int articleId ){ public List<RefereeBean> getRefereesWithoutTheArticle(int articleId ){
RefereeBean member; RefereeBean member;
//Conference conf = SessionService.getInstance().getCurrentConference(); //Conference conf = SessionService.getInstance().getCurrentConference();
//List de RefereeBean qui sera retourn<72> //List de RefereeBean qui sera retourn<72>
List<RefereeBean> members = new ArrayList<RefereeBean>(); List<RefereeBean> members = new ArrayList<RefereeBean>();
//list of all pcmembers of the conference //list of all pcmembers of the conference
List<User> membersTmp = userManager.getUsers(); List<User> membersTmp = userManager.getUsers();
//list of the member who have this article //list of the member who have this article
List<User> refereesTmp = userManager.getRefereesOfPcMemberForArticle(memberId, articleId); List<User> refereesTmp = userManager.getRefereesOfPcMemberForArticle(memberId, articleId);
for (User user : membersTmp) { for (User user : membersTmp) {
member = new RefereeBean(); member = new RefereeBean();
member.setFirstName(user.getFirstName()); member.setFirstName(user.getFirstName());
member.setLastName(user.getLastName()); member.setLastName(user.getLastName());
member.setLogin(user.getLogin()); member.setLogin(user.getLogin());
//recuperation des specialit<69>es //recuperation des specialit<69>es
List<String> spectialities = new ArrayList<String>(); List<String> spectialities = new ArrayList<String>();
List<Speciality> listSpe = userManager.getSpecialitiesFromUser(member.getLogin()); List<Speciality> listSpe = userManager.getSpecialitiesFromUser(member.getLogin());
for (Speciality speciality : listSpe) { for (Speciality speciality : listSpe) {
spectialities.add(speciality.getName()); spectialities.add(speciality.getName());
} }
member.setSpecialities(spectialities); member.setSpecialities(spectialities);
if (!refereesTmp.contains(user) if (!refereesTmp.contains(user)
&& !userManager.hasRoleForConference(user.getLogin(), RoleType.CHAIRMAN, conf.getId()) && !userManager.hasRoleForConference(user.getLogin(), RoleType.CHAIRMAN, conf.getId())
&& !userManager.hasRoleForConference(user.getLogin(), RoleType.PCMEMBER, conf.getId()) && !userManager.hasRoleForConference(user.getLogin(), RoleType.PCMEMBER, conf.getId())
){ ){
members.add(member); members.add(member);
} }
} }
logger.debug("return"+ members.size() +"members"); logger.debug("return"+ members.size() +"members");
return members; return members;
} }
public void addReferees(List<String> refereesId,int articleId){ public void addReferees(List<String> refereesId,int articleId){
for (String refereeId : refereesId) { for (String refereeId : refereesId) {
articleManager.delegateArticleToReferee(articleId, refereeId,memberId); articleManager.delegateArticleToReferee(articleId, refereeId,memberId);
@@ -149,11 +169,11 @@ public List<RefereeBean> getRefereesWithTheArticle(int articleId ){
} }
public void removeReferees(List<String> refereesId,int articleId){ public void removeReferees(List<String> refereesId,int articleId){
for (String refereeId : refereesId) { for (String refereeId : refereesId) {
articleManager.undelegateArticleToReferee(articleId, refereeId, memberId); articleManager.undelegateArticleToReferee(articleId, refereeId, memberId);
} }
logger.info("remove members to article"); logger.info("remove members to article");
} }
} }

View File

@@ -128,6 +128,7 @@ public class ListReportController extends SimpleFormController {
model.put("whereIcome", request.getHeader("REFERER")); model.put("whereIcome", request.getHeader("REFERER"));
/* double[] moyennes=new double[listReport.size()]; /* double[] moyennes=new double[listReport.size()];
@@ -138,7 +139,6 @@ public class ListReportController extends SimpleFormController {
}*/ }*/
return new ModelAndView("listReport", model); return new ModelAndView("listReport", model);
} }
@@ -154,12 +154,4 @@ public class ListReportController extends SimpleFormController {
public void setEvaluationManager(IEvaluationManager evaluationManager) { public void setEvaluationManager(IEvaluationManager evaluationManager) {
this.evaluationManager = evaluationManager; this.evaluationManager = evaluationManager;
} }
public IUserManager getUserManager() {
return userManager;
}
public void setUserManager(IUserManager userManager) {
this.userManager = userManager;
}
} }

View File

@@ -0,0 +1,75 @@
package org.yacos.web.author.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.yacos.core.evaluation.IEvaluationManager;
import org.yacos.core.evaluation.Rating;
import org.yacos.core.evaluation.Report;
import org.yacos.web.system.controller.NoConferenceSelectedException;
public class ListReportAuthorController extends SimpleFormController {
protected final Log logger = LogFactory.getLog(getClass());
private IEvaluationManager evaluationManager;
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, NoConferenceSelectedException {
logger.info("Returning listReport view");
List<Report> listReport;
String reportId = request.getParameter("id");
try {
Integer id = new Integer(reportId);
Map <String, Object> model = new HashMap<String, Object>();
listReport = evaluationManager.getReportsForArticle(id);
if (listReport.isEmpty())
return new ModelAndView("listReport", "listReport", null);
model.put("listReport", listReport);
List<List<Rating>> container = new ArrayList<List<Rating>>();
for (int i=0; i<=listReport.size()-1;i++){
List<Rating> ratings = evaluationManager.getRatingForReport(listReport.get(i).getId());
container.add(ratings);
}
model.put("container", container);
model.put("whereIcome", request.getHeader("REFERER"));
return new ModelAndView("listReport", model);
}
catch (NumberFormatException e) {
throw new ModelAndViewDefiningException(new ModelAndView("404error"));
}
}
public IEvaluationManager getEvaluationManager() {
return evaluationManager;
}
public void setEvaluationManager(IEvaluationManager evaluationManager) {
this.evaluationManager = evaluationManager;
}
}

View File

@@ -160,15 +160,29 @@ public class UserBoardController extends SimpleFormController {
ab.setURL_article(a.getURL_article()); ab.setURL_article(a.getURL_article());
ab.setConference(articleManager.getConferenceForArticle(a.getId())); ab.setConference(articleManager.getConferenceForArticle(a.getId()));
List<User> referee = userManager.getRefereesOfPcMemberForArticle(SessionService.getInstance().getCurrentUserLogin(), a.getId()); List<User> referee = userManager.getRefereesOfPcMemberForArticle(SessionService.getInstance().getCurrentUserLogin(), a.getId());
if (referee != null) if (referee != null) {
ab.setReferee(referee); ab.setReferee(referee);
else }
else {
ab.setReferee(null); ab.setReferee(null);
}
Report rpt = evaluationManager.getReportforArticleAndReferee(a.getId(), SessionService.getInstance().getCurrentUserLogin()); Report rpt = evaluationManager.getReportforArticleAndReferee(a.getId(), SessionService.getInstance().getCurrentUserLogin());
if (rpt == null) { if (rpt == null) {
ab.setEvaluated(false); if (referee != null) {
if (! a.getState().equals(State.ACCEPTED) && ! a.getState().equals(State.REJECTED)) for (User r : referee) {
Report tmp = evaluationManager.getReportforArticleAndReferee(a.getId(), r.getLogin());
if (tmp != null) {
ab.setEvaluated(true);
break;
}
}
}
else {
ab.setEvaluated(false);
}
if (! a.getState().equals(State.ACCEPTED) && ! a.getState().equals(State.REJECTED) && referee == null)
numberNotEvaluatedPCMember++; numberNotEvaluatedPCMember++;
} }
else { else {