java.lang.UnsupportedOperationException: Not supported yet

0

When trying to run a web application in java I get that error, what is the reason?

Servlet (Comics):

package controller;

import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Cantidadcomics;
import model.CantidadcomicsFacade;


public class Comics extends HttpServlet {

    @EJB
    private CantidadcomicsFacade cantidadcomicsFacade;


    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Comics</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet Comics at " + request.getContextPath() + "</h1>");
            out.println("</body>");
            out.println("</html>");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
       request.getRequestDispatcher("./comics.jsp").forward(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String id=request.getParameter("id");
        String nombre=request.getParameter("nombre");
        String ISBN=request.getParameter("isbn");
        String cantidad=request.getParameter("CantPaginas");
        String año=request.getParameter("AñoPublicacion");
        String autor=request.getParameter("autor");
        String categoria=request.getParameter("categoria");
        String editorial=request.getParameter("editorial");
        String $precio=request.getParameter("precio");
        int precio;
        try{

            precio=Integer.parseInt($precio);
        }catch(Exception e){
            precio=0;
        }
        if(id==null || id.isEmpty()){
            Cantidadcomics can=new Cantidadcomics(nombre, ISBN, cantidad, año, autor, categoria, editorial, precio);
            cantidadcomicsFacade.create(can);
        }
        request.getRequestDispatcher("comics.jsp").forward(request, response);


    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

Class (AmountComics):

package model;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Asus
 */
@Entity
@Table(name = "cantidadcomics")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Cantidadcomics.findAll", query = "SELECT c FROM Cantidadcomics c")
    , @NamedQuery(name = "Cantidadcomics.findByIdComics", query = "SELECT c FROM Cantidadcomics c WHERE c.idComics = :idComics")
    , @NamedQuery(name = "Cantidadcomics.findByNombreComic", query = "SELECT c FROM Cantidadcomics c WHERE c.nombreComic = :nombreComic")
    , @NamedQuery(name = "Cantidadcomics.findByIsbn", query = "SELECT c FROM Cantidadcomics c WHERE c.isbn = :isbn")
    , @NamedQuery(name = "Cantidadcomics.findByCantidadPaginas", query = "SELECT c FROM Cantidadcomics c WHERE c.cantidadPaginas = :cantidadPaginas")
    , @NamedQuery(name = "Cantidadcomics.findByAnoPublicacion", query = "SELECT c FROM Cantidadcomics c WHERE c.anoPublicacion = :anoPublicacion")
    , @NamedQuery(name = "Cantidadcomics.findByAutorComic", query = "SELECT c FROM Cantidadcomics c WHERE c.autorComic = :autorComic")
    , @NamedQuery(name = "Cantidadcomics.findByCategoriaComic", query = "SELECT c FROM Cantidadcomics c WHERE c.categoriaComic = :categoriaComic")
    , @NamedQuery(name = "Cantidadcomics.findByEditorialComic", query = "SELECT c FROM Cantidadcomics c WHERE c.editorialComic = :editorialComic")
    , @NamedQuery(name = "Cantidadcomics.findByPrecioComic", query = "SELECT c FROM Cantidadcomics c WHERE c.precioComic = :precioComic")})
