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

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

?? oscar.java

?? OSGI 的 源碼實現,采用JAVA書寫
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        // Set the start level to zero in order to stop        // all bundles in the framework.        setStartLevelInternal(0);        // Just like initialize() called the system bundle's start()        // method, we must call its stop() method here so that it        // can perform any necessary clean up.        try {            getBundle(0).stop();        } catch (Exception ex) {            fireFrameworkEvent(FrameworkEvent.ERROR, getBundle(0), ex);            Oscar.error("Error stopping system bundle.", ex);        }        // Loop through all bundles and update any updated bundles.        Bundle[] bundles = getBundles();        for (int i = 0; i < bundles.length; i++)        {            BundleImpl bundle = (BundleImpl) bundles[i];            if (bundle.getInfo().isRemovalPending())            {                try                {                    purgeBundle(bundle);                }                catch (Exception ex)                {                    fireFrameworkEvent(FrameworkEvent.ERROR, bundle, ex);                    Oscar.error("Oscar: Unable to purge bundle "                        + bundle.getInfo().getLocation());                }            }        }        // Remove any uninstalled bundles.        for (int i = 0;            (m_uninstalledBundles != null) && (i < m_uninstalledBundles.length);            i++)        {            try            {                removeBundle(m_uninstalledBundles[i]);            }            catch (Exception ex)            {                Oscar.error("Oscar: Unable to remove "                    + m_uninstalledBundles[i].getInfo().getLocation());            }        }        // Shutdown event dispatching queue.        DispatchQueue.shutdown();        // Oscar is no longer in a usable state.        m_oscarStatus = UNKNOWN_STATUS;    }    /**     * Returns the active start level of the framework; this method     * implements functionality for the Start Level service.     * @return the active start level of the framework.    **/    protected int getStartLevel()    {        return m_activeStartLevel;    }    /**     * Implements the functionality of the <tt>setStartLevel()</tt>     * method for the StartLevel service, but does not do the security or     * parameter check. The security and parameter check are done in the     * StartLevel service implementation because this method is called on     * a separate thread and the caller's thread would already be gone if     * we did the checks in this method.     * @param requestedLevel the new start level of the framework.    **/    protected void setStartLevelInternal(int requestedLevel)    {        // Determine if we are lowering or raising the        // active start level.        boolean lowering = (requestedLevel < m_activeStartLevel);        // Record new start level.        m_activeStartLevel = requestedLevel;        // Get exclusion lock to make sure that no one starts        // an operation that might affect the bundle list.        synchronized (m_adminLock)        {            // Get array of all installed bundles.            Bundle[] bundles = getBundles();            // Sort bundle array by start level either ascending or            // descending depending on whether the start level is being            // lowered or raised.            Comparator comparator = null;            if (lowering)            {                // Sort descending to stop highest start level first.                comparator = new Comparator() {                    public int compare(Object o1, Object o2)                    {                        BundleImpl b1 = (BundleImpl) o1;                        BundleImpl b2 = (BundleImpl) o2;                        if (b1.getInfo().getStartLevel(getInitialBundleStartLevel())                            < b2.getInfo().getStartLevel(getInitialBundleStartLevel()))                        {                            return 1;                        }                        else if (b1.getInfo().getStartLevel(getInitialBundleStartLevel())                            > b2.getInfo().getStartLevel(getInitialBundleStartLevel()))                        {                            return -1;                        }                        return 0;                    }                };            }            else            {                // Sort ascending to start lowest start level first.                comparator = new Comparator() {                    public int compare(Object o1, Object o2)                    {                        BundleImpl b1 = (BundleImpl) o1;                        BundleImpl b2 = (BundleImpl) o2;                        if (b1.getInfo().getStartLevel(getInitialBundleStartLevel())                            > b2.getInfo().getStartLevel(getInitialBundleStartLevel()))                        {                            return 1;                        }                        else if (b1.getInfo().getStartLevel(getInitialBundleStartLevel())                            < b2.getInfo().getStartLevel(getInitialBundleStartLevel()))                        {                            return -1;                        }                        return 0;                    }                };            }            Arrays.sort(bundles, comparator);            // Stop or start the bundles according to the start level.            for (int i = 0; (bundles != null) && (i < bundles.length); i++)            {                BundleImpl impl = (BundleImpl) bundles[i];                // Ignore the system bundle, since its start() and                // stop() methods get called explicitly in initialize()                // and shutdown(), respectively.                if (impl.getInfo().getBundleId() == 0)                {                    continue;                }                // Start or stop bundle accordingly.                if (impl.getInfo().getStartLevel(getInitialBundleStartLevel())                    <= m_activeStartLevel)                {                    try                    {                        startBundleWithStartLevel(impl);                    }                    catch (Throwable th)                    {th.printStackTrace();                        fireFrameworkEvent(FrameworkEvent.ERROR, impl, th);                        Oscar.error("Oscar: Error starting "                            + impl.getInfo().getLocation());                    }                }                else if (impl.getInfo().getStartLevel(getInitialBundleStartLevel())                    > m_activeStartLevel)                {                    try                    {                        stopBundleWithStartLevel(impl);                    }                    catch (Throwable th)                    {                        fireFrameworkEvent(FrameworkEvent.ERROR, impl, th);                        Oscar.error("Oscar: Error stopping "                            + impl.getInfo().getLocation());                    }                }            }        }        fireFrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED, getBundle(0), null);    }    /**     * Returns the start level into which newly installed bundles will     * be placed by default; this method implements functionality for     * the Start Level service.     * @return the default start level for newly installed bundles.    **/    protected int getInitialBundleStartLevel()    {        String s = getConfigProperty(OscarConstants.BUNDLE_STARTLEVEL_PROP);        if (s != null)        {            try            {                return Integer.parseInt(s);            }            catch (NumberFormatException ex)            {                // Ignore and return the default value.            }        }        return OscarConstants.BUNDLE_DEFAULT_STARTLEVEL;    }    /**     * Sets the default start level into which newly installed bundles     * will be placed; this method implements functionality for the Start     * Level service.     * @param startLevel the new default start level for newly installed     *        bundles.     * @throws java.lang.IllegalArgumentException if the specified start     *         level is not greater than zero.     * @throws java.security.SecurityException if the caller does not     *         have <tt>AdminPermission</tt>.    **/    protected void setInitialBundleStartLevel(int startLevel)    {        if (System.getSecurityManager() != null)        {            AccessController.checkPermission(m_adminPerm);        }        if (startLevel <= 0)        {            throw new IllegalArgumentException(                "Initial start level must be greater than zero.");        }        setConfigProperty(            OscarConstants.BUNDLE_STARTLEVEL_PROP,            Integer.toString(startLevel));    }    /**     * Returns the start level for the specified bundle; this method     * implements functionality for the Start Level service.     * @param bundle the bundle to examine.     * @return the start level of the specified bundle.     * @throws java.lang.IllegalArgumentException if the specified     *          bundle has been uninstalled.    **/    protected int getBundleStartLevel(Bundle bundle)    {        if (bundle.getState() == Bundle.UNINSTALLED)        {            throw new IllegalArgumentException("Bundle is uninstalled.");        }        return ((BundleImpl) bundle).getInfo().getStartLevel(getInitialBundleStartLevel());    }    /**     * Sets the start level of the specified bundle; this method     * implements functionality for the Start Level service.     * @param bundle the bundle whose start level is to be modified.     * @param startLevel the new start level of the specified bundle.     * @throws java.lang.IllegalArgumentException if the specified     *          bundle is the system bundle or if the bundle has been     *          uninstalled.     * @throws java.security.SecurityException if the caller does not     *          have <tt>AdminPermission</tt>.    **/    protected void setBundleStartLevel(Bundle bundle, int startLevel)    {        if (System.getSecurityManager() != null)        {            AccessController.checkPermission(m_adminPerm);        }        // Cannot change the system bundle.        if (bundle.getBundleId() == 0)        {            throw new IllegalArgumentException(                "Cannot change system bundle start level.");        }        else if (bundle.getState() == Bundle.UNINSTALLED)        {            throw new IllegalArgumentException("Bundle is uninstalled.");        }        if (startLevel >= 1)        {            BundleImpl impl = (BundleImpl) bundle;            impl.getInfo().setStartLevel(startLevel);            try            {                m_cache.getArchive(impl.getBundleId()).setStartLevel(startLevel);            }            catch (Exception ex)            {                Oscar.error("Unable to save start level.", ex);            }            try            {                // Start or stop the bundle if necessary.                if (impl.getInfo().getStartLevel(getInitialBundleStartLevel())                    <= getStartLevel())                {                    startBundleWithStartLevel(impl);                }                else                {                    stopBundleWithStartLevel(impl);                }            }            catch (Throwable th)            {                fireFrameworkEvent(FrameworkEvent.ERROR, impl, th);                Oscar.error("Error starting/stopping bundle.", th);            }        }    }    /**     * Returns whether a bundle is persistently started; this is an     * method implementation for the Start Level service.     * @param bundle the bundle to examine.     * @return <tt>true</tt> if the bundle is marked as persistently     *          started, <tt>false</tt> otherwise.     * @throws java.lang.IllegalArgumentException if the specified

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久99精品免费观看不卡| 日韩欧美一二三四区| 国产美女在线精品| 麻豆久久一区二区| 三级成人在线视频| 首页欧美精品中文字幕| 亚洲va韩国va欧美va精品| 亚洲图片欧美色图| 日韩av网站免费在线| 美女视频黄免费的久久| 久久成人久久爱| 国产综合久久久久影院| 国产美女一区二区| 成人精品高清在线| 色婷婷国产精品久久包臀| 色94色欧美sute亚洲线路二| 欧美四级电影网| 欧美高清www午色夜在线视频| 欧美日韩国产精品成人| 欧美一级生活片| 亚洲一区二区影院| 日韩精品一卡二卡三卡四卡无卡| 日日骚欧美日韩| 国产一区二区三区香蕉 | 狠狠久久亚洲欧美| 岛国一区二区在线观看| 在线观看国产91| 日韩精品一区二区三区四区| 欧美国产综合色视频| 亚洲资源在线观看| 蜜桃av一区二区三区电影| 国产伦精一区二区三区| 99麻豆久久久国产精品免费| 欧美中文字幕久久| 精品人伦一区二区色婷婷| 国产精品九色蝌蚪自拍| 午夜a成v人精品| 国产成人精品一区二区三区四区| 在线日韩国产精品| 欧美成人精品1314www| 日韩毛片高清在线播放| 美腿丝袜在线亚洲一区| 成人久久视频在线观看| 717成人午夜免费福利电影| 亚洲国产精品99久久久久久久久| 亚洲国产综合在线| 成人av在线网| 精品久久久三级丝袜| 亚洲精品免费播放| 国产成人免费av在线| 欧美一级久久久久久久大片| 中文字幕在线观看不卡| 精品制服美女丁香| 欧美日韩免费观看一区三区| 中文字幕亚洲综合久久菠萝蜜| 三级不卡在线观看| 91福利在线导航| 国产精品免费视频观看| 韩国精品主播一区二区在线观看| 色婷婷综合视频在线观看| 国产欧美精品一区二区色综合 | 中文字幕一区二区三区四区| 精品影视av免费| 欧美日韩1234| 一级做a爱片久久| 99久久亚洲一区二区三区青草| 2021国产精品久久精品| 日本不卡123| 欧美妇女性影城| 午夜国产精品影院在线观看| 色综合色综合色综合色综合色综合| 久久男人中文字幕资源站| 男男成人高潮片免费网站| 欧美最猛性xxxxx直播| 亚洲视频中文字幕| 丁香五精品蜜臀久久久久99网站 | 717成人午夜免费福利电影| 亚洲第一精品在线| 99精品视频在线观看免费| 亚洲va欧美va人人爽| 欧美日韩国产免费| 亚洲成av人片一区二区梦乃| 欧美色图在线观看| 日韩高清欧美激情| 成人一区二区视频| 亚洲视频一区二区免费在线观看| 成人在线综合网站| 亚洲欧美乱综合| 91国产精品成人| 手机精品视频在线观看| 91精品免费在线| 久久9热精品视频| 久久九九99视频| va亚洲va日韩不卡在线观看| 亚洲毛片av在线| 欧美另类一区二区三区| 久久国产剧场电影| 国产欧美一区二区精品久导航| 成人动漫视频在线| 亚洲妇熟xx妇色黄| 久久综合中文字幕| 99精品偷自拍| 日韩成人午夜精品| 国产亚洲精品bt天堂精选| 成人avav在线| 亚洲国产欧美在线人成| 欧美xxx久久| 99久久婷婷国产综合精品电影| 亚洲3atv精品一区二区三区| 欧美日韩日日夜夜| 成人综合婷婷国产精品久久蜜臀| 亚洲欧美偷拍另类a∨色屁股| 欧美亚洲禁片免费| 精品亚洲免费视频| 亚洲人123区| 26uuuu精品一区二区| 一本色道a无线码一区v| 美日韩一级片在线观看| **性色生活片久久毛片| 欧美mv日韩mv| 在线观看视频一区二区 | 亚洲欧洲在线观看av| 91国偷自产一区二区开放时间| 激情小说亚洲一区| 亚洲三级小视频| 欧美大片免费久久精品三p| 色综合天天性综合| 国产一区二区三区四区五区入口| 亚洲午夜三级在线| 国产精品久久久久精k8| 日韩欧美一卡二卡| 欧美高清dvd| 欧美午夜精品电影| 成人精品一区二区三区中文字幕| 热久久国产精品| 亚洲成av人片www| 亚洲男同性恋视频| 国产精品九色蝌蚪自拍| 久久久久久久久久久久电影 | 亚洲精品成人a在线观看| 久久久久久久av麻豆果冻| 在线播放欧美女士性生活| 色94色欧美sute亚洲线路一ni| 成人一区二区三区视频在线观看| 久久精品国产精品亚洲精品| 亚洲国产精品久久久久婷婷884| 国产精品欧美综合在线| 国产午夜精品理论片a级大结局| 日韩一区二区三区四区五区六区| 在线精品国精品国产尤物884a| thepron国产精品| 99视频精品在线| 国产69精品久久久久777| 国产永久精品大片wwwapp| 精品写真视频在线观看| 久久av中文字幕片| 国内精品伊人久久久久av影院| 看片网站欧美日韩| 极品美女销魂一区二区三区| 日韩精品视频网| 麻豆精品新av中文字幕| 美腿丝袜亚洲一区| 国产91色综合久久免费分享| 成人蜜臀av电影| 色婷婷综合久久| 欧美少妇xxx| 精品日韩欧美在线| 国产精品你懂的在线欣赏| 国产精品女主播在线观看| 亚洲精品视频免费看| 亚洲一区二区三区自拍| 水野朝阳av一区二区三区| 久久成人免费电影| www.av亚洲| 欧美老年两性高潮| xvideos.蜜桃一区二区| 国产精品人妖ts系列视频| 久久国产精品99久久久久久老狼 | 亚洲免费av高清| 色综合久久综合网97色综合| 91福利区一区二区三区| 日本精品一级二级| 在线观看欧美日本| 国产精品一区免费视频| 色综合一个色综合亚洲| 成人h精品动漫一区二区三区| 国产综合色在线视频区| 国产一区欧美二区| 激情欧美一区二区| 日韩电影一二三区| 天堂一区二区在线| 视频一区免费在线观看| 奇米影视一区二区三区小说| 日本欧美大码aⅴ在线播放| 欧美人xxxx| 国产精品久久久久久福利一牛影视| 国产精品美女久久久久久久| 中文字幕一区二| 伊人色综合久久天天人手人婷| 一区二区三区日本|