📄 peerstatusaction.java
字号:
String peerName = "null";
if (p != null) {
peerName = p.getName();
}
status = STRINGS.getString("error.peer.invalid") + " " + peerName;
if (Logging.SHOW_SEVERE && LOG.isLoggable(Level.SEVERE)) {
LOG.severe(status);
}
}
if (status != null) {
this.view.setStatus(status);
}
}
private void process(Group g, PeerNode pn) {
final Peer p = pn != null ? pn.getPeer() : null;
String status = STRINGS.getString("status.peer.status.request") + ": " +
p.getName();
this.view.setStatus(status);
if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {
LOG.info(status);
LOG.info("instantiating StatusCommand");
}
RemoteCommandInvoker cf = new RemoteCommandInvoker(g, p.getPipeAdvertisement(),
new StatusCommand(), this.view.getControl());
if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {
LOG.info("dispatch command");
}
pn.setInfo(PeerNode.CONNECTION_ONGOING, "true", true);
cf.invoke(MAX);
DialogMessage r = cf.getResponse();
if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {
LOG.info("StatusCommand response: " + r);
}
boolean isValid = true;
String res = r != null ? r.getCommand() : null;
if (res != null) {
status = STRINGS.getString("status.peer.status.process") + ": "
+ p.getName();
this.view.setStatus(status);
if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {
LOG.info(status);
}
Resource rs = new Resource();
try {
rs.load(new ByteArrayInputStream(res.getBytes()));
} catch (ResourceNotFoundException rnfe) {
rnfe.printStackTrace();
}
StringBuffer sb = new StringBuffer();
sb.append("profile:" + NEW_LINE);
sb.append(TAB + "version: " + rs.get(PROFILE_VERSION) + NEW_LINE);
sb.append(TAB + "jxta: " + rs.get(PROFILE_JXTA_HOME) + NEW_LINE);
sb.append(TAB + "time: " + rs.get(PROFILE_TIME) + NEW_LINE);
sb.append(TAB + "java: " + rs.get(PROFILE_JAVA_VERSION) + SLASH +
rs.get(PROFILE_JAVA_VENDOR) + NEW_LINE);
sb.append(TAB + "system: " + rs.get(PROFILE_OS_NAME) + SLASH +
rs.get(PROFILE_OS_ARCHITECTURE) + SLASH +
rs.get(PROFILE_PROCESSORS) + NEW_LINE);
sb.append(TAB + "memory[f|m|t]: " + rs.get(PROFILE_FREE_MEMORY) + SLASH +
rs.get(PROFILE_MAXIMUM_MEMORY) + SLASH +
rs.get(PROFILE_TOTAL_MEMORY) + NEW_LINE);
sb.append("peer:" + NEW_LINE);
sb.append(TAB + "id: " + rs.get(PEER_ID) + NEW_LINE);
sb.append(TAB + "name: " + rs.get(PEER_NAME) + NEW_LINE);
sb.append(TAB + "is authenticated: " + rs.get(PEER_IS_AUTHENTICATED) +
NEW_LINE);
sb.append("rendezvous:" + NEW_LINE);
sb.append(TAB + "role: " + rs.get(RENDEZVOUS_ROLE) + NEW_LINE);
String id = null;
for (Iterator pi = rs.getAll(RENDEZVOUS_PEER_ID).iterator();
pi.hasNext();) {
id = (String) pi.next();
String q = RENDEZVOUS_PEER + "[@id=\"" + id + "\"]";
sb.append(TAB + "peer:" + NEW_LINE);
sb.append(TAB + TAB + "id: " + id + NEW_LINE);
sb.append(TAB + TAB + "name: " + rs.get(q + "/@name") +
NEW_LINE);
sb.append(TAB + TAB + "group id: " + rs.get(q + "/@groupId") +
NEW_LINE);
sb.append(TAB + TAB + "is alive: " + rs.get(q + "/@isAlive") +
NEW_LINE);
sb.append(TAB + TAB + "is in peer view: " +
rs.get(q + "/@isInPeerView") + NEW_LINE);
sb.append(TAB + TAB + "is throttling: " +
rs.get(q + "/@isThrottling") + NEW_LINE);
sb.append(TAB + TAB + "number of connected peers: " +
rs.get(q + "/@numberOfConnectedPeers") + NEW_LINE);
sb.append(TAB + TAB + "start time: " +
rs.get(q + "/@startTime") + NEW_LINE);
sb.append(TAB + TAB + "create time: " +
rs.get(q + "/@createTime") + NEW_LINE);
sb.append(TAB + TAB + "update time: " +
rs.get(q + "/@updateTime") + NEW_LINE);
sb.append(TAB + TAB + "direction: " +
rs.get(q + "/@direction") + NEW_LINE);
}
for (Iterator pi = rs.getAll(RENDEZVOUS_PROVISIONER_ID).iterator();
pi.hasNext();) {
id = (String) pi.next();
String q = RENDEZVOUS_PROVISIONER + "[@id=\"" + id + "\"]";
sb.append(TAB + "rendezvous:" + NEW_LINE);
sb.append(TAB + TAB + "id: " + id + NEW_LINE);
sb.append(TAB + TAB + "name: " + rs.get(q + "/@name") +
NEW_LINE);
// sb.append(TAB + TAB + "group id: " + rs.get(q + "/@groupId") +
// NEW_LINE);
// sb.append(TAB + TAB + "is alive: " + rs.get(q + "/@isAlive") +
// NEW_LINE);
// sb.append(TAB + TAB + "is in peer view: " +
// rs.get(q + "/@isInPeerView") + NEW_LINE);
// sb.append(TAB + TAB + "is throttling: " +
// rs.get(q + "/@isThrottling") + NEW_LINE);
// sb.append(TAB + TAB + "number of connected peres: " +
// rs.get(q + "/@numberOfConnectedPeers") + NEW_LINE);
// sb.append(TAB + TAB + "start time: " +
// rs.get(q + "/@startTime") + NEW_LINE);
// sb.append(TAB + TAB + "create time: " +
// rs.get(q + "/@createTime") + NEW_LINE);
// sb.append(TAB + TAB + "update time: " +
// rs.get(q + "/@updateTime") + NEW_LINE);
// sb.append(TAB + TAB + "direction: " +
// rs.get(q + "/@direction") + NEW_LINE);
sb.append(TAB + TAB + "type: " + rs.get(q + "/@type") +
NEW_LINE);
sb.append(TAB + TAB + "is connected: " +
rs.get(q + "/@isConnected") + NEW_LINE);
sb.append(TAB + TAB + "lease time: " +
rs.get(q + "/@leaseTime") + NEW_LINE);
}
for (Iterator ci = rs.getAll(RENDEZVOUS_CLIENT_ID).iterator();
ci.hasNext();) {
id = (String) ci.next();
String q = RENDEZVOUS_CLIENT + "[@id=\"" + id + "\"]";
sb.append(TAB + "client:" + NEW_LINE);
sb.append(TAB + TAB + "id: " + id + NEW_LINE);
sb.append(TAB + TAB + "name: " + rs.get(q + "/@name") +
NEW_LINE);
sb.append(TAB + TAB + "type: " + rs.get(q + "/@type") +
NEW_LINE);
sb.append(TAB + TAB + "is connected: " +
rs.get(q + "/@isConnected") + NEW_LINE);
sb.append(TAB + TAB + "lease time: " +
rs.get(q + "/@leaseTime") + NEW_LINE);
}
sb.append("relays:" + NEW_LINE);
for (Iterator ci = rs.getAll(RELAYS_CLIENT_ID).iterator();
ci.hasNext();) {
id = (String) ci.next();
String q = RELAYS_CLIENT + "[@id=\"" + id + "\"]";
sb.append(TAB + "client:" + NEW_LINE);
sb.append(TAB + TAB + "id: " + id + NEW_LINE);
sb.append(TAB + TAB + "name: " + rs.get(q + "/@name") +
NEW_LINE);
}
for (Iterator si = rs.getAll(RELAYS_SERVER_ID).iterator();
si.hasNext();) {
id = (String) si.next();
String q = RELAYS_SERVER + "[@id=\"" + id + "\"]";
sb.append(TAB + "client:" + NEW_LINE);
sb.append(TAB + TAB + "id: " + id + NEW_LINE);
sb.append(TAB + TAB + "name: " + rs.get(q + "/@name") +
NEW_LINE);
}
if (Logging.SHOW_FINE && LOG.isLoggable(Level.FINE)) {
LOG.fine(sb.toString());
}
this.view.showMessageDialog(sb.toString());
} else {
isValid = false;
status = STRINGS.getString("error.peer.status") + ": " +
p.getName();
this.view.setStatus(status);
pn.setInfo(PeerNode.STATUS_REACHABLE, Boolean.FALSE, true);
if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {
LOG.info("bad response: " + status);
}
}
pn.setInfo(PeerNode.CONNECTION_ONGOING, null, true);
}
private PipeAdvertisement getPipeAdv(MessageElement me) {
if (Logging.SHOW_INFO && LOG.isLoggable(Level.INFO)) {
LOG.info("get pipeAdv");
}
XMLDocument sd = null;
try {
sd = (XMLDocument) StructuredDocumentFactory.newStructuredDocument(MimeMediaType.XMLUTF8,
me.getStream());
} catch (IOException ioe) {
if (Logging.SHOW_SEVERE && LOG.isLoggable(Level.SEVERE)) {
LOG.log(Level.SEVERE, "can\'t document", ioe);
}
}
PipeAdvertisement pa = null;
if (sd != null) {
try {
pa = (PipeAdvertisement) AdvertisementFactory.newAdvertisement(sd);
} catch (RuntimeException ioe) {
if (Logging.SHOW_SEVERE && LOG.isLoggable(Level.SEVERE)) {
LOG.log(Level.SEVERE, "can\'t get pipe advertisement", ioe);
}
}
}
return pa;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -