提交 905e2c5c 编写于 作者: W william.liangf

DUBBO-91 修改页面

git-svn-id: http://code.alibabatech.com/svn/dubbo/trunk@593 1a56cb94-b969-4eaa-88fa-be21384802f2
上级 da59f103
......@@ -37,7 +37,7 @@ import com.alibaba.dubbo.registry.support.AbstractRegistryFactory;
public class RegisteredPageHandler implements PageHandler {
public Page handle(URL url) {
String registryAddress = url.getParameter("registry");
String registryAddress = url.getParameter("registry", "");
List<List<String>> rows = new ArrayList<List<String>>();
Collection<Registry> registries = AbstractRegistryFactory.getRegistries();
StringBuilder select = new StringBuilder();
......@@ -47,7 +47,7 @@ public class RegisteredPageHandler implements PageHandler {
registry = registries.iterator().next();
select.append(" &gt; " + registry.getUrl().getAddress());
} else {
select.append(" &gt; <select onchange=\"window.location.href='connections.html?port=' + this.value;\">");
select.append(" &gt; <select onchange=\"window.location.href='registered.html?registry=' + this.value;\">");
for (Registry r : registries) {
String sp = r.getUrl().getAddress();
select.append("<option value=\">");
......@@ -74,8 +74,8 @@ public class RegisteredPageHandler implements PageHandler {
}
}
}
return new Page("Registries" + select.toString() + " &gt; Registered", "Registered (" + rows.size() + ")",
new String[] { "Service URL:" }, rows);
return new Page("<a href=\"registries.html\">Registries</a>" + select.toString() + " &gt; Registered | <a href=\"subscribed.html?registry=" + registryAddress + "\">Subscribed</a>", "Registered (" + rows.size() + ")",
new String[] { "Register URL:" }, rows);
}
}
\ No newline at end of file
......@@ -25,6 +25,7 @@ import com.alibaba.dubbo.container.page.Menu;
import com.alibaba.dubbo.container.page.Page;
import com.alibaba.dubbo.container.page.PageHandler;
import com.alibaba.dubbo.registry.Registry;
import com.alibaba.dubbo.registry.support.AbstractRegistry;
import com.alibaba.dubbo.registry.support.AbstractRegistryFactory;
/**
......@@ -39,6 +40,8 @@ public class RegistriesPageHandler implements PageHandler {
public Page handle(URL url) {
List<List<String>> rows = new ArrayList<List<String>>();
Collection<Registry> registries = AbstractRegistryFactory.getRegistries();
int registeredCount = 0;
int subscribedCount = 0;
if (registries != null && registries.size() > 0) {
for (Registry registry : registries) {
String server = registry.getUrl().getAddress();
......@@ -49,12 +52,21 @@ public class RegistriesPageHandler implements PageHandler {
} else {
row.add("<font color=\"red\">Disconnected</font>");
}
row.add("<a href=\"registered.html?registry=" + server + "\">Registered</a>");
int registeredSize = 0;
int subscribedSize = 0;
if (registry instanceof AbstractRegistry) {
registeredSize = ((AbstractRegistry) registry).getRegistered().size();
registeredCount += registeredSize;
subscribedSize = ((AbstractRegistry) registry).getSubscribed().size();
subscribedCount += subscribedSize;
}
row.add("<a href=\"registered.html?registry=" + server + "\">Registered(" + registeredSize + ")</a>");
row.add("<a href=\"subscribed.html?registry=" + server + "\">Subscribed(" + subscribedSize + ")</a>");
rows.add(row);
}
}
return new Page("Registries", "Registries (" + rows.size() + ")",
new String[] { "Registry Address:", "Ststus:", "Registered" }, rows);
new String[] { "Registry Address:", "Ststus:", "Registered(" + registeredCount + ")", "Subscribed(" + subscribedCount + ")" }, rows);
}
}
\ No newline at end of file
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.dubbo.registry.pages;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import com.alibaba.dubbo.common.Extension;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.container.page.Page;
import com.alibaba.dubbo.container.page.PageHandler;
import com.alibaba.dubbo.registry.Registry;
import com.alibaba.dubbo.registry.support.AbstractRegistry;
import com.alibaba.dubbo.registry.support.AbstractRegistryFactory;
/**
* SubscribedPageHandler
*
* @author william.liangf
*/
@Extension("subscribed")
public class SubscribedPageHandler implements PageHandler {
public Page handle(URL url) {
String registryAddress = url.getParameter("registry", "");
List<List<String>> rows = new ArrayList<List<String>>();
Collection<Registry> registries = AbstractRegistryFactory.getRegistries();
StringBuilder select = new StringBuilder();
Registry registry = null;
if (registries != null && registries.size() > 0) {
if (registries.size() == 1) {
registry = registries.iterator().next();
select.append(" &gt; " + registry.getUrl().getAddress());
} else {
select.append(" &gt; <select onchange=\"window.location.href='subscribed.html?registry=' + this.value;\">");
for (Registry r : registries) {
String sp = r.getUrl().getAddress();
select.append("<option value=\">");
select.append(sp);
if (((registryAddress == null || registryAddress.length() == 0) && registry == null)
|| registryAddress.equals(sp)) {
registry = r;
select.append("\" selected=\"selected");
}
select.append("\">");
select.append(sp);
select.append("</option>");
}
select.append("</select>");
}
}
if (registry instanceof AbstractRegistry) {
Set<String> services = ((AbstractRegistry) registry).getSubscribed().keySet();
if (services != null && services.size() > 0) {
for (String u : services) {
List<String> row = new ArrayList<String>();
row.add(u.replace("<", "&lt;").replace(">", "&gt;"));
rows.add(row);
}
}
}
return new Page("<a href=\"registries.html\">Registries</a>" + select.toString() + " &gt; <a href=\"registered.html?registry=" + registryAddress + "\">Registered</a> | Subscribed", "Subscribed (" + rows.size() + ")",
new String[] { "Subscribe URL:" }, rows);
}
}
\ No newline at end of file
com.alibaba.dubbo.registry.pages.RegistriesPageHandler
com.alibaba.dubbo.registry.pages.RegisteredPageHandler
com.alibaba.dubbo.registry.pages.SubscribedPageHandler
\ No newline at end of file
......@@ -22,7 +22,6 @@ import java.util.List;
import com.alibaba.dubbo.common.Extension;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.container.page.Menu;
import com.alibaba.dubbo.container.page.Page;
import com.alibaba.dubbo.container.page.PageHandler;
import com.alibaba.dubbo.remoting.exchange.ExchangeChannel;
......@@ -30,13 +29,12 @@ import com.alibaba.dubbo.remoting.exchange.ExchangeServer;
import com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol;
/**
* ConnectionsPageHandler
* ClientsPageHandler
*
* @author william.liangf
*/
@Menu(name = "Connections", desc="Connecyions", order = 14000)
@Extension("connections")
public class ConnectionsPageHandler implements PageHandler {
@Extension("clients")
public class ClientsPageHandler implements PageHandler {
public Page handle(URL url) {
String port = url.getParameter("port");
......@@ -49,7 +47,7 @@ public class ConnectionsPageHandler implements PageHandler {
server = servers.iterator().next();
select.append(" &gt; " + server.getUrl().getAddress());
} else {
select.append(" &gt; <select onchange=\"window.location.href='connections.html?port=' + this.value;\">");
select.append(" &gt; <select onchange=\"window.location.href='clients.html?port=' + this.value;\">");
for (ExchangeServer s : servers) {
int sp = s.getUrl().getPort();
select.append("<option value=\">");
......@@ -74,7 +72,7 @@ public class ConnectionsPageHandler implements PageHandler {
rows.add(row);
}
}
return new Page("Servers" + select.toString() + " &gt; Connections", "Connections (" + rows.size() + ")", new String[]{"Consumer Address:"}, rows);
return new Page("<a href=\"servers.html\">Servers</a>" + select.toString() + " &gt; Clients", "Clients (" + rows.size() + ")", new String[]{"Client Address:"}, rows);
}
}
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.dubbo.rpc.protocol.dubbo.page;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import com.alibaba.dubbo.common.Extension;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.container.page.Menu;
import com.alibaba.dubbo.container.page.Page;
import com.alibaba.dubbo.container.page.PageHandler;
import com.alibaba.dubbo.remoting.exchange.ExchangeServer;
import com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol;
/**
* ServersPageHandler
*
* @author william.liangf
*/
@Menu(name = "Servers", desc="Servers", order = 14000)
@Extension("servers")
public class ServersPageHandler implements PageHandler {
public Page handle(URL url) {
List<List<String>> rows = new ArrayList<List<String>>();
Collection<ExchangeServer> servers = DubboProtocol.getDubboProtocol().getServers();
int clientCount = 0;
if (servers != null && servers.size() > 0) {
for (ExchangeServer s : servers) {
List<String> row = new ArrayList<String>();
row.add(s.getUrl().getAddress());
int clientSize = s.getExchangeChannels().size();
clientCount += clientSize;
row.add("<a href=\"clients.html?port=" + s.getUrl().getPort() + "\">Clients(" + clientSize + ")</a>");
rows.add(row);
}
}
return new Page("Servers", "Servers (" + rows.size() + ")", new String[]{"Server Address:", "Clients(" + clientCount + ")"}, rows);
}
}
com.alibaba.dubbo.rpc.protocol.dubbo.page.ConnectionsPageHandler
\ No newline at end of file
com.alibaba.dubbo.rpc.protocol.dubbo.page.ServersPageHandler
com.alibaba.dubbo.rpc.protocol.dubbo.page.ClientsPageHandler
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册