Author: orudyy
Date: Thu Jan 16 10:34:11 2014
New Revision: 1558744

URL: http://svn.apache.org/r1558744
Log:
QPID-5413: Add UI to override JE environment and JE replication environment 
settings

Modified:
    
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/addVirtualHost.js
    
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js
    
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/add.html
    
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/show.html

Modified: 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/addVirtualHost.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/addVirtualHost.js?rev=1558744&r1=1558743&r2=1558744&view=diff
==============================================================================
--- 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/addVirtualHost.js
 (original)
+++ 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/addVirtualHost.js
 Thu Jan 16 10:34:11 2014
@@ -26,8 +26,14 @@ define(["dojo/_base/xhr",
         "dojo/parser",
         "dojo/_base/array",
         "dojo/json",
+        "dojo/query",
+        "dojo/_base/connect",
+        "dojo/_base/event",
+        "dojo/store/Memory",
+        "dojox/grid/DataGrid",
+        "dojo/data/ObjectStore",
         "dojo/domReady!"],
-    function (xhr, dom, construct, win, registry, parser, array, json) {
+    function (xhr, dom, construct, win, registry, parser, array, json, query, 
connect, event, Memory, DataGrid, ObjectStore) {
         var nodeFields = ["storePath", "groupName", "nodeName", "state", 
"role", "hostPort", "helperHostPort",
                     "coalescingSync", "designatedPrimary", "durability", 
"priority",
                     "quorumOverride"];
@@ -54,6 +60,8 @@ define(["dojo/_base/xhr",
                                 {
                                   that[nodeFields[i]] = 
registry.byId("formAddVirtualHost.specific." + nodeFields[i]);
                                 }
+
+                                that._initSettingsUI();
                      }});
             },
             save: function()
@@ -94,6 +102,47 @@ define(["dojo/_base/xhr",
                 }
 
                 node.name = this.nodeName.value;
+
+                var data = this.settingsStore.objectStore.data;
+                if (data.length > 0 )
+                {
+                  var parameters = null;
+                  var replicationParameters = null;
+
+                  for(var i=0; i<data.length; i++)
+                  {
+                    if (data[i].name && data[i].value)
+                    {
+                      if (data[i].name.indexOf("je.rep.") == 0)
+                      {
+                        if (replicationParameters == null)
+                        {
+                          replicationParameters = {};
+                        }
+                        replicationParameters[data[i].name] = data[i].value;
+                      }
+                      else
+                      {
+                        if (parameters == null)
+                        {
+                          parameters = {};
+                        }
+                        parameters[data[i].name] = data[i].value;
+                      }
+                    }
+                  }
+
+                  if (parameters)
+                  {
+                    node["parameters"] = parameters;
+                  }
+
+                  if (replicationParameters)
+                  {
+                    node["replicationParameters"] = replicationParameters;
+                  }
+                }
+
                 xhr.put({url: "rest/replicationnode/" + virtualHostNameEncoded 
+ "/" + encodeURIComponent(this.nodeName.value),
                   sync: true, handleAs: "json",
                   headers: { "Content-Type": "application/json"},
@@ -114,6 +163,83 @@ define(["dojo/_base/xhr",
               }
 
               return this.success;
+            },
+
+            _initSettingsUI: function()
+            {
+              var that = this;
+              var layout = [[
+                             {'name': 'Name', 'field': 'name', 'width': 
'200px', 'editable': true},
+                             {'name': 'Value', 'field': 'value', 'width': 
'auto', 'editable': true}
+                           ]];
+              this.idGenerator = 0;
+              this.settingsStore= new ObjectStore({objectStore: new 
Memory({data: [], idProperty: "id"})});
+              this.settings = new DataGrid({
+                id: 'formAddVirtualHost.specific.jeSettingsGrid',
+                store: this.settingsStore,
+                structure: layout,
+                rowSelector: '20px',
+                query:{ name: '*' },
+                rowsPerPage:20,
+                selectionMode: 'multiple',
+                disable: true},
+                "formAddVirtualHost.specific.jeSettings");
+
+              this.removeSettingButton = 
registry.byId("formAddVirtualHost.specific.removeSetting");
+              this.removeSettingButton.set("disabled", true);
+
+              connect.connect(this.settings.selection, 'onSelected',  
function(rowIndex){
+                var data = that.settings.selection.getSelected();
+                that.removeSettingButton.set("disabled",!data.length );
+              });
+
+              this.settings.startup();
+
+              
registry.byId("formAddVirtualHost.specific.addSetting").on("click", function(){
+                var rowIndex = that.settingsStore.objectStore.data.length;
+                var myNewItem = {id: (that.idGenerator++), name: "", value: 
""};
+                that.settingsStore.objectStore.data.push(myNewItem);
+                
that.settingsStore.objectStore.setData(that.settingsStore.objectStore.data);
+                that.settings.set("disabled", false);
+                that.removeSettingButton.set("disabled", false);
+                that.settings._refresh();
+                that.settings.focus.setFocusIndex( rowIndex, 0 );
+                that.settings.edit.setEditCell( that.settings.focus.cell, 
rowIndex );
+              });
+
+              this.removeSettingButton.on("click", function(){
+                var items = that.settings.selection.getSelected();
+                if(items.length){
+                    var data = that.settingsStore.objectStore.data;
+
+                    array.forEach(items, function(selectedItem){
+                        if(selectedItem !== null){
+                          for(var i=0; i<data.length;)
+                          {
+                            if (data[i].id==selectedItem.id)
+                            {
+                              data.splice(i, 1);
+                              break;
+                            }
+                            else
+                            {
+                              i++;
+                            }
+                          }
+                        }
+                    });
+                    that.settingsStore.objectStore.setData(data);
+                }
+
+                if (that.settingsStore.objectStore.data.length == 0)
+                {
+                  that.settings.set("disabled", true);
+                  that.removeSettingButton.set("disabled", true);
+                }
+
+                that.settings._refresh();
+                event.stop(e);
+              });
             }
         };
     });

Modified: 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js?rev=1558744&r1=1558743&r2=1558744&view=diff
==============================================================================
--- 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js
 (original)
+++ 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js
 Thu Jan 16 10:34:11 2014
@@ -88,7 +88,9 @@ define(["dojo/_base/xhr",
         this[name].innerHTML = entities.encode(String(localNode[name]));
       }
       this.parametersGrid.update(convertMap(localNode.parameters));
+      this.parametersGrid.grid._refresh();
       
this.replicationParametersGrid.update(convertMap(localNode.replicationParameters));
+      this.replicationParametersGrid.grid._refresh();
       if (nodes.length < 3)
       {
         this.designatedPrimaryContainer.style.display="block";
@@ -152,7 +154,7 @@ define(["dojo/_base/xhr",
             indirectSelection: true
           }
         },
-        EnhancedGrid, true );
+        EnhancedGrid, false );
 
     this.parametersGrid = new UpdatableStore([],
         findNode("parameters", containerNode),
@@ -168,7 +170,7 @@ define(["dojo/_base/xhr",
          { name: 'Name', field: 'name', width: '50%' },
          { name: 'Value', field: 'value', width: '50%' }
         ],
-        null, null, null, true );
+        null, null, null, false );
   }
 
   BDBHA.prototype._initFields = function(nodeFields, containerNode)

