private void updateRow() {

		for (int i = 0; i < headerList.size() && !headerList.get(i).equals(""); i++) {
			
			if (componentList.get(i) instanceof Text) {
				row.setRowEntry(i, ((Text) componentList.get(i)).getText());

				// if update source is a table viewer
			} else if (componentList.get(i) instanceof DetailedAttributeTableViewer) {
				
				List<AttributeRow> model = ((DetailedAttributeTableViewer) componentList
						.get(i)).getModel();
				StringBuilder updatedStr = new StringBuilder();

				for (AttributeRow atts : model) {

					if (atts.getElementAt(0).equals("")) {
						continue;
					}

					updatedStr.append(atts.getElementAt(0).trim());
					updatedStr.append(" | ");
				}

				String finalStr = updatedStr.toString();
				if (finalStr.length() > 0
						&& (finalStr.substring(finalStr.length() - 3, finalStr.length()).equals(" | "))) {
					finalStr = finalStr.substring(0, finalStr.length() - 3);
				}

				row.setRowEntry(i, finalStr);
			}
		}
	}