public class Cantidadcomics implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id_comics")
    private Integer idComics;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 30)
    @Column(name = "nombre_comic")
    private String nombreComic;
    @Basic(optional = false)
    @NotNull
    @Column(name = "ISBN")
    private int isbn;
    @Basic(optional = false)
    @NotNull
    @Column(name = "cantidadPaginas")
    private int cantidadPaginas;
    @Basic(optional = false)
    @NotNull
    @Column(name = "anoPublicacion")
    private int anoPublicacion;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 30)
    @Column(name = "autor_comic")
    private String autorComic;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 30)
    @Column(name = "categoria_comic")
    private String categoriaComic;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 30)
    @Column(name = "editorial_comic")
    private String editorialComic;
    @Basic(optional = false)
    @NotNull
    @Column(name = "precio_comic")
    private int precioComic;

    public Cantidadcomics() {
    }

    public Cantidadcomics(Integer idComics) {
        this.idComics = idComics;
    }

    public Cantidadcomics(Integer idComics, String nombreComic, int isbn, int cantidadPaginas, int anoPublicacion, String autorComic, String categoriaComic, String editorialComic, int precioComic) {
        this.idComics = idComics;
        this.nombreComic = nombreComic;
        this.isbn = isbn;
        this.cantidadPaginas = cantidadPaginas;
        this.anoPublicacion = anoPublicacion;
        this.autorComic = autorComic;
        this.categoriaComic = categoriaComic;
        this.editorialComic = editorialComic;
        this.precioComic = precioComic;
    }

    public Cantidadcomics(String nombre, String ISBN, String cantidad, String año, String autor, String categoria, String editorial, int precio) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }


    public Integer getIdComics() {
        return idComics;
    }

    public void setIdComics(Integer idComics) {
        this.idComics = idComics;
    }

    public String getNombreComic() {
        return nombreComic;
    }

    public void setNombreComic(String nombreComic) {
        this.nombreComic = nombreComic;
    }

    public int getIsbn() {
        return isbn;
    }

    public void setIsbn(int isbn) {
        this.isbn = isbn;
    }

    public int getCantidadPaginas() {
        return cantidadPaginas;
    }

    public void setCantidadPaginas(int cantidadPaginas) {
        this.cantidadPaginas = cantidadPaginas;
    }

    public int getAnoPublicacion() {
        return anoPublicacion;
    }

    public void setAnoPublicacion(int anoPublicacion) {
        this.anoPublicacion = anoPublicacion;
    }

    public String getAutorComic() {
        return autorComic;
    }

    public void setAutorComic(String autorComic) {
        this.autorComic = autorComic;
    }

    public String getCategoriaComic() {
        return categoriaComic;
    }

    public void setCategoriaComic(String categoriaComic) {
        this.categoriaComic = categoriaComic;
    }

    public String getEditorialComic() {
        return editorialComic;
    }

    public void setEditorialComic(String editorialComic) {
        this.editorialComic = editorialComic;
    }

    public int getPrecioComic() {
        return precioComic;
    }

    public void setPrecioComic(int precioComic) {
        this.precioComic = precioComic;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idComics != null ? idComics.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Cantidadcomics)) {
            return false;
        }
        Cantidadcomics other = (Cantidadcomics) object;
        if ((this.idComics == null && other.idComics != null) || (this.idComics != null && !this.idComics.equals(other.idComics))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return this.nombreComic + ": " + this.isbn;
    }

}

HTML code (comics.jsp)

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Comics</title>
    </head>
    <body>
        <h1>Agregar Comics</h1>
        <form action="./Comics" method="POST">
            <div><input type="hidden" name="id" value=""></div>
            <div><label for="nombre">Nombre Comic:</label><input type="text" name="nombre"</div>
            <div><label for="isbn">ISBN:</label><input type="text" name="isbn"></div>
            <div><label for="CantPaginas">Cantidad de Paginas:</label><input type="text" name="CantPaginas"></div>
            <div><label for="AñoPublicacion">Año de Publicacion</label><input type="text" name="AñoPublicacion"></div>
            <div><label for="autor">Autor:</label><input type="text" name="autor"></div>
            <div><label for="categoria">Categoría:</label><select><option>Acción</option><option>Drama</option><option>Comedia</option><option>Ciencia Ficción</option><option>Terror</option><option>Romantica</option>
                </select></div>
            <div><label for="editorial">Editorial:</label><input type="text" name="editorial"></div>
            <div><label for="precio">Precio: $</label><input type="text" name="precio"></div>
            <input type="submit" value="Enviar">
        </form>
    </body>
</html>
    
asked by nicolasyo1WWE 09.07.2018 в 04:24
source

1 answer

2

Greetings,

  

What will it be?

It's because you're trying to use a constructor that throws that exception, in fact, it says it clearly:

public Cantidadcomics(String nombre, String ISBN, String cantidad, String año, String autor, String categoria, String editorial, int precio) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

And you're calling him here:

Cantidadcomics can=new Cantidadcomics(nombre, ISBN, cantidad, año, autor, categoria, editorial, precio);

What happens is that it seems that you have inserted that code using the IDE and sometimes the IDE generates exceptions like that as an example, indicating that this constructor can not be used yet because it has not been programmed (it is easy to deduce it because the comment says next to the exception).

In addition, it is sometimes necessary to use it, for example, the class java.util.Date has the method toInstant() that allows you to obtain the object Instant of that object date, however, the class java.sql.Date (which inherits of the class java.util.Date ) does not allow it and if you try to use that method toInstant() will throw the same exception. Basically the exception is due to us programmers know by way of information that that method (or constructor in your case) is not available.

The solution is quite simple, just finish programming your constructor.

    
answered by 09.07.2018 в 06:46