package com.atrium.etiquetas;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;

import com.atrium.hibernate.Recetas;
import com.atrium.hibernate.Tareas;
import com.atrium.hibernate.Usuarios;
import com.atrium.hibernate.modelo.IGestion_Recetas;
import com.atrium.hibernate.modelo.IGestion_Usuario;
import com.atrium.spring.Acceso_ApplicationContext;

public class Recetas_Sugeridas extends SimpleTagSupport
	implements Comparator<Recetas>{
	
	private List<Recetas> lista_recetas;
	private boolean sentido;
	
	
	public void doTag() throws JspException, IOException{
		lista_recetas = (List<Recetas>)getJspContext().getAttribute(
				"lista_recetas", PageContext.SESSION_SCOPE);
					
			this.mostrar_Recetas();
		
	}
	
	private void mostrar_Recetas() throws IOException{
		// GENERACION DEL HTML PARA LA PAGINA
		StringBuffer salida = new StringBuffer();
		String nombre = "";
		// TRATO EL RESULTADO DE LA CONSULTA PARA CREAR EL HTML NECESARIO
		for (Recetas receta : lista_recetas) {
			nombre = receta.getNombre();
			// CREACION DE LOS HIPERVINCULOS DEL MENU
			salida.append("\n<tr><td><a href='jsp/inicio.jsp?tarea="
					+ receta.getVinculo() + "'>" + nombre
					+ "</a></td></tr>");
		}
		// ESCRIBO EL HTML EN LA PAGINA
		this.getJspContext().getOut().append(salida.toString());
	}

	@Override
	public int compare(Recetas recetas1, Recetas recetas2) {
		int comparacion = 0;
		if (new Boolean(isSentido())) {
			comparacion = recetas1.getNombre().compareTo(
					recetas2.getNombre());
		} else {
			comparacion = recetas2.getNombre().compareTo(
					recetas1.getNombre());
		}
		return comparacion;
	}
	// ACCESORES PARA EL ATRIBUTO DE LA PAGINA
	public boolean isSentido() {
		return sentido;
	}

	public void setSentido(boolean sentido) {
		this.sentido = sentido;
	}
}
