Class PrenotazioneLibriServiceImpl

java.lang.Object
it.unisa.c07.biblionet.prenotazioneLibri.service.PrenotazioneLibriServiceImpl
All Implemented Interfaces:
PrenotazioneLibriService

@Service
public class PrenotazioneLibriServiceImpl
extends java.lang.Object
implements PrenotazioneLibriService
Implementa la classe che esplicita i metodi definiti nell'interfaccia service per il sottosustema PrenotazioneLibri.
Author:
Viviana Pentangelo, Gianmario Voria
  • Constructor Summary

    Constructors
    Constructor Description
    PrenotazioneLibriServiceImpl()  
  • Method Summary

    Modifier and Type Method Description
    TicketPrestito accettaRichiesta​(TicketPrestito ticket, int giorni)
    Implementa la funzionalità che permette di accettare la richiesta di prestito di un libro.
    TicketPrestito chiudiTicket​(TicketPrestito ticket)
    Implementa la funzionalità che permette di chiudere un ticket di prenotazione di un libro quando questo viene riconsegnato.
    java.util.List<ILibroIdAndName> findByTitoloContains​(java.lang.String titolo)
    Implementa la funzionalità che permette di ottenere una lista di id e titoli di libri sulla base di un titolo dato !
    java.util.List<Biblioteca> getAllBiblioteche()
    Implementa la funzionalità che permette di recuperare la lista delle biblioteche.
    java.util.List<Genere> getAllGeneri()
    Implementa la funzionalità che permette di recuperare la lista dei generi.
    Biblioteca getBibliotecaById​(java.lang.String email)
    Implementa la funzionalità che permette di visualizzare il profilo di una singola biblioteca.
    java.util.List<Biblioteca> getBibliotecheByCitta​(java.lang.String citta)
    Implementa la funzionalità che permette di recuperare la lista delle biblioteche data una citta.
    java.util.List<Biblioteca> getBibliotecheByNome​(java.lang.String nome)
    Implementa la funzionalità che permette di recuperare la lista delle biblioteche dato un nome.
    java.util.List<Biblioteca> getBibliotecheLibro​(Libro libro)
    Implementa la funzionalità che permette di ottenere la lista delle biblioteche che posseggono un dato libro.
    Libro getLibroByID​(int id)
    Implementa la funzionalità che permette di ottenere un libro dato il suo ID.
    TicketPrestito getTicketByID​(int id)
    Implementa la funzionalità che permette di ottenere un ticket dato il suo ID.
    java.util.List<TicketPrestito> getTicketsByBiblioteca​(Biblioteca biblioteca)
    Implementa la funzionalità che permette di ottenere una lista di richieste per una biblioteca.
    java.util.List<TicketPrestito> getTicketsLettore​(Lettore lettore)
    Implementa la funzionalità che permette di ottenere la lista di ticket aperti da un Lettore.
    Libro inserimentoDalDatabase​(int idLibro, java.lang.String idBiblioteca, int numCopie)
    Implementa la funzionalità che permette di inserire un libro già memorizzato negli archivi della piattaforma alla lista dei propri libri prenotabili.
    Libro inserimentoManuale​(Libro libro, java.lang.String idBiblioteca, int numCopie, java.util.List<java.lang.String> generi)
    Implementa la funzionalità che permette di inserire un libro attraverso un form.
    Libro inserimentoPerIsbn​(java.lang.String isbn, java.lang.String idBiblioteca, int numCopie, java.util.List<java.lang.String> generi)
    Implementa la funzionalità che permette di creare un nuovo libro e inserirlo nella lista a partire da un isbn usando una API di google.
    TicketPrestito richiediPrestito​(Lettore lettore, java.lang.String idBiblioteca, int idLibro)
    Implementa la funzionalità che permette di richiedere un prestito per un libro da una biblioteca.
    TicketPrestito rifiutaRichiesta​(TicketPrestito ticket)
    Implementa la funzionalità che permette di rifiutare la richiesta di prestito di un libro.
    java.util.List<Libro> visualizzaListaLibriCompleta()
    Implementa la funzionalità che permette di visualizzare la lista completa dei libri prenotabili sulla piattaforma.
    java.util.List<Libro> visualizzaListaLibriPerBiblioteca​(java.lang.String nomeBiblioteca)
    Implementa la funzionalità che permette di visualizzare la lista completa dei libri prenotabili da una determinata biblioteca.
    java.util.List<Libro> visualizzaListaLibriPerGenere​(java.lang.String genere)
    Implementa la funzionalità che permette di visualizzare la lista completa dei libri prenotabili di un dato genere.
    java.util.List<Libro> visualizzaListaLibriPerTitolo​(java.lang.String titolo)
    Implementa la funzionalità che permette di visualizzare una lista di libri prenotabili filtrata per titolo.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PrenotazioneLibriServiceImpl

      public PrenotazioneLibriServiceImpl()
  • Method Details

    • visualizzaListaLibriCompleta

      public java.util.List<Libro> visualizzaListaLibriCompleta()
      Implementa la funzionalità che permette di visualizzare la lista completa dei libri prenotabili sulla piattaforma.
      Specified by:
      visualizzaListaLibriCompleta in interface PrenotazioneLibriService
      Returns:
      La lista di libri
    • visualizzaListaLibriPerTitolo

      public java.util.List<Libro> visualizzaListaLibriPerTitolo​(java.lang.String titolo)
      Implementa la funzionalità che permette di visualizzare una lista di libri prenotabili filtrata per titolo.
      Specified by:
      visualizzaListaLibriPerTitolo in interface PrenotazioneLibriService
      Parameters:
      titolo - Stringa che deve essere contenuta nel titolo
      Returns:
      La lista di libri
    • getBibliotecaById

      public Biblioteca getBibliotecaById​(java.lang.String email)
      Implementa la funzionalità che permette di visualizzare il profilo di una singola biblioteca.
      Specified by:
      getBibliotecaById in interface PrenotazioneLibriService
      Parameters:
      email - della biblioteca
      Returns:
      la biblioteca
    • visualizzaListaLibriPerBiblioteca

      public java.util.List<Libro> visualizzaListaLibriPerBiblioteca​(java.lang.String nomeBiblioteca)
      Implementa la funzionalità che permette di visualizzare la lista completa dei libri prenotabili da una determinata biblioteca.
      Specified by:
      visualizzaListaLibriPerBiblioteca in interface PrenotazioneLibriService
      Parameters:
      nomeBiblioteca - Il nome della biblioteca
      Returns:
      La lista di libri
    • visualizzaListaLibriPerGenere

      public java.util.List<Libro> visualizzaListaLibriPerGenere​(java.lang.String genere)
      Implementa la funzionalità che permette di visualizzare la lista completa dei libri prenotabili di un dato genere.
      Specified by:
      visualizzaListaLibriPerGenere in interface PrenotazioneLibriService
      Parameters:
      genere - Il nome del genere
      Returns:
      La lista di libri
    • richiediPrestito

      public TicketPrestito richiediPrestito​(Lettore lettore, java.lang.String idBiblioteca, int idLibro)
      Implementa la funzionalità che permette di richiedere un prestito per un libro da una biblioteca.
      Specified by:
      richiediPrestito in interface PrenotazioneLibriService
      Parameters:
      lettore - Il lettore che lo richiede
      idBiblioteca - id della biblioteca
      idLibro - id del libro
      Returns:
      Il ticket aperto in attesa di approvazione
    • getBibliotecheLibro

      public java.util.List<Biblioteca> getBibliotecheLibro​(Libro libro)
      Implementa la funzionalità che permette di ottenere la lista delle biblioteche che posseggono un dato libro.
      Specified by:
      getBibliotecheLibro in interface PrenotazioneLibriService
      Parameters:
      libro - Il libro di cui estrarre le biblioteche
      Returns:
      La lista delle biblioteche che possiedono il libro
    • getLibroByID

      public Libro getLibroByID​(int id)
      Implementa la funzionalità che permette di ottenere un libro dato il suo ID.
      Specified by:
      getLibroByID in interface PrenotazioneLibriService
      Parameters:
      id - L'ID del libro da ottenere
      Returns:
      Il libro da ottenere
    • getTicketsByBiblioteca

      public java.util.List<TicketPrestito> getTicketsByBiblioteca​(Biblioteca biblioteca)
      Implementa la funzionalità che permette di ottenere una lista di richieste per una biblioteca.
      Specified by:
      getTicketsByBiblioteca in interface PrenotazioneLibriService
      Parameters:
      biblioteca - la biblioteca di cui vedere le richieste
      Returns:
      La lista di richieste
    • getTicketByID

      public TicketPrestito getTicketByID​(int id)
      Implementa la funzionalità che permette di ottenere un ticket dato il suo ID.
      Specified by:
      getTicketByID in interface PrenotazioneLibriService
      Parameters:
      id - L'ID del ticket da recuperare
      Returns:
      Il ticket ottenuto
    • accettaRichiesta

      public TicketPrestito accettaRichiesta​(TicketPrestito ticket, int giorni)
      Implementa la funzionalità che permette di accettare la richiesta di prestito di un libro.
      Specified by:
      accettaRichiesta in interface PrenotazioneLibriService
      Parameters:
      ticket - il ticket che rappresenta la richiesta
      giorni - il tempo di concessione del libro
      Returns:
      Il ticket aggiornato
    • rifiutaRichiesta

      public TicketPrestito rifiutaRichiesta​(TicketPrestito ticket)
      Implementa la funzionalità che permette di rifiutare la richiesta di prestito di un libro.
      Specified by:
      rifiutaRichiesta in interface PrenotazioneLibriService
      Parameters:
      ticket - il ticket che rappresenta la richiesta
      Returns:
      Il ticket aggiornato
    • chiudiTicket

      public TicketPrestito chiudiTicket​(TicketPrestito ticket)
      Implementa la funzionalità che permette di chiudere un ticket di prenotazione di un libro quando questo viene riconsegnato.
      Specified by:
      chiudiTicket in interface PrenotazioneLibriService
      Parameters:
      ticket - il ticket che rappresenta la richiesta da chiudere
      Returns:
      Il ticket aggiornato a chiuso
    • getTicketsLettore

      public java.util.List<TicketPrestito> getTicketsLettore​(Lettore lettore)
      Implementa la funzionalità che permette di ottenere la lista di ticket aperti da un Lettore.
      Specified by:
      getTicketsLettore in interface PrenotazioneLibriService
      Parameters:
      lettore - il Lettore di cui recuperare i ticket
      Returns:
      la lista dei ticket
    • findByTitoloContains

      public java.util.List<ILibroIdAndName> findByTitoloContains​(java.lang.String titolo)
      Implementa la funzionalità che permette di ottenere una lista di id e titoli di libri sulla base di un titolo dato ! Controllare prima di consegnare
      Specified by:
      findByTitoloContains in interface PrenotazioneLibriService
      Parameters:
      titolo - il titolo che deve mathcare
      Returns:
      la lista di informazioni
    • inserimentoPerIsbn

      public Libro inserimentoPerIsbn​(java.lang.String isbn, java.lang.String idBiblioteca, int numCopie, java.util.List<java.lang.String> generi)
      Implementa la funzionalità che permette di creare un nuovo libro e inserirlo nella lista a partire da un isbn usando una API di google.
      Specified by:
      inserimentoPerIsbn in interface PrenotazioneLibriService
      Parameters:
      isbn - il Lettore di cui recuperare i ticket
      idBiblioteca - l'id della biblioteca che lo possiede
      numCopie - il numero di copie possedute
      generi - la lista dei generi
      Returns:
      il libro creato
    • inserimentoDalDatabase

      public Libro inserimentoDalDatabase​(int idLibro, java.lang.String idBiblioteca, int numCopie)
      Implementa la funzionalità che permette di inserire un libro già memorizzato negli archivi della piattaforma alla lista dei propri libri prenotabili.
      Specified by:
      inserimentoDalDatabase in interface PrenotazioneLibriService
      Parameters:
      idLibro - il Libro da inserire
      idBiblioteca - l'id della biblioteca che lo possiede
      numCopie - il numero di copie possedute
      Returns:
      il libro inserito
    • inserimentoManuale

      public Libro inserimentoManuale​(Libro libro, java.lang.String idBiblioteca, int numCopie, java.util.List<java.lang.String> generi)
      Implementa la funzionalità che permette di inserire un libro attraverso un form.
      Specified by:
      inserimentoManuale in interface PrenotazioneLibriService
      Parameters:
      libro - il Libro da memorizzare
      idBiblioteca - l'id della biblioteca che lo possiede
      numCopie - il numero di copie possedute
      generi - la lista dei generi del libro
      Returns:
      il libro inserito
    • getAllGeneri

      public java.util.List<Genere> getAllGeneri()
      Implementa la funzionalità che permette di recuperare la lista dei generi.
      Specified by:
      getAllGeneri in interface PrenotazioneLibriService
      Returns:
      la lista dei generi.
    • getAllBiblioteche

      public java.util.List<Biblioteca> getAllBiblioteche()
      Implementa la funzionalità che permette di recuperare la lista delle biblioteche.
      Specified by:
      getAllBiblioteche in interface PrenotazioneLibriService
      Returns:
      la lista delle biblioteche.
    • getBibliotecheByNome

      public java.util.List<Biblioteca> getBibliotecheByNome​(java.lang.String nome)
      Implementa la funzionalità che permette di recuperare la lista delle biblioteche dato un nome.
      Specified by:
      getBibliotecheByNome in interface PrenotazioneLibriService
      Parameters:
      nome - il nome della biblioteca
      Returns:
      la lista delle biblioteche.
    • getBibliotecheByCitta

      public java.util.List<Biblioteca> getBibliotecheByCitta​(java.lang.String citta)
      Implementa la funzionalità che permette di recuperare la lista delle biblioteche data una citta.
      Specified by:
      getBibliotecheByCitta in interface PrenotazioneLibriService
      Parameters:
      citta - della biblioteca
      Returns:
      la lista delle biblioteche.