@Override
	public void update(Document document) {
		DefaultTableModel voModel = voValuePanel.model;
		DefaultTableModel woModel = woValuePanel.model;
		DefaultTableModel valueModel = valuePanel.model;
		NodeList node = null;
		NodeList items = null;
		Element element = null;

		voValuePanel.renderer.clear();
		node = document.getElementsByTagName("VisualObjects");
		element = (Element) node.item(0);
		items = element.getElementsByTagName("Item");
		voModel.setRowCount(items.getLength());
		for (int i = 0; i < items.getLength(); i++) {
			Element item = (Element) items.item(i);
			Vector<String> row = new Vector<String>();
			row.add(item.getAttribute("name"));
			row.add(item.getAttribute("CenterX"));
			row.add(item.getAttribute("CenterY"));
			row.add(item.getAttribute("AngleX"));
			row.add(item.getAttribute("AngleY"));
			row.add(item.getAttribute("RobotAngleX"));
			row.add(item.getAttribute("RobotAngleY"));
			row.add(item.getAttribute("Confidence"));
			row.add(item.getAttribute("Distance"));

			if (Integer.parseInt(item.getAttribute("Confidence")) == 0)
				voValuePanel.renderer.highlightRow(i);

			for (int j = 0; j < row.size(); j++) {
				voModel.setValueAt(row.get(j), i, j);
			}
		}

		woValuePanel.renderer.clear();
		node = document.getElementsByTagName("WorldObjects");
		element = (Element) node.item(0);
		items = element.getElementsByTagName("Item");
		woModel.setRowCount(items.getLength());
		for (int i = 0; i < items.getLength(); i++) {
			Element item = (Element) items.item(i);
			Vector<String> row = new Vector<String>();
			row.add(item.getAttribute("name"));
			row.add(item.getAttribute("X"));
			row.add(item.getAttribute("Y"));
			row.add(item.getAttribute("Heading"));
			row.add(item.getAttribute("Yaw"));
			row.add(item.getAttribute("Confidence"));
			row.add(item.getAttribute("Distance"));

			if (Integer.parseInt(item.getAttribute("Confidence")) == 0)
				woValuePanel.renderer.highlightRow(i);

			for (int j = 0; j < row.size(); j++) {
				woModel.setValueAt(row.get(j), i, j);
			}
		}

		node = document.getElementsByTagName("Values");
		element = (Element) node.item(0);
		items = element.getElementsByTagName("Item");
		valueModel.setRowCount(items.getLength());
		for (int i = 0; i < items.getLength(); i++) {
			Element item = (Element) items.item(i);
			Vector<String> row = new Vector<String>();
			row.add(item.getAttribute("name"));
			row.add(item.getAttribute("value"));

			for (int j = 0; j < row.size(); j++) {
				valueModel.setValueAt(row.get(j), i, j);
			}
		}

	}