Properties need to be unique, even when they have the same name..

Change-Id: Ifc992458778860c6c8f574c76aad0e9f92699193
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/SettingsViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/SettingsViewMessageHandler.java
index 3ca6e88..57e380f 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/SettingsViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/SettingsViewMessageHandler.java
@@ -37,6 +37,7 @@
 
     private static final String COMPONENT = "component";
     private static final String FQ_COMPONENT = "fqComponent";
+    private static final String PROP = "prop";
     private static final String ID = "id";
     private static final String TYPE = "type";
     private static final String VALUE = "value";
@@ -46,7 +47,7 @@
     private static final char DOT = '.';
 
     private static final String[] COL_IDS = {
-            COMPONENT, FQ_COMPONENT, ID, TYPE, VALUE, DEFAULT, DESC
+            COMPONENT, FQ_COMPONENT, PROP, ID, TYPE, VALUE, DEFAULT, DESC
     };
 
     @Override
@@ -95,9 +96,12 @@
 
         private void populateRow(TableModel.Row row, String fqComp,
                                  ConfigProperty prop) {
-            row.cell(COMPONENT, simpleName(fqComp))
+            String simple = simpleName(fqComp);
+
+            row.cell(ID, simple + DELIM + prop.name())
                     .cell(FQ_COMPONENT, fqComp)
-                    .cell(ID, prop.name())
+                    .cell(COMPONENT, simple)
+                    .cell(PROP, prop.name())
                     .cell(TYPE, typeName(prop))
                     .cell(VALUE, prop.value())
                     .cell(DEFAULT, prop.defaultValue())
@@ -113,5 +117,7 @@
         private String typeName(ConfigProperty prop) {
             return prop.type().toString().toLowerCase();
         }
+
+        private static final String DELIM = "::";
     }
 }
diff --git a/web/gui/src/main/webapp/app/view/settings/settings.css b/web/gui/src/main/webapp/app/view/settings/settings.css
index 4ddf491..b6baca7 100644
--- a/web/gui/src/main/webapp/app/view/settings/settings.css
+++ b/web/gui/src/main/webapp/app/view/settings/settings.css
@@ -43,10 +43,10 @@
     cursor: pointer;
 }
 
-#settings-details-panel .top .settings-title {
+#settings-details-panel .top .settings-title-1 {
     width: 90%;
-    height: 62px;
-    font-size: 20pt;
+    height: 28px;
+    font-size: 14pt;
     font-weight: lighter;
     overflow: hidden;
     white-space: nowrap;
@@ -55,6 +55,18 @@
     margin-bottom: 5px;
 }
 
+#settings-details-panel .top .settings-title-2 {
+    width: 90%;
+    height: 52px;
+    font-size: 20pt;
+    font-weight: lighter;
+    overflow: hidden;
+    white-space: nowrap;
+    padding: 0 6px 0 2px;
+    margin-top: 5px;
+    margin-bottom: 5px;
+}
+
 #settings-details-panel td.label {
     font-weight: bold;
     text-align: right;
diff --git a/web/gui/src/main/webapp/app/view/settings/settings.html b/web/gui/src/main/webapp/app/view/settings/settings.html
index 7903977..8e23617 100644
--- a/web/gui/src/main/webapp/app/view/settings/settings.html
+++ b/web/gui/src/main/webapp/app/view/settings/settings.html
@@ -15,7 +15,7 @@
             <table>
                 <tr>
                     <td colId="component" sortable col-width="260px">Component </td>
-                    <td colId="id" sortable col-width="260px">Property </td>
+                    <td colId="prop" sortable col-width="260px">Property </td>
                     <td colId="type" sortable col-width="100px">Type </td>
                     <td colId="value" sortable col-width="100px">Value </td>
                     <td colId="desc">Description </td>
@@ -36,7 +36,7 @@
                     ng-class="{selected: prop.id === selId}"
                     ng-repeat-complete row-id="{{prop.id}}">
                     <td>{{prop.component}}</td>
-                    <td>{{prop.id}}</td>
+                    <td>{{prop.prop}}</td>
                     <td>{{prop.type}}</td>
                     <td ng-class="{notdef: prop.value !== prop.defValue}">
                         {{prop.value}}
diff --git a/web/gui/src/main/webapp/app/view/settings/settings.js b/web/gui/src/main/webapp/app/view/settings/settings.js
index 3197ff0..e5a3eba 100644
--- a/web/gui/src/main/webapp/app/view/settings/settings.js
+++ b/web/gui/src/main/webapp/app/view/settings/settings.js
@@ -36,7 +36,7 @@
     var pName = 'settings-details-panel',
         panelWidth = 540,
         topPdg = 60,
-        propOrder = ['fqComponent', 'id', 'type', 'value', 'defValue', 'desc'],
+        propOrder = ['fqComponent', 'prop', 'type', 'value', 'defValue', 'desc'],
         friendlyProps = [
             'Component', 'Property', 'Type', 'Value', 'Default Value',
             'Description'
@@ -93,7 +93,8 @@
             }
         }
 
-        ndiv('settings-title');
+        ndiv('settings-title-1');
+        ndiv('settings-title-2');
         ndiv('settings-props', true);
     }
 
@@ -111,7 +112,8 @@
     function populateTop(details) {
         var propsBody = top.select('.settings-props').append('tbody');
 
-        top.select('.settings-title').text(details.id);
+        top.select('.settings-title-1').text(details.component);
+        top.select('.settings-title-2').text(details.prop);
 
         propOrder.forEach(function (prop, i) {
             addProp(propsBody, i, details[prop]);