Class Controlador

java.lang.Object
Controlador

public class Controlador extends Object
Contiene todos los métodos funcionales del programa
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) String
    Contiene el nombre del directorio donde se guardan los ficheros XML y CSV de cada página que se busque
    (package private) Document
    Sirve para contener la estructura del XML.
    private final List<Estudio>
    Contiene todos los elementos Estudio sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado.
    private final DateTimeFormatter
    Formato dia/mes/año para LocalDate.
    private final List<Genero>
    Contiene todos los elementos Género sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado.
    private final List<String>
    Contiene los enlaces de todos los estudios para evitar entrar a páginas en las que ya ha entrado.
    private final List<String>
    Contiene los enlaces de todos los géneros para evitar entrar a páginas en las que ya ha entrado.
    private final List<String>
    Contiene los enlaces de todas las series de la web.
    private final Map<String,String>
    Un identificado numérico para mes.
    (package private) int
    Si en el enlace hay más de 100 series se separa en páginas y entonces se usa esta variable.
    protected List<Serie>
    Contiene todos los elementos Serie con toda su información.
  • Constructor Summary

    Constructors
    Constructor
    Description
    El constructor del controlador en el que se llama al método map_mes.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Añade las series a la estructura del XML
    private Node
    Guarda todos los estudios en una lista de nodos dentro del nodo estudios, en el que cada uno pertenece a un nodo estudio que contiene la información del estudio.
    private Node
    Guarda todos los géneros en una lista de nodos dentro del nodo géneros, en el que cada uno pertenece a un nodo género que contiene la información del género.
    void
    afegeixNode(Node pare, Node fill)
    Añade el nodo/elemento XML a la estructura.
    void
     
    void
    Crea el document que se escribirá en el XML.
    createNode(String name, String content)
    Crea un nodo/elemento listo para ser añadido con la información recibida.
    int
    Crea la raíz del XML.
    void
    Género un CSV para cada clase que se almacena ordenados basándonos en el identificador que tienen todas las clases, que están relacionadas con la clase Serie.
    guardarEstudio(org.openqa.selenium.WebDriver driver, List<String> links)
    Guarda toda la información de los estudios antes comprobando si el estudio ya se ha guardado con anterioridad para evitar volver a entrar en la página del estudio y recoge los datos de una lista que contiene todos los estudios, si el estudio no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los estudios y la que retorna.
    guardarGeneros(org.openqa.selenium.WebDriver driver, List<String> links)
    Guarda toda la información de los géneros antes comprobando si el género ya se ha guardado con anterioridad para evitar volver a entrar en la página del género y recoge los datos de una lista que contiene todos los géneros, si el género no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los géneros y la que retorna.
    guardarLinksEstudios(org.openqa.selenium.WebElement estudio)
    Guarda el enlace de los estudios que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.
    guardarLinksGeneros(org.openqa.selenium.WebElement genero)
    Guarda el enlace de los géneros que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.
    void
    guardarLinksSeries(org.openqa.selenium.WebDriver driver)
    Guarda el enlace a cada serie de la página.
    void
    guardarSeries(org.openqa.selenium.WebDriver driver)
    Va guardando las series una por una y llama a los métodos necesarios para guardar otros datos.
    void
    Llama a los métodos necesarios para guardar toda la información en el XML.
    void
    Inicia el Gecko en la página especificada y llama a los métodos necesarios para realizar la tarea.
    void
    Asigna un numero a cada mes.
    void
    paginas(org.openqa.selenium.WebDriver driver)
    Acepta las cookies y luego en base a las series que hay en el género los divide entre 100 y redondea hacia arriba para saber cuantas páginas hay.
    int
    Guarda toda la estructura guardada en el XML con el formato correcto.
    void
    sleep(int milesegundos)
    Pone al programa en espera para dejar que los elementos de la Web carguen.

    Methods inherited from class java.lang.Object

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

    • linksSeries

      private final List<String> linksSeries
      Contiene los enlaces de todas las series de la web.
    • linksEstudios

      private final List<String> linksEstudios
      Contiene los enlaces de todos los estudios para evitar entrar a páginas en las que ya ha entrado.
    • linksGeneros

      private final List<String> linksGeneros
      Contiene los enlaces de todos los géneros para evitar entrar a páginas en las que ya ha entrado.
    • series

      protected List<Serie> series
      Contiene todos los elementos Serie con toda su información.
    • estudios

      private final List<Estudio> estudios
      Contiene todos los elementos Estudio sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado.
    • generos

      private final List<Genero> generos
      Contiene todos los elementos Género sin identificador para tener la información de cada uno guardada y evitar entrar a páginas en las que ya ha entrado.
    • map_mes

      private final Map<String,String> map_mes
      Un identificado numérico para mes.
    • formatter

      private final DateTimeFormatter formatter
      Formato dia/mes/año para LocalDate.
    • document

      Document document
      Sirve para contener la estructura del XML.
    • pages

      int pages
      Si en el enlace hay más de 100 series se separa en páginas y entonces se usa esta variable.
    • directorio

      String directorio
      Contiene el nombre del directorio donde se guardan los ficheros XML y CSV de cada página que se busque
  • Constructor Details

    • Controlador

      public Controlador()
      El constructor del controlador en el que se llama al método map_mes.
  • Method Details

    • map_mes

      public void map_mes()
      Asigna un numero a cada mes.
    • sleep

      public void sleep(int milesegundos)
      Pone al programa en espera para dejar que los elementos de la Web carguen. Se creó para ahorrar tiempo al escribir.
      Parameters:
      milesegundos - Son los milisegundos que el programa esperara.
    • iniciarGecko

      public void iniciarGecko()
      Inicia el Gecko en la página especificada y llama a los métodos necesarios para realizar la tarea.
    • crearDirectorio

      public void crearDirectorio()
    • paginas

      public void paginas(org.openqa.selenium.WebDriver driver)
      Acepta las cookies y luego en base a las series que hay en el género los divide entre 100 y redondea hacia arriba para saber cuantas páginas hay.
      Parameters:
      driver - Contiene la página principal de la que se extrae información.
    • guardarLinksSeries

      public void guardarLinksSeries(org.openqa.selenium.WebDriver driver)
      Guarda el enlace a cada serie de la página.
      Parameters:
      driver - Es el elemento que permite entrar y navegar por la web, es necesario para que el método vea los elementos que contiene él enlaces.
    • guardarSeries

      public void guardarSeries(org.openqa.selenium.WebDriver driver)
      Va guardando las series una por una y llama a los métodos necesarios para guardar otros datos.
      Parameters:
      driver - Es el elemento que permite entrar y navegar por la web, es necesario para que el método vea los elementos que contienen los enlaces.
    • guardarLinksEstudios

      public List<String> guardarLinksEstudios(org.openqa.selenium.WebElement estudio)
      Guarda el enlace de los estudios que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.
      Parameters:
      estudio - Contiene los elementos donde se encuentra los enlaces de los estudios.
      Returns:
      Devuelve la lista de enlaces de los estudios de la serie en especifica.
    • guardarLinksGeneros

      public List<String> guardarLinksGeneros(org.openqa.selenium.WebElement genero)
      Guarda el enlace de los géneros que pertenecen a la serie y al mismo tiempo guarda todos los enlaces en una array para evitar volver a entrar en páginas en las que ya haya entrado.
      Parameters:
      genero - Contiene los elementos donde se encuentra los enlaces de los géneros.
      Returns:
      Devuelve la lista de enlaces de los estudios de la serie en especifica.
    • guardarEstudio

      public List<Estudio> guardarEstudio(org.openqa.selenium.WebDriver driver, List<String> links)
      Guarda toda la información de los estudios antes comprobando si el estudio ya se ha guardado con anterioridad para evitar volver a entrar en la página del estudio y recoge los datos de una lista que contiene todos los estudios, si el estudio no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los estudios y la que retorna.
      Parameters:
      driver - Sirve para que vaya navegando entre los distintos estudios.
      links - La lista que contiene todos los enlaces de los estudios de los cuales tiene que guardar información.
      Returns:
      Devuelve una lista que contiene todos los estudios con su información correspondiente.
    • guardarGeneros

      public List<Genero> guardarGeneros(org.openqa.selenium.WebDriver driver, List<String> links)
      Guarda toda la información de los géneros antes comprobando si el género ya se ha guardado con anterioridad para evitar volver a entrar en la página del género y recoge los datos de una lista que contiene todos los géneros, si el género no ha aparecido antes entonces si entra en su página guarda su información y lo guarda en dos lista, la que contiene todos los géneros y la que retorna.
      Parameters:
      driver - Sirve para que vaya navegando entre los distintos géneros.
      links - La lista que contiene todos los enlaces de los géneros de los cuales tiene que guardar información.
      Returns:
      Devuelve una lista que contiene todos los géneros con su información correspondiente.
    • guardarCSV

      public void guardarCSV()
      Género un CSV para cada clase que se almacena ordenados basándonos en el identificador que tienen todas las clases, que están relacionadas con la clase Serie.
    • guardarXML

      public void guardarXML() throws ParserConfigurationException
      Llama a los métodos necesarios para guardar toda la información en el XML.
      Throws:
      ParserConfigurationException - Esta excepción es lanzada cuando ocurre un error durante la configuración de un parser de XML.
    • crearDocument

      public void crearDocument()
      Crea el document que se escribirá en el XML.
    • createNode

      public Node createNode(String name, String content)
      Crea un nodo/elemento listo para ser añadido con la información recibida.
      Parameters:
      name - El nombre que tendrá el elemento/nodo XML.
      content - Texto plano o información que ira dentro del elemento/nod XML.
      Returns:
      Retorna un nodo/elemento XML listo para ser añadido.
    • afegeixNode

      public void afegeixNode(Node pare, Node fill)
      Añade el nodo/elemento XML a la estructura.
      Parameters:
      pare - Elemento/nodo XML una capa superior a fill.
      fill - Elemento/nodo XML que se encuentra dentro de padre.
    • addSerieToDOM

      public int addSerieToDOM()
      Añade las series a la estructura del XML
      Returns:
      Si retorna 0 es que se ha ejecutado correctamente, en cambio, si devuelve 1 es que ha surgido un error.
    • afegeixEstudios

      private Node afegeixEstudios(List<Estudio> estudios)
      Guarda todos los estudios en una lista de nodos dentro del nodo estudios, en el que cada uno pertenece a un nodo estudio que contiene la información del estudio.
      Parameters:
      estudios - Es la lista de estudios de la serie a la que pertenece.
      Returns:
      devuelve el nodo que contiene todos los estudios de la serie a la que pertenecen.
    • afegeixGeneros

      private Node afegeixGeneros(List<Genero> generos)
      Guarda todos los géneros en una lista de nodos dentro del nodo géneros, en el que cada uno pertenece a un nodo género que contiene la información del género.
      Parameters:
      generos - Es la lista de géneros de la serie a la que pertenece.
      Returns:
      devuelve el nodo que contiene todos los géneros de la serie a la que pertenecen.
    • saveDOMAsFile

      public int saveDOMAsFile(File file)
      Guarda toda la estructura guardada en el XML con el formato correcto.
      Parameters:
      file - Fichero en el que se guarda el XML
      Returns:
      Si retorna 0 es que se ha ejecutado correctamente, en cambio, si devuelve 1 es que ha surgido un error.
    • createRootNode

      public int createRootNode()
      Crea la raíz del XML.
      Returns:
      Si retorna 0 es que se ha ejecutado correctamente, en cambio, si devuelve 1 es que ha surgido un error.