package br.edu.ifba.inf008.mediaCenter.ui;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

import br.edu.ifba.inf008.mediaCenter.session.MediaCenterApp;
import br.edu.ifba.inf008.mediaCenter.session.ServidorApp;

public class JMediaCenterFrame 
	extends JFrame implements ActionListener{
	
	private JTextField id;
	private JTextField capacidade;
	private JTextField latenciaLeitura;
	private JTextField latenciaEscrita;	
	private JButton btnOk;
	
	private ServidorApp app;
	
	public JMediaCenterFrame() throws SQLException {
		this.app = new MediaCenterApp();
		this.asmFrame();
	}
	
	private void asmFrame() {
		this.setTitle("Adicionar Servidor");
		this.setSize(400, 300);
		this.getContentPane().setLayout(new GridLayout(6,3));
		this.add(new JLabel("Id: "));
		id = new JTextField();
		this.add(id);
		this.add(new JLabel("Capacidade: "));
		capacidade = new JTextField();
		this.add(capacidade);
		this.add(new JLabel("Latencia Leitura: "));
		latenciaLeitura = new JTextField();
		this.add(latenciaLeitura);		
		this.add(new JLabel("Latencia Escrita: "));
		latenciaEscrita = new JTextField();
		this.add(latenciaEscrita);
		
		this.btnOk = new JButton("Salvar...");
		this.btnOk.addActionListener(this);
		this.add(this.btnOk);
		
	}
	
	@Override
	public void actionPerformed(ActionEvent arg0) {
		String id = this.id.getText();
		long capacidade = Long.parseLong(this.capacidade.getText());
		double latenciaLeitura = Double.parseDouble(this.latenciaLeitura.getText());
		double latenciaEscrita = Double.parseDouble(this.latenciaEscrita.getText());		

		try {
			this.app.addServidorBasico(id, capacidade, latenciaLeitura, latenciaEscrita);
			System.out.println("SERVIDOR SALVO...");
		} catch (Exception e) {
			System.out.println("SERVIDOR NÃO SALVO... ERRO:\n");
			e.printStackTrace();
		}
		
		
	}
	
	
	public static void main(String[] args) {
		(new JMediaCenterFrame()).setVisible(true);
	}


}
