亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? myjxta.java

?? Myjxta的源代碼 基于JXTA的P2P即時通信系統
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* *  Copyright (c) 2001 Sun Microsystems, Inc.  All rights *  reserved. * *  Redistribution and use in source and binary forms, with or withouta *  modification, are permitted provided that the following conditions *  are met: * *  1. Redistributions of source code must retain the above copyright *  notice, this list of conditions and the following disclaimer. * *  2. Redistributions in binary form must reproduce the above copyright *  notice, this list of conditions and the following discalimer in *  the documentation and/or other materials provided with the *  distribution. * *  3. The end-user documentation included with the redistribution, *  if any, must include the following acknowledgment: *  "This product includes software developed by the *  Sun Microsystems, Inc. for Project JXTA." *  Alternately, this acknowledgment may appear in the software itself, *  if and wherever such third-party acknowledgments normally appear. * *  4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA" *  must not be used to endorse or promote products derived from this *  software without prior written permission. For written *  permission, please contact Project JXTA at http://www.jxta.org. * *  5. Products derived from this software may not be called "JXTA", *  nor may "JXTA" appear in their name, without prior written *  permission of Sun. * *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *  DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR *  ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF *  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT *  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF *  SUCH DAMAGE. *  ==================================================================== * *  This software consists of voluntary contributions made by many *  individuals on behalf of Project JXTA.  For more *  information on Project JXTA, please see *  <http://www.jxta.org/>. * *  This license is based on the BSD license adopted by the Apache Foundation. * *  $Id: MyJXTA.java,v 1.109 2007/06/10 21:15:10 nano Exp $ */package net.jxta.myjxta;import net.jxta.endpoint.Message;import net.jxta.exception.PeerGroupException;import net.jxta.ext.config.ConversionException;import net.jxta.logging.Logging;import net.jxta.myjxta.dialog.*;import net.jxta.myjxta.plugin.DefaultMyJxtaPluginContainer;import net.jxta.myjxta.plugin.PluginContainer;import net.jxta.myjxta.plugin.PluginView;import net.jxta.myjxta.presence.PeerEntry;import net.jxta.myjxta.presence.PresenceController;import net.jxta.myjxta.search.SearchManager;import net.jxta.myjxta.search.SearchModifier;import net.jxta.myjxta.search.Searcher;import net.jxta.myjxta.share.IShareManager;import net.jxta.myjxta.share.IShareManagerProvider;import net.jxta.myjxta.util.*;import net.jxta.myjxta.util.configuration.MyJXTAConfigurator;import net.jxta.myjxta.util.configuration.NetworkManagerConfigurator;import net.jxta.myjxta.util.objectmodel.GroupNode;import net.jxta.myjxta.util.objectmodel.JxtaNode;import net.jxta.myjxta.util.objectmodel.MyJxtaObjectRepository;import net.jxta.myjxta.util.objectmodel.PeerNode;import net.jxta.myjxta.util.preferences.MyPreferenceManager;import net.jxta.peergroup.NetPeerGroupFactory;import net.jxta.peergroup.PeerGroup;import net.jxta.peergroup.PeerGroupID;import net.jxta.pipe.PipeService;import net.jxta.protocol.PeerGroupAdvertisement;import net.jxta.protocol.PipeAdvertisement;import net.jxta.rendezvous.RendezVousService;import net.jxta.rendezvous.RendezvousEvent;import net.jxta.rendezvous.RendezvousListener;import net.jxta.util.JxtaBiDiPipe;import javax.management.*;import java.io.File;import java.io.IOException;import java.lang.management.ManagementFactory;import java.net.URI;import java.net.URL;import java.util.*;import java.util.logging.Level;import java.util.logging.Logger;/** * @author james todd [gonzo at jxta dot org] * @version $Id: MyJXTA.java,v 1.109 2007/06/10 21:15:10 nano Exp $ */public final class MyJXTA implements GroupListener, RendezvousListener {    public static final String GROUP_ID = "group.id";    public static final String GROUP_NAME = "group.name";    public static final String GROUP_DESCRIPTION = "group.description";    public static final String GROUP_AUTO_RENDEZVOUS_PERIOD = "group.autoRendezVousPeriod";    private static final ResourceBundle STRINGS = Resources.getStrings();    // not used right now --> commented out    // private static final int CONFIGURATION_WAIT = 50;    private static final Logger LOG = Logger.getLogger(MyJXTA.class.getName());    private final ArrayList<Group> joinedGroups = new ArrayList<Group>();    private String peerName = null;    /**     * there are some plugins (CMS) that needs a call to "System.exit(0)"....     */    public final boolean m_needsSystemExitOnShutdown = false;    /**     * The UI to use to display the data     */    private View view = null;    /**     * The PreferenceManager object to use     */    private MyPreferenceManager myPreferenceManager = null;    public MultipleInstanceUtil.AdministrationListener administrationListener = null;    private PluginContainer m_pluginContainer;    private ArrayList<String> administrationBuffer = null;    public static final String NAME = Constants.getInstance().get(            Constants.NAME);    public static final String VERSION = NAME + " "            + Constants.getInstance().get(Constants.VERSION) + " ["            + Constants.getInstance().get(Constants.BUILD) + "]";    private RendezVousService rendezvousNPG;    private final static Object networkConnectLock = new Object();    public static MyJXTA getTheInstance() {        return g_theInstance;    }    private static MyJXTA g_theInstance;    public static MyJXTA startMyJxta() {        if (g_theInstance == null) {            g_theInstance = new MyJXTA();        }        return g_theInstance;    }    /**     * Create a new instance of MyJxta and initializes it. This starts the     * JXTA network if it was not already started     */    private MyJXTA() {        // only one Instance of MyJxta can be active inside the same working        // directory        if (!MultipleInstanceUtil.isOnlyInstance(this)) {            destroy();            return;        }        g_theInstance = this;        // only needed for the NetBean integration        registerBeanStuff();        // initiate the Plugin / Module Container (will instantiate the plugins,        // modules...)        m_pluginContainer = new DefaultMyJxtaPluginContainer(this);        // ViewFactory.setViewerClass(net.jxta.myjxta.ui.MyJXTALiteViewer.class);        // initiate the view (right now only a single swing view is        // implememented)        this.view = ViewFactory.getView(this);        //call the init methods of the plugins        m_pluginContainer.init();        this.view.setVisible(true);//        boolean isConfigured = configureMyJxta();        try {            MyJXTAConfigurator c = new NetworkManagerConfigurator(this.view);            //MyJXTAConfigurator c = new JxtaExtConfigurator(this.view);            c.configurePlatform();            initialize();        } catch (IOException e) {            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.            view.showMessageDialog(e.getLocalizedMessage());        }    }    private void registerBeanStuff() {        try {            ManagementFactory.getPlatformMBeanServer().registerMBean(                    Status.getInstance(),                    new ObjectName(":type=net.jxta.myjxta"));        } catch (MalformedObjectNameException mone) {            mone.printStackTrace();        } catch (InstanceAlreadyExistsException iaee) {            iaee.printStackTrace();        } catch (MBeanRegistrationException mbre) {            mbre.printStackTrace();        } catch (NotCompliantMBeanException ncmbe) {            ncmbe.printStackTrace();        }    }    public MyPreferenceManager getPreferenceManager() {        return this.myPreferenceManager;    }    /**     * Return the name of the peer     *     * @return the name of the peer     */    public String getPeerName() {        return this.peerName;    }    /**     * Add a dialog that should be displayed in the UI     *     * @param dialog the dialog to display     */    public void addDialog(Dialog dialog) {        this.view.addDialog(dialog);    }    public void removeDialog(Dialog dialog) {        this.view.removeDialog(dialog);    }    /**     * Return the ShareManager instance used for file sharing     *     * @return the ShareManager instance used for file sharing     */    public IShareManager getShareManager() {        IShareManagerProvider iShareManagerProvider = getShareManagerProvider();        if (iShareManagerProvider == null)            return null;  //no provider (no plugin) --> no shareManager!        return iShareManagerProvider.getShareManager(this, this.view.getGroup(), true);    }    private IShareManagerProvider getShareManagerProvider() {        IShareManagerProvider shareManagerProvider = (IShareManagerProvider) getPluginContainer().getPlugin(IShareManagerProvider.class);        if (shareManagerProvider == null)            return null;        else            return shareManagerProvider;    }    /**     * Part of group Lifecycle. Joins group. Starts group services and     * associated resources.     */    public void joinGroup(final Group group, boolean useAutoRdvMode,                          boolean discover) {        final PeerGroup peerGroup = group.getPeerGroup();        setStatus(STRINGS.getString("status.group.join") + " "                + peerGroup.getPeerGroupName());        this.view.setTitle(peerGroup.getPeerName() + "@"                + peerGroup.getPeerGroupName());        setStatus(STRINGS.getString("status.group.display") + " "                + peerGroup.getPeerGroupName());        String dialogName = Dialog.getDialogNamer(OneToOneCommandDialog.class)                .getDialogName(peerGroup.getPeerName());        PipeAdvertisement pipeAdvertisment = PipeUtil.getAdv(peerGroup,                dialogName, PipeService.UnicastType, null);        // now lets add the different dialogs/pipe listeners        if (group.isVisible()) {            registerCommandDialogPipeListener(group);        }        // add the one Group Panel to the navigation tree        if (group.isVisible()) {            view.createGroupNavigation(group);        }        GroupNode groupNode = new GroupNode(group);        if (group.getParentGroup() != null) {            groupNode.setParent(new GroupNode(group.getParentGroup()));        } else {            groupNode.setParent(MyJxtaObjectRepository.getRoot());        }        addJxtaNode(groupNode);        PeerNode ownPeerNode = new PeerNode(new Peer(pipeAdvertisment), group);        group.setOwnCommandId(pipeAdvertisment.getPipeID());        addJxtaNode(ownPeerNode, true);        restore(group);        if (discover) {            discover(group);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品欧美一区二区三区精品久久| 91网上在线视频| 亚洲一区二区三区四区在线| 国产精品第四页| 国产精品沙发午睡系列990531| 精品国产91久久久久久久妲己| 欧美日韩一区二区三区免费看| 欧美三级视频在线观看| 欧美日韩国产综合视频在线观看| 在线免费观看视频一区| 91福利视频网站| 欧美日韩不卡视频| 欧美一级片在线看| 久久综合色综合88| 国产农村妇女毛片精品久久麻豆| 欧美国产精品久久| 亚洲欧美日韩久久| 首页国产丝袜综合| 久久99在线观看| 成人午夜在线播放| 欧美在线观看视频一区二区三区| 在线免费视频一区二区| 91精品午夜视频| 欧美一二三区精品| 欧美激情资源网| 亚洲国产日产av| 久久电影网站中文字幕| 成人午夜激情视频| 欧美手机在线视频| 国产亚洲1区2区3区| 一区二区三区国产精品| 日本午夜一区二区| 大尺度一区二区| 欧美日韩三级在线| 国产亚洲自拍一区| 亚洲一区二区视频在线观看| 毛片不卡一区二区| 91亚洲男人天堂| 欧美va亚洲va| 亚洲三级免费电影| 蜜桃久久久久久| 在线观看日韩电影| 国产丝袜美腿一区二区三区| 亚洲午夜一二三区视频| 国产精品一区不卡| 欧美色综合网站| 国产精品免费视频一区| 日韩av一二三| 欧美三级在线视频| 国产日产欧美一区| 日产欧产美韩系列久久99| 99精品视频在线观看| 精品国产网站在线观看| 亚洲永久精品国产| 不卡的av中国片| 精品久久久久久久久久久院品网| 亚洲综合激情网| 成人久久18免费网站麻豆| 日韩欧美激情在线| 一二三区精品视频| 91污片在线观看| 欧美激情一区不卡| 国产福利电影一区二区三区| 欧美精品成人一区二区三区四区| 综合色天天鬼久久鬼色| 福利一区在线观看| 久久综合九色综合97婷婷女人| 日本中文字幕一区| 欧美日韩精品综合在线| 亚洲午夜视频在线观看| www.激情成人| 久久久久久久久免费| 久久久亚洲精品石原莉奈| 色国产综合视频| 一本大道av伊人久久综合| 国产蜜臀97一区二区三区| 国产盗摄一区二区| 国产欧美一区二区三区在线老狼| 捆绑调教美女网站视频一区| 欧美一区二区女人| 美女诱惑一区二区| 久久午夜色播影院免费高清 | 国产一区二区在线免费观看| 欧美一级片免费看| 天天操天天色综合| 日韩你懂的电影在线观看| 久久国产成人午夜av影院| 精品国偷自产国产一区| 国产在线精品免费| 亚洲国产高清在线| 欧美中文字幕不卡| 青青草成人在线观看| 久久蜜桃av一区二区天堂| 国产69精品久久久久777| 亚洲欧美在线观看| 色久优优欧美色久优优| 日本成人中文字幕在线视频 | 国产乱码精品一品二品| 日韩精品资源二区在线| 91国偷自产一区二区开放时间 | 91视频国产观看| 午夜精品久久久久影视| 欧美精品一区二区三区一线天视频| 精品一区二区三区av| 亚洲色图制服诱惑 | 日韩久久久久久| 国产自产高清不卡| 亚洲柠檬福利资源导航| 91精品国产一区二区三区香蕉| 韩国欧美国产一区| 亚洲精品老司机| 欧美sm极限捆绑bd| 91在线免费播放| 麻豆专区一区二区三区四区五区| 国产日韩综合av| 欧美少妇性性性| 成人激情免费网站| 蜜桃视频免费观看一区| 亚洲视频电影在线| 精品区一区二区| 欧美中文一区二区三区| 高清视频一区二区| 日韩电影免费一区| 蜜桃久久av一区| 17c精品麻豆一区二区免费| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 精品一区二区久久| 亚洲成人手机在线| 亚洲国产精华液网站w| 欧美一卡2卡3卡4卡| 色综合久久久久久久久久久| 国产一区二区美女诱惑| 香蕉影视欧美成人| 亚洲摸摸操操av| 国产精品久久夜| 国产午夜亚洲精品不卡| 日韩欧美国产高清| 欧美网站一区二区| 91视视频在线观看入口直接观看www | 久久免费午夜影院| 这里只有精品视频在线观看| 色婷婷激情一区二区三区| 成人午夜av影视| 国产不卡一区视频| 国产精品99久久久| 国产91精品露脸国语对白| 国产曰批免费观看久久久| 另类小说欧美激情| 久久99国产精品麻豆| 日本不卡一区二区三区高清视频| 亚洲第一久久影院| 午夜亚洲福利老司机| 亚洲国产成人精品视频| 亚洲一区在线看| 午夜精品久久久久影视| 午夜电影久久久| 日本伊人午夜精品| 蜜臀av性久久久久蜜臀aⅴ流畅 | 播五月开心婷婷综合| 国产成人免费高清| 国产999精品久久久久久| 成人激情免费网站| 99国产欧美另类久久久精品 | 香蕉成人啪国产精品视频综合网| 有码一区二区三区| 亚洲国产美女搞黄色| 午夜精品免费在线| 另类小说一区二区三区| 国产经典欧美精品| 91免费观看在线| 欧美日韩你懂得| www久久精品| 国产精品电影一区二区| 亚洲一区二区精品视频| 男女性色大片免费观看一区二区 | 亚洲成人你懂的| 捆绑变态av一区二区三区| 久久成人羞羞网站| 国产成人aaa| 在线看一区二区| 欧美成人一区二区三区在线观看| 精品久久免费看| 综合色天天鬼久久鬼色| 亚洲成人在线观看视频| 精品一区二区成人精品| 91在线码无精品| 欧美一级在线免费| 国产日韩欧美电影| 亚洲国产精品天堂| 国产高清不卡一区二区| 欧美在线观看一区二区| 久久久欧美精品sm网站| 一区二区三区免费网站| 久久国产剧场电影| 在线影视一区二区三区| 国产亚洲一区二区在线观看| 亚洲综合一区二区三区| 国产一区二区三区四区在线观看| 色婷婷一区二区| 久久久久久麻豆|