public ArrayList<ContextItem> read(String callId) {
		if(callId == null || callId.isEmpty()){
			return null;
		}
		
		Connection conn = null;
		ArrayList<ContextItem> result = null;
		try {
			Class.forName(JDBC_DRIVER);
			conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
			System.out.println("Database connected");
			
			Statement statement = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
			String sql = "select * from " + table + " where "
					+ "callId='" + callId + "'";
			
			ResultSet rs = statement.executeQuery(sql);
			String contextXML = null;
			if(rs.next()) {
				contextXML = rs.getString("context");
			}
			
			if(contextXML != null && !contextXML.isEmpty()) {
				result =  XMLToContext(contextXML);
			}
			
			rs.close();
			statement.close();
			conn.close();
			return result;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			if(conn != null){
				try{
					conn.close();
			    } catch(SQLException se) {
			    	se.printStackTrace();
			    }
			}
		}
	}