⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 peerstatusaction.java

📁 mywork是rcp开发的很好的例子
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            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 + -