6 Dec 2016

A website developed with JSF in OOP manner with MVC design and JDBC - Part 2

A website developed with JSF in OOP manner with MVC design and JDBC The website to be developed here will be about famous TV Series.

This second part illustrates SeriesController class which is a SessionScoped ManagedBean.

This managed bean simply creates an interface between JSF pages and Database connections (which will be created in later part)

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

@ManagedBean
@SessionScoped
public class SeriesController {

	private List<Series> series;
	private SeriesDbUtil seriesDbUtil;
	private Logger logger = Logger.getLogger(getClass().getName());
	
	public void setSeries(List<Series> series) {
		this.series = series;
	}
	public void setSeriesDbUtil(SeriesDbUtil seriesDbUtil) {
		this.seriesDbUtil = seriesDbUtil;
	}
	public List<Series> getSeries(){
		return series;
	}
	public SeriesController() throws Exception{
		
		this.series = new ArrayList<>();
		this.seriesDbUtil = SeriesDbUtil.getInstance();
	}
	public void loadSeries(){
		series.clear();
		try {
			series=seriesDbUtil.loadSeries();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public String addSerie(Series serie){
		logger.info("Adding serie: " + serie);
		try {
			serie.toString();
			seriesDbUtil.addSerie(serie);
				
		} catch (SQLException e) {
			e.printStackTrace();
		}
		logger.info("added serie: " + serie);
		return "myseries?faces-redirect=true";
		return "";
	}
	
	public Series sendGet(Series serie) {
		logger.info("getting a serie from omdb: " + serie);
		try {
			serie= serie.sendGet(serie);
			
			
		} catch (Exception e){
			e.printStackTrace();
		}finally{
			
		}
		logger.info("getted a serie from omdb: " + serie);
		return serie;
	}
}

This ManagedBean provides interface for database processes.

LoadSeries method retrieves all series from database.

AddSerie method inserts a serie into database.

And sendGet interfaces with serie class to get JSON data about a serie from https://www.omdbapi.com/ (The code for this function can be seen in part 1)


Tags:
Stats: