@Override
	public List<Film> getFilmsOnActorId(int actorId) throws StorageException {
		ResultSet rs = null;
	    Connection conn = null;
	    PreparedStatement pstmt = null;
	    films.clear();
	    
	    try {
			conn = Database.getConnection();
			
			String query = "SELECT films.id as film_id, products.id as product_id, "
								+ "products.product_name, products.description, "
								+ "products.cost, products.rrp, films.agelimit, "
								+ "films.release, films.rating "
						 + "FROM products, films, actors, films_actors "
						 + "WHERE films.id = films_actors.films_id "
						 + "AND actors.id = films_actors.actors_id "
						 + "AND products.id = films.products_id "
						 + "AND actors.id = ?;";
		
			pstmt = conn.prepareStatement(query);
			
			pstmt.setInt(1, actorId);
			
			rs = pstmt.executeQuery();
			
			// Display all the data in the table.
			while (rs.next()) {
				Film tempFilm = new Film(rs.getInt("film_id"), rs.getInt("product_id"));
				tempFilm.setProductName(rs.getString("product_name"));
				tempFilm.setDescription(rs.getString("description"));
				tempFilm.setCost(rs.getDouble("cost"));
				tempFilm.setRrp(rs.getDouble("rrp"));
				tempFilm.setRating(rs.getInt("rating"));
				tempFilm.setAgelimit(rs.getInt("agelimit"));
				tempFilm.setReleaseYear(rs.getString("release"));
				
				films.add(tempFilm);
	        }
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			throw new StorageException(e.getMessage());
		} catch (SQLException e) {
			e.printStackTrace();
			throw new StorageException(e.getMessage());
		} finally {
			try {
				if(rs != null) {
					rs.close();
				}
				if(pstmt != null) {
					pstmt.close();
				}
				if(conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
				throw new StorageException(e.getMessage());
			}
		}
	    
	    return films;
	}