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]