public ArrayList<Post> topTenNotificationsByEmail (String email){
		ArrayList<Post> ret = new ArrayList<Post>(10);
		
		
		/*****************************/
		/*****************************/
		/******** CACHE CHECK ********/
		/*****************************/
		/*****************************/
		CacheKey myKey = new CacheKey(email, false); //false = just get notifications
		ArrayList<Post> retPosts = cache.get(myKey);
		if(retPosts != null){
			return retPosts;
		}
		/*****************************/
		/*****************************/
		/****** END CACHE CHECK ******/
		/*****************************/
		/*****************************/
		
		ResultSet rs = null;
		try {
			String statement = "SELECT * FROM " + Constants.POSTS_TABLE + " WHERE email=? AND is_status=0 ORDER BY date_added DESC LIMIT 10;";
			PreparedStatement ps = conn.prepareStatement(statement);
			ps.setString(1, email);
			rs = ps.executeQuery();
			if(!rs.isBeforeFirst()) {
				return ret;
			}
			while (rs.next()){
				ret.add(new Post(rs.getString("email"), rs.getString("content"),
								rs.getInt("is_status"), rs.getLong("date_added")));
			}			
		}
		catch (Exception e){
			System.out.println("Error in postsDAO.java topTenNotificationsByEmail method");
			e.printStackTrace();
		}
		finally {
            try{
            	if(rs != null){
            		rs.close();
            	}
            } catch (SQLException e){
            	System.out.println("error in closing resultset (in PostsDAO.java)");
            	e.printStackTrace();
            }
        }
		
		/*****************************/
		/*****************************/
		/******** CACHE STORE ********/
		/*****************************/
		/*****************************/
		//put posts in cache. The LinkedHashMap takes care of LRU policy.
		if(ret != null){
			cache.put(myKey, ret);
		}
		/*****************************/
		/*****************************/
		/****** END CACHE STORE ******/
		/*****************************/
		/*****************************/
		
		return ret;
	}