This commit is contained in:
Maxime Dagnicourt
2008-01-24 14:05:07 +00:00
parent 0d9e8a8d22
commit 3bdc646a05
4 changed files with 77 additions and 13 deletions

View File

@@ -3,6 +3,8 @@
*/ */
package org.yacos.core.evaluation; package org.yacos.core.evaluation;
import java.io.Serializable;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType; import javax.persistence.GenerationType;
@@ -17,7 +19,12 @@ import org.yacos.core.conferences.Conference;
* *
*/ */
@Entity @Entity
public class Criterion { public class Criterion implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id @Id
@GeneratedValue(strategy=GenerationType.AUTO) @GeneratedValue(strategy=GenerationType.AUTO)
private Integer id; private Integer id;

View File

@@ -6,13 +6,18 @@ package org.yacos.core.evaluation;
import java.util.List; import java.util.List;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContext;
import javax.persistence.Query; import javax.persistence.Query;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.yacos.core.article.Article; import org.yacos.core.article.Article;
import org.yacos.core.conferences.Conference; import org.yacos.core.conferences.IConferenceManager;
import org.yacos.core.conferences.ConferenceManagerBean; import org.yacos.core.users.User;
/** /**
* @author christiancorsano * @author christiancorsano
@@ -22,12 +27,30 @@ import org.yacos.core.conferences.ConferenceManagerBean;
public class EvaluationManagerBean implements IEvaluationManager { public class EvaluationManagerBean implements IEvaluationManager {
@PersistenceContext @PersistenceContext
EntityManager em; EntityManager em;
private ConferenceManagerBean cm = new ConferenceManagerBean();
protected final Log logger = LogFactory.getLog(getClass());
private IConferenceManager cm;
private IConferenceManager getConferenceManager(){
Context context;
try {
context = new InitialContext();
cm = (IConferenceManager)context.lookup("ConferenceManagerBean/remote");
} catch (NamingException e) {
logger.error(e.getMessage());
}
return cm;
}
public List<Criterion> getCriterions(int confId){
ConferenceManagerBean cm = new ConferenceManagerBean(); @SuppressWarnings("unchecked")
Conference conf = cm.getConference(confId); public List<Criterion> getCriterions(int confId){
return conf.getCriterions(); //Query q = em.createQuery("from Criterion");
Query query = em.createQuery("from Criterion where conference_id = ?");
query.setParameter(1, confId);
return query.getResultList();
//return q.getResultList();
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@@ -37,11 +60,13 @@ public class EvaluationManagerBean implements IEvaluationManager {
} }
public Criterion addCriterion(String name, Integer min_rating, public Criterion addCriterion(String name, Integer min_rating,
Integer max_rating, int confId) { Integer max_rating, int confId) {
cm = getConferenceManager();
Criterion crit = new Criterion(); Criterion crit = new Criterion();
crit.setName(name); crit.setName(name);
crit.setMin(min_rating); crit.setMin(min_rating);
crit.setMax(max_rating); crit.setMax(max_rating);
System.out.println();
crit.setConference(cm.getConference(confId)); crit.setConference(cm.getConference(confId));
em.persist(crit); em.persist(crit);
em.flush(); em.flush();
@@ -49,10 +74,38 @@ public class EvaluationManagerBean implements IEvaluationManager {
} }
public void updateCriterion(Criterion criterion) { public void updateCriterion(Criterion criterion) {
// TODO Auto-generated method stub em.merge(criterion);
em.flush();
} }
public void removeCriterion(int criterionId) {
Criterion criterion = this.getCriterion(criterionId);
em.remove(criterion);
}
public Criterion getCriterion(int criterionId) { public Criterion getCriterion(int criterionId) {
return em.find(Criterion.class, criterionId); return em.find(Criterion.class, criterionId);
} }
/**
* methodes du Report
*/
public Report addReport(Article article) {
// TODO Auto-generated method stub
return null;
}
public List<Report> getReportsForUser(User user) {
// TODO Auto-generated method stub
return null;
}
public void updateReport(Report report) {
// TODO Auto-generated method stub
}
} }

View File

@@ -8,6 +8,7 @@ import java.util.List;
import javax.ejb.Remote; import javax.ejb.Remote;
import org.yacos.core.article.Article; import org.yacos.core.article.Article;
import org.yacos.core.users.User;
/** /**
* @author christiancorsano * @author christiancorsano
@@ -20,7 +21,11 @@ public interface IEvaluationManager {
Integer max_rating, int confId); Integer max_rating, int confId);
public Criterion getCriterion(int criterionId); public Criterion getCriterion(int criterionId);
public void updateCriterion(Criterion criterion); public void updateCriterion(Criterion criterion);
public void removeCriterion(int criterionId);
public List<Report> getReportsForArticle(Article article);
public List<Criterion> getCriterions(int confId); public List<Criterion> getCriterions(int confId);
public Report addReport(Article article);
public void updateReport(Report report);
public List<Report> getReportsForArticle(Article article);
public List<Report> getReportsForUser(User user);
} }

View File

@@ -126,5 +126,4 @@ public class Report {
public void setRatings(ArrayList<Rating> ratings) { public void setRatings(ArrayList<Rating> ratings) {
this.ratings = ratings; this.ratings = ratings;
} }
} }