Skip to content
Snippets Groups Projects
Commit 69a7f006 authored by Falucho's avatar Falucho
Browse files

Se trabaja en la integracion Con COlas de mensaje

parent 1d1e37e3
No related branches found
No related tags found
No related merge requests found
Showing
with 75 additions and 75 deletions
......@@ -19,7 +19,7 @@ public class RequestBean {
private BusinessLocal negocio;
@EJB
private uy.edu.fing.tse.practico.business.jms.JMSProducer jms;
private uy.edu.fing.tse.practico.business.mq.JMSProducer jms;
@ManagedProperty(value = "#{Session}")
private SessionBean session;
......
......@@ -20,7 +20,7 @@ public class MyServlet extends HttpServlet {
private BusinessLocal negocio;
@EJB
private uy.edu.fing.tse.practico.business.jms.JMSProducer jms;
private uy.edu.fing.tse.practico.business.mq.JMSProducer jms;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
......
package uy.edu.fing.tse.dto;
public final class Category {
import java.io.Serializable;
public final class Category implements Serializable {
private static final long serialVersionUID = -317249293474531216L;
private Long id;
private String name;
......
package uy.edu.fing.tse.dto;
public final class CheckChecker {
import java.io.Serializable;
public final class CheckChecker implements Serializable {
private static final long serialVersionUID = 4798508172561834440L;
private Long id;
private UserBO checker;
......
package uy.edu.fing.tse.dto;
import java.io.Serializable;
import java.util.Date;
public final class CheckMechanism {
public final class CheckMechanism implements Serializable {
private static final long serialVersionUID = -5354719133598426738L;
private Long id;
private Peripherical peripheral;
......
package uy.edu.fing.tse.dto;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public final class Fact {
public final class Fact implements Serializable {
private static final long serialVersionUID = -6218807350324946355L;
private Long id;
private String title;
......
package uy.edu.fing.tse.dto;
public class Mechanism {
import java.io.Serializable;
public class Mechanism implements Serializable {
private static final long serialVersionUID = 2443873705205432766L;
private Long id;
private String name;
......
......@@ -3,4 +3,5 @@ package uy.edu.fing.tse.dto;
public final class MechanismInternal extends Mechanism {
private static final long serialVersionUID = -8256891910168590447L;
}
......@@ -6,6 +6,8 @@ import java.util.List;
public final class Peripherical extends Mechanism {
private static final long serialVersionUID = 3767463748206760371L;
private List<Category> categories = new ArrayList<>();
private String endpoint;
......
package uy.edu.fing.tse.dto;
public class Role {
import java.io.Serializable;
public class Role implements Serializable {
private static final long serialVersionUID = -1446670708639059343L;
private Long id;
private String name;
......
package uy.edu.fing.tse.dto;
import java.io.Serializable;
/**
* Esta es la que puede ser vergonzosa, verdad a media, verdad, falsa
*/
public final class Score {
public final class Score implements Serializable {
private static final long serialVersionUID = -5278506826296305357L;
private Long id;
private String value;
......
package uy.edu.fing.tse.dto;
import java.io.Serializable;
/**
* Son los estados para los hechos, Nuevo, aComprobar, enProceso, Verificado, Publicado, Cancelado
*/
public final class State {
public final class State implements Serializable {
private static final long serialVersionUID = 8369408999916591568L;
private Long id;
private String value;
......
package uy.edu.fing.tse.dto;
import java.io.Serializable;
import java.util.Date;
public final class StateHistory {
public final class StateHistory implements Serializable {
private static final long serialVersionUID = 1032183705367730249L;
private Long id;
private State state;
......
package uy.edu.fing.tse.dto;
public abstract class User {
import java.io.Serializable;
public abstract class User implements Serializable {
private static final long serialVersionUID = -5501550545779779794L;
private Long id;
private String mail;
......
......@@ -3,6 +3,8 @@ package uy.edu.fing.tse.dto;
public final class UserBO extends User {
private static final long serialVersionUID = -460563178765136315L;
private String salt;
private String password;
private Role role;
......
......@@ -2,4 +2,5 @@ package uy.edu.fing.tse.dto;
public final class UserFO extends User {
private static final long serialVersionUID = -7399690108581919726L;
}
......@@ -83,6 +83,17 @@
<type>pom</type>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
</dependency>
</dependencies>
<build>
......
package uy.edu.fing.tse.practico.business;
import uy.edu.fing.tse.dto.NoticiaDTO;
import uy.edu.fing.tse.dto.PublicacionDTO;
import java.util.List;
import uy.edu.fing.tse.dto.CheckMechanism;
import uy.edu.fing.tse.dto.Peripherical;
/**
* La Capa de Negocio deberá proveer funcionalidades para Agregar una Publicación a
* una Noticia, Obtener Noticias, Obtener Publicaciones y Obtener las Publicaciones de
* una Noticia.
*/
public interface Business {
void add(NoticiaDTO noticia);
void altaPeriferico(Peripherical p);
void add(PublicacionDTO publicacion, NoticiaDTO noticia);
NoticiaDTO findNoticia(long idNoticia);
List<NoticiaDTO> getNoticias();
List<PublicacionDTO> getPublicaciones();
List<PublicacionDTO> getPublicaciones(final long idNoticia);
NoticiaDTO addPublicacionANoticia(final PublicacionDTO pub, final long idNoticia);
void altaVerificacionMecanismo(CheckMechanism cm);
}
package uy.edu.fing.tse.practico.business;
import uy.edu.fing.tse.dto.NoticiaDTO;
import uy.edu.fing.tse.dto.PublicacionDTO;
import uy.edu.fing.tse.dto.CheckMechanism;
import uy.edu.fing.tse.dto.Peripherical;
import uy.edu.fing.tse.practico.db.DataAccessBean;
import javax.annotation.PostConstruct;
import javax.ejb.*;
import java.util.List;
/**
* Se debe controlar que una noticia no tenga más de diez publicaciones. Esta
* capa deberá implementarse con Stateless Session Beans que provean interfaces
* remotas y locales
*/
@Stateless
@Local({BusinessLocal.class})
@Remote({BusinessRemote.class})
......@@ -29,45 +23,12 @@ public class BusinessBean implements BusinessLocal, BusinessRemote {
}
@Override
public void add(NoticiaDTO noticia) {
dataAccess.alta(noticia);
}
@Override
public void add(PublicacionDTO publicacion, NoticiaDTO noticia) {
noticia.getPublicaciones().add(publicacion);
dataAccess.alta(noticia);
}
public void altaPeriferico(Peripherical p) {
@Override
public NoticiaDTO findNoticia(final long idNoticia) {
return dataAccess.find(idNoticia);
}
@Override
public List<NoticiaDTO> getNoticias() {
return dataAccess.getNoticias();
}
@Override
public List<PublicacionDTO> getPublicaciones() {
return dataAccess.getPublicaciones();
}
@Override
public List<PublicacionDTO> getPublicaciones(final long idNoticia) {
return dataAccess.find(idNoticia).getPublicaciones();
}
@Override
public NoticiaDTO addPublicacionANoticia(final PublicacionDTO pub, final long idNoticia) {
NoticiaDTO noticiaDTO = dataAccess.find(idNoticia);
if (noticiaDTO.getPublicaciones().size() >= 10) {
throw new RuntimeException("La noticia tiene demasiadas publicaciones ya.");
}
public void altaVerificacionMecanismo(CheckMechanism cm) {
noticiaDTO = dataAccess.addPublicacionToNoticia(pub, idNoticia);
return noticiaDTO;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment