You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2012/03/25 00:13:07 UTC
svn commit: r1304961 - in
/qpid/branches/java-config-and-management/qpid/java:
broker-plugins/extras/src/main/java/org/apache/qpid/extras/exchanges/example/
broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/api/
b...
Author: rgodfrey
Date: Sat Mar 24 23:13:07 2012
New Revision: 1304961
URL: http://svn.apache.org/viewvc?rev=1304961&view=rev
Log:
NO-JIRA: [Java Config] Updates to queue and vhost management
Added:
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/vhost.css
- copied, changed from r1304877, qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/queue.css
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/vhost.js
- copied, changed from r1304877, qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/vhost.html
- copied, changed from r1304877, qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html
Modified:
qpid/branches/java-config-and-management/qpid/java/broker-plugins/extras/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/api/ExchangesServlet.java
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeServlet.java
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostServlet.java
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/common.css
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js
qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/qmf/ManagementExchange.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfig.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Exchange.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/impl/ExchangeImpl.java
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/extras/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/extras/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/extras/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/extras/src/main/java/org/apache/qpid/extras/exchanges/example/TestExchange.java Sat Mar 24 23:13:07 2012
@@ -52,12 +52,12 @@ public class TestExchange implements Exc
public void addBindingListener(final BindingListener listener)
{
- //To change body of implemented methods use File | Settings | File Templates.
+
}
public void removeBindingListener(final BindingListener listener)
{
- //To change body of implemented methods use File | Settings | File Templates.
+
}
public AMQShortString getNameShortString()
@@ -107,42 +107,52 @@ public class TestExchange implements Exc
public Map<String, Object> getArguments()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public long getBindingCount()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
}
public long getBindingCountHigh()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
}
public long getMsgReceives()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
}
public long getMsgRoutes()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
+ }
+
+ public long getMsgDrops()
+ {
+ return 0;
}
public long getByteReceives()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
}
public long getByteRoutes()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
+ }
+
+ public long getByteDrops()
+ {
+ return 0;
}
public long getCreateTime()
{
- return 0; //To change body of implemented methods use File | Settings | File Templates.
+ return 0;
}
public void setAlternateExchange(Exchange exchange)
@@ -177,27 +187,23 @@ public class TestExchange implements Exc
public Collection<Binding> getBindings()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
- public void initialise(VirtualHost host, AMQShortString name, boolean durable, boolean autoDelete)
- throws AMQException
- {
- }
public VirtualHostConfig getVirtualHost()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public String getName()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public ExchangeType getType()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public boolean isAutoDelete()
@@ -227,17 +233,17 @@ public class TestExchange implements Exc
public UUID getId()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public ExchangeConfigType getConfigType()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public ConfiguredObject getParent()
{
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return null;
}
public boolean isDurable()
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/api/ExchangesServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/api/ExchangesServlet.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/api/ExchangesServlet.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/api/ExchangesServlet.java Sat Mar 24 23:13:07 2012
@@ -117,7 +117,7 @@ public class ExchangesServlet extends Ht
Map<String,Object> arguments = new HashMap<String, Object>();
for(String key : exchange.getAttributeNames())
{
- if(!key.equals(Exchange.EXCHANGE_TYPE))
+ if(!key.equals(Exchange.TYPE))
{
arguments.put(key, exchange.getAttribute(key));
}
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeServlet.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeServlet.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ExchangeServlet.java Sat Mar 24 23:13:07 2012
@@ -145,7 +145,7 @@ public class ExchangeServlet extends Abs
Map<String,Object> arguments = new HashMap<String, Object>();
for(String key : exchange.getAttributeNames())
{
- if(!key.equals(Exchange.EXCHANGE_TYPE))
+ if(!key.equals(Exchange.TYPE))
{
arguments.put(key, exchange.getAttribute(key));
}
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostServlet.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostServlet.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/VirtualHostServlet.java Sat Mar 24 23:13:07 2012
@@ -27,18 +27,27 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.Connection;
+import org.apache.qpid.server.model.Consumer;
+import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.LifetimePolicy;
+import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
import org.apache.qpid.server.model.VirtualHost;
import org.codehaus.jackson.map.ObjectMapper;
+import org.codehaus.jackson.map.SerializationConfig;
public class VirtualHostServlet extends AbstractServlet
{
@@ -58,6 +67,11 @@ public class VirtualHostServlet extends
response.setContentType("application/json");
response.setStatus(HttpServletResponse.SC_OK);
+ response.setHeader("Cache-Control","no-cache");
+ response.setHeader("Pragma","no-cache");
+ response.setDateHeader ("Expires", 0);
+
+
Collection<VirtualHost> vhosts = _broker.getVirtualHosts();
String[] sortKeys = request.getParameterValues("sort");
@@ -74,6 +88,8 @@ public class VirtualHostServlet extends
final PrintWriter writer = response.getWriter();
ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
+
List<Map> vhostList = new ArrayList<Map>();
if(request.getPathInfo() == null || request.getPathInfo().length()==0)
@@ -81,7 +97,7 @@ public class VirtualHostServlet extends
for(VirtualHost vhost : vhosts)
{
- Map<String, Object> data = convertObject(vhost);
+ Map<String, Object> data = convertToObject(vhost);
vhostList.add(data);
@@ -95,7 +111,7 @@ public class VirtualHostServlet extends
{
if(vhostName.equals(vhost.getName()))
{
- Map<String, Object> data = convertObject(vhost);
+ Map<String, Object> data = convertToObject(vhost);
vhostList.add(data);
break;
@@ -110,22 +126,81 @@ public class VirtualHostServlet extends
mapper.writeValue(writer, vhostList);
}
- private Map<String, Object> convertObject(VirtualHost vhost)
+ private Map<String,Object> convertToObject(final VirtualHost virtualHost)
+ {
+ Map<String, Object> object = convertObjectToMap(virtualHost);
+
+
+ List<Map<String,Object>> queues = new ArrayList<Map<String, Object>>();
+
+ for(Queue queue : virtualHost.getQueues())
+ {
+ queues.add(convertObjectToMap(queue));
+ }
+
+ if(!queues.isEmpty())
+ {
+ object.put("queues", queues);
+ }
+
+ List<Map<String,Object>> exchanges = new ArrayList<Map<String, Object>>();
+
+ for(Exchange exchange : virtualHost.getExchanges())
+ {
+ exchanges.add(convertObjectToMap(exchange));
+ }
+
+ if(!exchanges.isEmpty())
+ {
+ object.put("exchanges", exchanges);
+ }
+
+
+
+ List<Map<String,Object>> connections = new ArrayList<Map<String, Object>>();
+
+ for(Connection connection : virtualHost.getConnections())
+ {
+ connections.add(convertObjectToMap(connection));
+ }
+
+ if(!connections.isEmpty())
+ {
+ object.put("connections", connections);
+ }
+
+ return object;
+ }
+
+ private Map<String, Object> convertObjectToMap(final ConfiguredObject confObject)
{
- Map<String, Object> data = new HashMap<String, Object>();
- data.put("id", vhost.getId());
- data.put("name", vhost.getName());
- data.put("connection-count", vhost.getConnections().size());
- data.put("exchange-count", vhost.getExchanges().size());
- data.put("queue-count", vhost.getQueues().size());
- Statistics stats = vhost.getStatistics();
-
- data.put("bytes-out-total", stats.getStatistic("bytes-out-total"));
- data.put("bytes-in-total", stats.getStatistic("bytes-in-total"));
- data.put("msgs-out-total", stats.getStatistic("msgs-out-total"));
- data.put("msgs-in-total", stats.getStatistic("msgs-in-total"));
+ Map<String, Object> object = new LinkedHashMap<String, Object>();
+
+ for(String name : confObject.getAttributeNames())
+ {
+ Object value = confObject.getAttribute(name);
+ if(value != null)
+ {
+ object.put(name, value);
+ }
+ }
- return data;
+ Statistics statistics = confObject.getStatistics();
+ Map<String, Object> statMap = new HashMap<String, Object>();
+ for(String name : statistics.getStatisticNames())
+ {
+ Object value = statistics.getStatistic(name);
+ if(value != null)
+ {
+ statMap.put(name, value);
+ }
+ }
+
+ if(!statMap.isEmpty())
+ {
+ object.put("statistics", statMap);
+ }
+ return object;
}
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/common.css
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/common.css?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/common.css (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/common.css Sat Mar 24 23:13:07 2012
@@ -13,7 +13,8 @@ html, body {
background: white;
color: #333;
}
-#queueLayout {
+
+#pageLayout {
height: 100%;
}
button {
Copied: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/vhost.css (from r1304877, qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/queue.css)
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/vhost.css?p2=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/vhost.css&p1=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/queue.css&r1=1304877&r2=1304961&rev=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/queue.css (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/css/vhost.css Sat Mar 24 23:13:07 2012
@@ -1,10 +1,16 @@
-#bindings {
+#queues {
width: 100%;
height: 100px;
}
-#consumers {
+#exhanges {
+ width: 100%;
+ height: 100px;
+}
+
+
+#connections {
width: 100%;
height: 100px;
}
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js Sat Mar 24 23:13:07 2012
@@ -196,9 +196,13 @@ require(["dojo/store/JsonRest",
this.unacknowledgedBytes = dom.byId("unacknowledgedBytes");
this.unacknowledgedBytesUnits = dom.byId("unacknowledgedBytesUnits");
+ urlQuery = dojo.queryToObject(dojo.doc.location.search.substr((dojo.doc.location.search[0] === "?" ? 1 : 0)));
+ this.query = "/rest/queue/"+ urlQuery.vhost + "/" + urlQuery.queue;
+
+
var thisObj = this;
- xhr.get({url: "/rest/queue/test/queue", handleAs: "json"}).then(function(data)
+ xhr.get({url: this.query, handleAs: "json"}).then(function(data)
{
thisObj.queueData = data[0];
var stats = thisObj.queueData[ "statistics" ];
@@ -255,7 +259,7 @@ require(["dojo/store/JsonRest",
var thisObj = this;
- xhr.get({url: "/rest/queue/test/queue", handleAs: "json"}).then(function(data)
+ xhr.get({url: this.query, handleAs: "json"}).then(function(data)
{
thisObj.queueData = data[0];
var stats = thisObj.queueData[ "statistics" ];
Copied: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/vhost.js (from r1304877, qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js)
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/vhost.js?p2=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/vhost.js&p1=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js&r1=1304877&r2=1304961&rev=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/queue.js (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/js/vhost.js Sat Mar 24 23:13:07 2012
@@ -182,41 +182,86 @@ require(["dojo/store/JsonRest",
}
+ function flattenStatistics(data)
+ {
+ var stats = data[ "statistics" ];
+
+ // flatten statistics into attributes
+ for(var propName in stats)
+ {
+ data[ propName ] = stats[ propName ];
+ }
+
+ }
+
- function QueueUpdater()
+ function Updater()
{
this.name = dom.byId("name");
this.state = dom.byId("state");
this.durable = dom.byId("durable");
this.lifetimePolicy = dom.byId("lifetimePolicy");
- this.queueDepthMessages = dom.byId("queueDepthMessages");
- this.queueDepthBytes = dom.byId("queueDepthBytes");
- this.queueDepthBytesUnits = dom.byId("queueDepthBytesUnits");
- this.unacknowledgedMessages = dom.byId("unacknowledgedMessages");
- this.unacknowledgedBytes = dom.byId("unacknowledgedBytes");
- this.unacknowledgedBytesUnits = dom.byId("unacknowledgedBytesUnits");
+
+ urlQuery = dojo.queryToObject(dojo.doc.location.search.substr((dojo.doc.location.search[0] === "?" ? 1 : 0)));
+ this.query = "/rest/virtualhost/"+ urlQuery.vhost ;
+
var thisObj = this;
- xhr.get({url: "/rest/queue/test/queue", handleAs: "json"}).then(function(data)
+ xhr.get({url: this.query, handleAs: "json"}).then(function(data)
{
- thisObj.queueData = data[0];
- var stats = thisObj.queueData[ "statistics" ];
+ thisObj.vhostData = data[0];
+ var stats = thisObj.vhostData[ "statistics" ];
// flatten statistics into attributes
- for(var propName in stats)
+ flattenStatistics( thisObj.vhostData );
+ if(thisObj.vhostData.queues)
{
- thisObj.queueData[ propName ] = stats[ propName ];
+ for(var i = 0; i < thisObj.vhostData.queues.length; i++)
+ {
+ flattenStatistics( thisObj.vhostData.queues[i]);
+ }
+ }
+ if(thisObj.vhostData.exchanges)
+ {
+ for(var i = 0; i < thisObj.vhostData.exchanges.length; i++)
+ {
+ flattenStatistics( thisObj.vhostData.exchanges[i]);
+ }
}
thisObj.updateHeader();
- thisObj.bindingsGrid = new UpdatableStore(thisObj.queueData.bindings, "bindings",
- [ { name: "Exchange", field: "exchange", width: "90px"},
- { name: "Binding Key", field: "name", width: "120px"},
+ thisObj.queuesGrid = new UpdatableStore(thisObj.vhostData.queues, "queues",
+ [ { name: "Name", field: "name", width: "90px"},
+ { name: "Messages", field: "queueDepthMessages", width: "90px"},
{ name: "Arguments", field: "arguments", width: "200px"}
+ ],
+ function(obj)
+ {
+ dojo.connect(obj.grid, "onRowDblClick", obj.grid,
+ function(evt){
+ var idx = evt.rowIndex,
+ item = this.getItem(idx);
+
+ url = "/queue?vhost="
+ + thisObj.vhostData.name + "&queue=" +
+ obj.dataStore.getValue(item,"name");
+
+ window.location = url;
+
+ });
+ } );
+
+ thisObj.exchangesGrid = new UpdatableStore(thisObj.vhostData.exchanges, "exchanges",
+ [ { name: "Name", field: "name", width: "120px"},
+ { name: "Type", field: "type", width: "120px"},
+ { name: "Binding Count", field: "bindingCount",
+ width: "90px"}
]);
- thisObj.consumersGrid = new UpdatableStore(thisObj.queueData.consumers, "consumers",
+
+ thisObj.connectionsGrid = new UpdatableStore(thisObj.vhostData.connections,
+ "connections",
[ { name: "Name", field: "name", width: "70px"},
{ name: "Mode", field: "distributionMode", width: "70px"},
{ name: "Msgs Rate", field: "msgRate",
@@ -231,51 +276,35 @@ require(["dojo/store/JsonRest",
}
- QueueUpdater.prototype.updateHeader = function()
+ Updater.prototype.updateHeader = function()
{
- this.name.innerHTML = this.queueData[ "name" ];
- this.state.innerHTML = this.queueData[ "state" ];
- this.durable.innerHTML = this.queueData[ "durable" ];
- this.lifetimePolicy.innerHTML = this.queueData[ "lifetimePolicy" ];
-
- this.queueDepthMessages.innerHTML = this.queueData["queueDepthMessages"];
- bytesDepth = new formatBytes( this.queueData["queueDepthBytes"] );
- this.queueDepthBytes.innerHTML = "(" + bytesDepth.value;
- this.queueDepthBytesUnits.innerHTML = bytesDepth.units + ")"
-
- this.unacknowledgedMessages.innerHTML = this.queueData["unacknowledgedMessages"];
- bytesDepth = new formatBytes( this.queueData["unacknowledgedBytes"] );
- this.unacknowledgedBytes.innerHTML = "(" + bytesDepth.value;
- this.unacknowledgedBytesUnits.innerHTML = bytesDepth.units + ")"
+ this.name.innerHTML = this.vhostData[ "name" ];
+ this.state.innerHTML = this.vhostData[ "state" ];
+ this.durable.innerHTML = this.vhostData[ "durable" ];
+ this.lifetimePolicy.innerHTML = this.vhostData[ "lifetimePolicy" ];
+
}
- QueueUpdater.prototype.update = function()
+ Updater.prototype.update = function()
{
var thisObj = this;
- xhr.get({url: "/rest/queue/test/queue", handleAs: "json"}).then(function(data)
+ xhr.get({url: this.query, handleAs: "json"}).then(function(data)
{
- thisObj.queueData = data[0];
- var stats = thisObj.queueData[ "statistics" ];
+ thisObj.vhostData = data[0];
+ var stats = thisObj.vhostData[ "statistics" ];
// flatten statistics into attributes
for(var propName in stats)
{
- thisObj.queueData[ propName ] = stats[ propName ];
+ thisObj.vhostData[ propName ] = stats[ propName ];
}
- var bindings = thisObj.queueData[ "bindings" ];
- for(var i=0; i < bindings.length; i++)
- {
- bindings[i].arguments = dojo.toJson(bindings[i].arguments);
- bindings[i].argumentString = dojo.toJson(bindings[i].arguments);
-
- }
- var consumers = thisObj.queueData[ "consumers" ];
+ var consumers = thisObj.vhostData[ "consumers" ];
if(consumers)
{
for(var i=0; i < consumers.length; i++)
@@ -293,36 +322,36 @@ require(["dojo/store/JsonRest",
// update alerting info
- alertRepeatGap = new formatTime( thisObj.queueData["alertRepeatGap"] );
+ alertRepeatGap = new formatTime( thisObj.vhostData["alertRepeatGap"] );
dom.byId("alertRepeatGap").innerHTML = alertRepeatGap.value;
dom.byId("alertRepeatGapUnits").innerHTML = alertRepeatGap.units;
- alertMsgAge = new formatTime( thisObj.queueData["alertThresholdMessageAge"] );
+ alertMsgAge = new formatTime( thisObj.vhostData["alertThresholdMessageAge"] );
dom.byId("alertThresholdMessageAge").innerHTML = alertMsgAge.value;
dom.byId("alertThresholdMessageAgeUnits").innerHTML = alertMsgAge.units;
- alertMsgSize = new formatBytes( thisObj.queueData["alertThresholdMessageSize"] );
+ alertMsgSize = new formatBytes( thisObj.vhostData["alertThresholdMessageSize"] );
dom.byId("alertThresholdMessageSize").innerHTML = alertMsgSize.value;
dom.byId("alertThresholdMessageSizeUnits").innerHTML = alertMsgSize.units;
- alertQueueDepth = new formatBytes( thisObj.queueData["alertThresholdQueueDepthBytes"] );
+ alertQueueDepth = new formatBytes( thisObj.vhostData["alertThresholdQueueDepthBytes"] );
dom.byId("alertThresholdQueueDepthBytes").innerHTML = alertQueueDepth.value;
dom.byId("alertThresholdQueueDepthBytesUnits").innerHTML = alertQueueDepth.units;
- dom.byId("alertThresholdQueueDepthMessages").innerHTML = thisObj.queueData["alertThresholdQueueDepthMessages"];
+ dom.byId("alertThresholdQueueDepthMessages").innerHTML = thisObj.vhostData["alertThresholdQueueDepthMessages"];
- stats = thisObj.queueData[ "statistics" ];
+ stats = thisObj.vhostData[ "statistics" ];
var sampleTime = new Date();
- var messageIn = stats["totalEnqueuedMessages"];
- var bytesIn = stats["totalEnqueuedBytes"];
- var messageOut = stats["totalDequeuedMessages"];
- var bytesOut = stats["totalDequeuedBytes"];
+ var messageIn = stats["messagesIn"];
+ var bytesIn = stats["bytesIn"];
+ var messageOut = stats["messagesOut"];
+ var bytesOut = stats["bytesOut"];
if(thisObj.sampleTime)
{
@@ -376,23 +405,25 @@ require(["dojo/store/JsonRest",
thisObj.bytesIn = bytesIn;
thisObj.messageOut = messageOut;
thisObj.bytesOut = bytesOut;
- thisObj.consumers = consumers;
- // update bindings
- thisObj.bindingsGrid.update(thisObj.queueData.bindings)
+ // update queues
+ thisObj.queuesGrid.update(thisObj.vhostData.queues)
+
+ // update exchanges
+ thisObj.exchangesGrid.update(thisObj.vhostData.exchanges)
- // update consumers
- thisObj.consumersGrid.update(thisObj.queueData.consumers)
+ // update connections
+ thisObj.connectionsGrid.update(thisObj.vhostData.connections)
});
};
- queueUpdater = new QueueUpdater();
+ updater = new Updater();
- updateList.push( queueUpdater );
+ updateList.push( updater );
- queueUpdater.update();
+ updater.update();
setInterval(function(){
for(var i = 0; i < updateList.length; i++)
Modified: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html Sat Mar 24 23:13:07 2012
@@ -34,7 +34,7 @@
<body class="claro">
- <div id="queueLayout" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design: 'headline'">
+ <div id="pageLayout" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design: 'headline'">
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'top'">Top pane</div>
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'leading'">Leading pane</div>
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'">
Copied: qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/vhost.html (from r1304877, qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html)
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/vhost.html?p2=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/vhost.html&p1=qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html&r1=1304877&r2=1304961&rev=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/queue.html (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker-plugins/management/src/main/java/resources/vhost.html Sat Mar 24 23:13:07 2012
@@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <title>Queue</title>
+ <title>Virtual Host</title>
<!--<link rel="stylesheet" href="/dojo/1.7.2/dojo/resources/dojo.css">
<link rel="stylesheet" href="/dojo/1.7.2/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="/dojo/1.7.2/dojox/grid/resources/claroGrid.css">-->
@@ -10,7 +10,7 @@
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojox/grid/resources/claroGrid.css">
- <link rel="stylesheet" href="../css/queue.css" media="screen">
+ <link rel="stylesheet" href="../css/vhost.css" media="screen">
<link rel="stylesheet" href="css/common.css" media="screen">
@@ -28,29 +28,19 @@
"dijit/TitlePane", "dojo/parser"]);
</script>
- <script src="/js/queue.js">
+ <script src="/js/vhost.js">
</script>
</head>
<body class="claro">
- <div id="queueLayout" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design: 'headline'">
+ <div id="pageLayout" data-dojo-type="dijit.layout.BorderContainer" data-dojo-props="design: 'headline'">
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'top'">Top pane</div>
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'leading'">Leading pane</div>
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'center'">
- <span style="">Queue:</span><span id="name" style="position:absolute; left:6em"></span>
- <span style="position:absolute; left:26em">Size:</span>
- <span id="queueDepthMessages" style="position:absolute; right:9.5em"></span>
- <span style="position:absolute; right: 5em; width: 4em"> msgs</span>
- <span id="queueDepthBytes" style="position:absolute; right: 3.3em">(</span>
- <span id="queueDepthBytesUnits" style="position:absolute; right: 0em; width: 3em">)</span>
+ <span style="">Name:</span><span id="name" style="position:absolute; left:6em"></span>
<br/>
<span style="">State:</span><span id="state" style="position:absolute; left:6em"></span>
- <span style="position:absolute; left:26em">Pre-fetched:</span>
- <span id="unacknowledgedMessages" style="position:absolute; right:9.5em"></span>
- <span style="position:absolute; right: 5em; width: 4em"> msgs</span>
- <span id="unacknowledgedBytes" style="position:absolute; right: 3.3em"></span>
- <span id="unacknowledgedBytesUnits" style="position:absolute; right: 0em; width: 3em"></span>
<br/>
<span style="">Durable:</span><span id="durable" style="position:absolute; left:6em"></span>
<span style="position:absolute; left:26em">Inbound:</span>
@@ -67,12 +57,16 @@
<span id="bytesOutRateUnits" style="position:absolute; right: 0em; width: 3em"></span>
<br/>
<br/>
- <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Bindings'">
- <div id="bindings"></div>
+ <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Exchanges'">
+ <div id="exchanges"></div>
</div>
<br/>
- <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Consumers'">
- <div id="consumers"></div>
+ <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Queues'">
+ <div id="queues"></div>
+ </div>
+ <br/>
+ <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Connections'">
+ <div id="connections"></div>
</div>
<br/>
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Alerting Thresholds'">
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/qmf/ManagementExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/qmf/ManagementExchange.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/qmf/ManagementExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/qmf/ManagementExchange.java Sat Mar 24 23:13:07 2012
@@ -537,6 +537,11 @@ public class ManagementExchange implemen
return getMsgReceives();
}
+ public long getMsgDrops()
+ {
+ return 0l;
+ }
+
public long getByteReceives()
{
return _bytesReceived.get();
@@ -547,6 +552,11 @@ public class ManagementExchange implemen
return getByteReceives();
}
+ public long getByteDrops()
+ {
+ return 0l;
+ }
+
public long getCreateTime()
{
return _createTime;
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfig.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfig.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfig.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ExchangeConfig.java Sat Mar 24 23:13:07 2012
@@ -49,7 +49,12 @@ public interface ExchangeConfig extends
long getMsgRoutes();
+ long getMsgDrops();
+
long getByteReceives();
long getByteRoutes();
+
+ long getByteDrops();
+
}
\ No newline at end of file
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Sat Mar 24 23:13:07 2012
@@ -89,6 +89,8 @@ public abstract class AbstractExchange i
private final AtomicLong _receivedMessageSize = new AtomicLong();
private final AtomicLong _routedMessageCount = new AtomicLong();
private final AtomicLong _routedMessageSize = new AtomicLong();
+ private final AtomicLong _droppedMessageCount = new AtomicLong();
+ private final AtomicLong _droppedMessageSize = new AtomicLong();
private final CopyOnWriteArrayList<Exchange.BindingListener> _listeners = new CopyOnWriteArrayList<Exchange.BindingListener>();
@@ -361,6 +363,11 @@ public abstract class AbstractExchange i
_routedMessageCount.incrementAndGet();
_routedMessageSize.addAndGet(message.getSize());
}
+ else
+ {
+ _droppedMessageCount.incrementAndGet();
+ _droppedMessageSize.addAndGet(message.getSize());
+ }
return queues;
}
@@ -376,6 +383,11 @@ public abstract class AbstractExchange i
return _routedMessageCount.get();
}
+ public long getMsgDrops()
+ {
+ return _droppedMessageCount.get();
+ }
+
public long getByteReceives()
{
return _receivedMessageSize.get();
@@ -386,6 +398,11 @@ public abstract class AbstractExchange i
return _routedMessageSize.get();
}
+ public long getByteDrops()
+ {
+ return _droppedMessageSize.get();
+ }
+
public long getCreateTime()
{
return _createTime;
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Exchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Exchange.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Exchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Exchange.java Sat Mar 24 23:13:07 2012
@@ -20,14 +20,57 @@
*/
package org.apache.qpid.server.model;
+import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.Map;
public interface Exchange extends ConfiguredObject
{
-
- //atribute names
- String EXCHANGE_TYPE = "exchangeType";
+ String BINDING_COUNT = "bindingCount";
+ String BYTES_DROPPED = "bytesDropped";
+ String BYTES_IN = "bytesIn";
+ String MESSAGES_DROPPED = "messagesDropped";
+ String MESSAGES_IN = "messagesIn";
+ String PRODUCER_COUNT = "producerCount";
+ String STATE_CHANGED = "stateChanged";
+
+ public static final Collection<String> AVAILABLE_STATISTICS =
+ Collections.unmodifiableList(
+ Arrays.asList(BINDING_COUNT,
+ BYTES_DROPPED,
+ BYTES_IN,
+ MESSAGES_DROPPED,
+ MESSAGES_IN,
+ PRODUCER_COUNT,
+ STATE_CHANGED));
+
+ String CREATED = "created";
+ String DURABLE = "durable";
+ String ID = "id";
+ String LIFETIME_POLICY = "lifetimePolicy";
+ String NAME = "name";
+ String STATE = "state";
+ String TIME_TO_LIVE = "timeToLive";
+ String UPDATED = "updated";
+ String ALTERNATE_EXCHANGE = "alternateExchange";
+ String TYPE = "type";
+
+ // Attributes
+ public static final Collection<String> AVAILABLE_ATTRIBUTES =
+ Collections.unmodifiableList(
+ Arrays.asList(
+ ID,
+ NAME,
+ STATE,
+ DURABLE,
+ LIFETIME_POLICY,
+ TIME_TO_LIVE,
+ CREATED,
+ UPDATED,
+ ALTERNATE_EXCHANGE,
+ TYPE
+ ));
String getExchangeType();
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java Sat Mar 24 23:13:07 2012
@@ -50,7 +50,64 @@ public interface VirtualHost extends Con
LOCAL_TRANSACTION_ROLLBACKS, MESSAGES_IN, MESSAGES_OUT, MESSAGES_RETAINED, STATE_CHANGED,
XA_TRANSACTION_BRANCH_ENDS, XA_TRANSACTION_BRANCH_STARTS, XA_TRANSACTION_BRANCH_SUSPENDS));
+ String ALERT_REPEAT_GAP = "alertRepeatGap";
+ String ALERT_THRESHOLD_MESSAGE_AGE = "alertThresholdMessageAge";
+ String ALERT_THRESHOLD_MESSAGE_SIZE = "alertThresholdMessageSize";
+ String ALERT_THRESHOLD_QUEUE_DEPTH_BYTES = "alertThresholdQueueDepthBytes";
+ String ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES = "alertThresholdQueueDepthMessages";
+ String DEAD_LETTER_QUEUE_ENABLED = "deadLetterQueueEnabled";
+ String FEDERATION_TAG = "federationTag";
+ String HOUSEKEEPING_CHECK_PERIOD = "housekeepingCheckPeriod";
+ String MAXIMUM_DELIVERY_ATTEMPTS = "maximumDeliveryAttempts";
+ String QUEUE_FLOW_CONTROL_SIZE_BYTES = "queueFlowControlSizeBytes";
+ String QUEUE_FLOW_RESUME_SIZE_BYTES = "queueFlowResumeSizeBytes";
+ String STORE_CONFIGURATION = "storeConfiguration";
+ String STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE = "storeTransactionIdleTimeoutClose";
+ String STORE_TRANSACTION_IDLE_TIMEOUT_WARN = "storeTransactionIdleTimeoutWarn";
+ String STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE = "storeTransactionOpenTimeoutClose";
+ String STORE_TRANSACTION_OPEN_TIMEOUT_WARN = "storeTransactionOpenTimeoutWarn";
+ String STORE_TYPE = "storeType";
+ String SUPPORTED_EXCHANGE_TYPES = "supportedExchangeTypes";
+ String SUPPORTED_QUEUE_TYPES = "supportedQueueTypes";
+ String CREATED = "created";
+ String DURABLE = "durable";
+ String ID = "id";
+ String LIFETIME_POLICY = "lifetimePolicy";
+ String NAME = "name";
+ String STATE = "state";
+ String TIME_TO_LIVE = "timeToLive";
+ String UPDATED = "updated";
// Attributes
+ public static final Collection<String> AVAILABLE_ATTRIBUTES =
+ Collections.unmodifiableList(
+ Arrays.asList(
+ ID,
+ NAME,
+ STATE,
+ DURABLE,
+ LIFETIME_POLICY,
+ TIME_TO_LIVE,
+ CREATED,
+ UPDATED,
+ SUPPORTED_EXCHANGE_TYPES,
+ SUPPORTED_QUEUE_TYPES,
+ DEAD_LETTER_QUEUE_ENABLED,
+ FEDERATION_TAG,
+ HOUSEKEEPING_CHECK_PERIOD,
+ MAXIMUM_DELIVERY_ATTEMPTS,
+ QUEUE_FLOW_CONTROL_SIZE_BYTES,
+ QUEUE_FLOW_RESUME_SIZE_BYTES,
+ STORE_TYPE,
+ STORE_CONFIGURATION,
+ STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE,
+ STORE_TRANSACTION_IDLE_TIMEOUT_WARN,
+ STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE,
+ STORE_TRANSACTION_OPEN_TIMEOUT_WARN,
+ ALERT_REPEAT_GAP,
+ ALERT_THRESHOLD_MESSAGE_AGE,
+ ALERT_THRESHOLD_MESSAGE_SIZE,
+ ALERT_THRESHOLD_QUEUE_DEPTH_BYTES,
+ ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES));
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java Sat Mar 24 23:13:07 2012
@@ -48,12 +48,14 @@ final class ExchangeAdapter extends Abst
private final Map<Binding, BindingAdapter> _bindingAdapters =
new HashMap<Binding, BindingAdapter>();
private VirtualHostAdapter _vhost;
+ private final ExchangeStatistics _statistics;
public ExchangeAdapter(final VirtualHostAdapter virtualHostAdapter,
final org.apache.qpid.server.exchange.Exchange exchange)
{
super(virtualHostAdapter.getName(), exchange.getName());
+ _statistics = new ExchangeStatistics();
_vhost = virtualHostAdapter;
_exchange = exchange;
addParent(org.apache.qpid.server.model.VirtualHost.class, virtualHostAdapter);
@@ -205,7 +207,7 @@ final class ExchangeAdapter extends Abst
public Statistics getStatistics()
{
- return NoStatistics.getInstance();
+ return _statistics;
}
public void bindingAdded(org.apache.qpid.server.exchange.Exchange exchange, Binding binding)
@@ -245,4 +247,105 @@ final class ExchangeAdapter extends Abst
{
return _exchange;
}
+
+ @Override
+ public Object getAttribute(String name)
+ {
+ if(ID.equals(name))
+ {
+ return getId();
+ }
+ else if(NAME.equals(name))
+ {
+ return getName();
+ }
+ else if(STATE.equals(name))
+ {
+ return State.ACTIVE;
+ }
+ else if(DURABLE.equals(name))
+ {
+ return isDurable();
+ }
+ else if(LIFETIME_POLICY.equals(name))
+ {
+ return LifetimePolicy.PERMANENT;
+ }
+ else if(TIME_TO_LIVE.equals(name))
+ {
+
+ }
+ else if(CREATED.equals(name))
+ {
+
+ }
+ else if(UPDATED.equals(name))
+ {
+
+ }
+ else if(ALTERNATE_EXCHANGE.equals(name))
+ {
+ return _exchange.getAlternateExchange();
+ }
+ else if(TYPE.equals(name))
+ {
+ return _exchange.getType().getName().asString();
+ }
+ return super.getAttribute(name);
+ }
+
+ @Override
+ public Object setAttribute(String name, Object expected, Object desired)
+ throws IllegalStateException, AccessControlException, IllegalArgumentException
+ {
+ return super.setAttribute(name, expected, desired); //TODO - Implement
+ }
+
+ @Override
+ public Collection<String> getAttributeNames()
+ {
+ return AVAILABLE_ATTRIBUTES;
+ }
+
+ private class ExchangeStatistics implements Statistics
+ {
+
+ public Collection<String> getStatisticNames()
+ {
+ return AVAILABLE_STATISTICS;
+ }
+
+ public Object getStatistic(String name)
+ {
+ if(BINDING_COUNT.equals(name))
+ {
+ return _exchange.getBindingCount();
+ }
+ else if(BYTES_DROPPED.equals(name))
+ {
+ return _exchange.getByteDrops();
+ }
+ else if(BYTES_IN.equals(name))
+ {
+ return _exchange.getByteReceives();
+ }
+ else if(MESSAGES_DROPPED.equals(name))
+ {
+ return _exchange.getMsgDrops();
+ }
+ else if(MESSAGES_IN.equals(name))
+ {
+ return _exchange.getMsgReceives();
+ }
+ else if(PRODUCER_COUNT.equals(name))
+ {
+
+ }
+ else if(STATE_CHANGED.equals(name))
+ {
+
+ }
+ return null; // TODO - Implement
+ }
+ }
}
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java Sat Mar 24 23:13:07 2012
@@ -71,6 +71,7 @@ final class VirtualHostAdapter extends A
private final Map<org.apache.qpid.server.exchange.Exchange, ExchangeAdapter> _exchangeAdapters =
new HashMap<org.apache.qpid.server.exchange.Exchange, ExchangeAdapter>();
+
private final StatisticsAdapter _statistics;
@@ -548,4 +549,136 @@ final class VirtualHostAdapter extends A
{
return _virtualHost;
}
+
+ @Override
+ public Object getAttribute(String name)
+ {
+ if(ID.equals(name))
+ {
+ return getId();
+ }
+ else if(NAME.equals(name))
+ {
+ return getName();
+ }
+ else if(STATE.equals(name))
+ {
+ return State.ACTIVE;
+ }
+ else if(DURABLE.equals(name))
+ {
+ return isDurable();
+ }
+ else if(LIFETIME_POLICY.equals(name))
+ {
+ return LifetimePolicy.PERMANENT;
+ }
+ else if(TIME_TO_LIVE.equals(name))
+ {
+ // TODO
+ }
+ else if(CREATED.equals(name))
+ {
+ // TODO
+ }
+ else if(UPDATED.equals(name))
+ {
+ // TODO
+ }
+ else if(SUPPORTED_EXCHANGE_TYPES.equals(name))
+ {
+ List<String> types = new ArrayList<String>();
+ for(ExchangeType type : _virtualHost.getExchangeFactory().getRegisteredTypes())
+ {
+ types.add(type.getName().asString());
+ }
+ return Collections.unmodifiableCollection(types);
+ }
+ else if(SUPPORTED_QUEUE_TYPES.equals(name))
+ {
+ // TODO
+ }
+ else if(DEAD_LETTER_QUEUE_ENABLED.equals(name))
+ {
+ return _virtualHost.getConfiguration().isDeadLetterQueueEnabled();
+ }
+ else if(FEDERATION_TAG.equals(name))
+ {
+ return _virtualHost.getFederationTag();
+ }
+ else if(HOUSEKEEPING_CHECK_PERIOD.equals(name))
+ {
+ return _virtualHost.getConfiguration().getHousekeepingCheckPeriod();
+ }
+ else if(MAXIMUM_DELIVERY_ATTEMPTS.equals(name))
+ {
+ return _virtualHost.getConfiguration().getMaxDeliveryCount();
+ }
+ else if(QUEUE_FLOW_CONTROL_SIZE_BYTES.equals(name))
+ {
+ return _virtualHost.getConfiguration().getCapacity();
+ }
+ else if(QUEUE_FLOW_RESUME_SIZE_BYTES.equals(name))
+ {
+ return _virtualHost.getConfiguration().getFlowResumeCapacity();
+ }
+ else if(STORE_TYPE.equals(name))
+ {
+ // TODO
+ }
+ else if(STORE_CONFIGURATION.equals(name))
+ {
+ // TODO
+ }
+ else if(STORE_TRANSACTION_IDLE_TIMEOUT_CLOSE.equals(name))
+ {
+ return _virtualHost.getConfiguration().getTransactionTimeoutIdleClose();
+ }
+ else if(STORE_TRANSACTION_IDLE_TIMEOUT_WARN.equals(name))
+ {
+ return _virtualHost.getConfiguration().getTransactionTimeoutIdleWarn();
+ }
+ else if(STORE_TRANSACTION_OPEN_TIMEOUT_CLOSE.equals(name))
+ {
+ return _virtualHost.getConfiguration().getTransactionTimeoutOpenClose();
+ }
+ else if(STORE_TRANSACTION_OPEN_TIMEOUT_WARN.equals(name))
+ {
+ return _virtualHost.getConfiguration().getTransactionTimeoutOpenWarn();
+ }
+ else if(ALERT_REPEAT_GAP.equals(name))
+ {
+ return _virtualHost.getConfiguration().getMinimumAlertRepeatGap();
+ }
+ else if(ALERT_THRESHOLD_MESSAGE_AGE.equals(name))
+ {
+ return _virtualHost.getConfiguration().getMaximumMessageAge();
+ }
+ else if(ALERT_THRESHOLD_MESSAGE_SIZE.equals(name))
+ {
+ return _virtualHost.getConfiguration().getMaximumMessageSize();
+ }
+ else if(ALERT_THRESHOLD_QUEUE_DEPTH_BYTES.equals(name))
+ {
+ return _virtualHost.getConfiguration().getMaximumQueueDepth();
+ }
+ else if(ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES.equals(name))
+ {
+ return _virtualHost.getConfiguration().getMaximumMessageCount();
+ }
+ return super.getAttribute(name);
+ }
+
+ @Override
+ public Object setAttribute(String name, Object expected, Object desired)
+ throws IllegalStateException, AccessControlException, IllegalArgumentException
+ {
+ return super.setAttribute(name, expected, desired); //TODO - Implement
+ }
+
+ @Override
+ public Collection<String> getAttributeNames()
+ {
+ return AVAILABLE_ATTRIBUTES;
+ }
}
Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/impl/ExchangeImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/impl/ExchangeImpl.java?rev=1304961&r1=1304960&r2=1304961&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/impl/ExchangeImpl.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/model/impl/ExchangeImpl.java Sat Mar 24 23:13:07 2012
@@ -59,7 +59,7 @@ class ExchangeImpl extends AbstractConfi
private static Map<String, Object> fixAttributes(final Map<String, Object> attributes, final String exchangeType)
{
Map<String,Object> fixedAttributes = new HashMap<String, Object>(attributes);
- fixedAttributes.put(EXCHANGE_TYPE, exchangeType);
+ fixedAttributes.put(TYPE, exchangeType);
return fixedAttributes;
}
@@ -71,7 +71,7 @@ class ExchangeImpl extends AbstractConfi
public String getExchangeType()
{
- return (String) getAttribute(EXCHANGE_TYPE);
+ return (String) getAttribute(TYPE);
}
public Collection<Binding> getBindings()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org