Modified: 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/add.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/add.html?rev=1558744&r1=1558743&r2=1558744&view=diff
==============================================================================
--- 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/add.html
 (original)
+++ 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/add.html
 Thu Jan 16 10:34:11 2014
@@ -88,3 +88,9 @@
         </td>
     </tr>
 </table>
+
+<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Override JE 
settings',  open: false">
+    <div id="formAddVirtualHost.specific.jeSettings" style="width: 400px; 
height: 100px"></div>
+    <div id='formAddVirtualHost.specific.addSetting' 
data-dojo-type="dijit.form.Button" data-dojo-props="title:'Add new 
setting'">Add</div>
+    <div id='formAddVirtualHost.specific.removeSetting' 
data-dojo-type="dijit.form.Button" data-dojo-props="title:'Remove the selected 
settings', disable:true">Remove</div>
+</div>
\ No newline at end of file

Modified: 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/show.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/show.html?rev=1558744&r1=1558743&r2=1558744&view=diff
==============================================================================
--- 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/show.html
 (original)
+++ 
qpid/branches/java-broker-bdb-ha/qpid/java/bdbstore/src/main/java/resources/virtualhost/bdb_ha/show.html
 Thu Jan 16 10:34:11 2014
@@ -90,10 +90,12 @@
       </div>
   </div>
   <div style="clear:both"></div>
+  <br/>
   <div style="clear:both" data-dojo-type="dijit.TitlePane" 
data-dojo-props="title: 'Parameters'">
     <div class="parameters"></div>
   </div>
   <div style="clear:both"></div>
+  <br/>
   <div style="clear:both" data-dojo-type="dijit.TitlePane" 
data-dojo-props="title: 'Replication Parameters'">
     <div class="replicationParameters"></div>
   </div>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to