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

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

?? castorpsmlmanagerservice.java

?? jetspeed源代碼
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
                                             state);
            subQuery(qs, absPath);
        }

        return list.iterator();
    }

    /** Create a profile based on import flag.
     *
     */
    protected Profile createProfile()
    {
        if (importFlag)
            return new ImportProfile(this, this.consumer);
        else
            return Profiler.createProfile();
    }

    protected Profile createProfile(ProfileLocator locator)
    {
        if (importFlag)
            return new ImportProfile(this, this.consumer, locator);
        else
            return Profiler.createProfile(locator);
    }

    /** Query for a collection of profiles given a profile locator criteria.
     *  This method should be used when importing or exporting profiles between services.
     *
     * @param locator The profile locator criteria.
     * @return The count of profiles exported.
     */
    public int export(PsmlManagerService consumer, QueryLocator locator)
    {
        importFlag = true;
        Iterator profiles = null;
        int count = 0;
        try
        {
            this.consumer = consumer;
            profiles = query(locator);

            while (profiles.hasNext() )
            {
                Profile profile = (Profile)profiles.next();
                //dumpProfile(profile);
                try
                {
                    consumer.createDocument(profile);
                    count++;
                }
                catch (Exception ex)
                {
                    try
                    {
                        consumer.store(profile);
                        count++;
                    }
                    catch (Exception e)
                    {
                        logger.error("PSMLManager: Failed to export profiles to DB: " + profile, ex );
                    }
                }
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
            logger.error("PSMLManager: Failed to export profiles to DB: " , e );

        }
        finally
        {
            importFlag = false;
        }
        return count;
    }


    /** Query for a collection of profiles given a profile locator criteria.
     *  To specify 'all' - use '*' in the criteria
     *
     * @param locator The profile locator criteria.
     */
    protected void subQuery(QueryState qs, String path)
    {
        File file = new File(path);
        if (file.isFile())
        {
            try
            {
                String filename = file.getName();
                if (!filename.endsWith(this.ext))
                    return;

                Profile clone = (Profile)qs.profile.clone();
                clone.setName(filename);
                qs.list.add( clone );
            }
            catch (Exception e)
            {
                logger.error("PSMLManager: Failed to clone profile: " + path + " : " + e, e);
            }
        }
        else if (file.isDirectory())
        {
            String dirName = file.getName();
            qs.state++;

            // filter out based on name, mediatype, language, country
            if (qs.state == STATE_NAME)
            {
                if (null != qs.name)
                {
                    if (!dirName.equals(qs.name))
                        return;
                }
                try
                {
                    if (QUERY_BY_USER == qs.queryBy)
                    {
                        JetspeedUser user = (JetspeedUser)qs.profile.getUser();
                        if (null == user)
                        {
                            user = JetspeedUserFactory.getInstance();
                            user.setUserName(file.getName());
                            qs.profile.setUser(user);
                            qs.clearName = true;
                        }
                    }
                    else if (QUERY_BY_ROLE == qs.queryBy)
                    {
                        Role role = qs.profile.getRole();
                        if (null == role)
                        {
                            role = JetspeedRoleFactory.getInstance();
                            role.setName(file.getName());
                            qs.profile.setRole(role);
                            qs.clearName = true;
                        }
                    }
                    else if (QUERY_BY_GROUP == qs.queryBy)
                    {
                        Group group = qs.profile.getGroup();
                        if (null == group)
                        {
                            group = JetspeedGroupFactory.getInstance();
                            group.setName(file.getName());
                            qs.profile.setGroup(group);
                            qs.clearName = true;
                        }
                    }
                }
                catch (Exception e)
                {}


            }
            else if (qs.state == STATE_MEDIA)
            {
                String media = qs.locator.getMediaType();
                if (null != media)
                {
                    if (!dirName.equals(media))
                        return;
                }
                else
                {
                    qs.profile.setMediaType(dirName);
                    qs.clearMedia = true;
                }
            }
            else if (qs.state == STATE_LANGUAGE)
            {
                String language = qs.locator.getLanguage();
                if (null != language)
                {
                    if (!dirName.equals(language))
                        return;
                }
                else
                {
                    qs.profile.setLanguage(dirName);
                    qs.clearLanguage = true;
                }
            }
            else if (qs.state == STATE_COUNTRY)
            {
                String country = qs.locator.getCountry();
                if (null != country)
                {
                    if (!dirName.equals(country))
                        return;
                }
                else
                {
                    qs.profile.setCountry(dirName);
                    qs.clearCountry = true;
                }
            }

            if (!path.endsWith(File.separator))
                path += File.separator;

            String files[] = file.list();


            // Process all files recursivly
            for(int ix = 0; files != null && ix < files.length; ix++)
            {
                subQuery(qs, path + files[ix]);
            }

            // clear state
            if (qs.state == STATE_NAME && true == qs.clearName)
            {
                if (QUERY_BY_USER == qs.queryBy)
                    qs.profile.setUser(null);
                else if (QUERY_BY_ROLE == qs.queryBy)
                    qs.profile.setRole(null);
                else if (QUERY_BY_GROUP == qs.queryBy)
                    qs.profile.setGroup(null);
                qs.clearName = false;
            }
            else if (qs.state == STATE_MEDIA && true == qs.clearMedia)
            {
                qs.profile.setMediaType(null);
                qs.clearMedia = false;
            }
            else if (qs.state == STATE_LANGUAGE && true == qs.clearLanguage)
            {
                qs.profile.setLanguage(null);
                qs.clearLanguage = false;
            }
            else if (qs.state == STATE_COUNTRY && true == qs.clearCountry)
            {
                qs.profile.setCountry(null);
                qs.clearCountry = false;
            }

            qs.state--;

        }

    }

     static int QUERY_BY_USER = 0;
     static int QUERY_BY_ROLE = 1;
     static int QUERY_BY_GROUP = 2;

    protected class QueryState
    {

        QueryState( int queryBy,
                    Profile profile,
                    ProfileLocator locator,
                    List list,
                    String name,
                    int state)
        {
            this.queryBy = queryBy;
            this.profile = profile;
            this.locator = locator;
            this.list = list;
            this.name = name;
            this.state = state;
        }

        protected int queryBy;
        protected Profile profile;
        protected ProfileLocator locator;
        protected List list;
        protected String name;
        protected int state;

        protected boolean clearName = false;
        protected boolean clearMedia = false;
        protected boolean clearLanguage = false;
        protected boolean clearCountry = false;

    }

    protected void testCases()
    {
        try
        {
            QueryLocator locator = new QueryLocator( QueryLocator.QUERY_USER );
            Iterator x1 = query( locator );
            dump( x1 );

            QueryLocator locator2 = new QueryLocator( QueryLocator.QUERY_USER );
            locator2.setUser( JetspeedSecurity.getUser("turbine") );
            Iterator x2 = query( locator2 );
            dump( x2 );


            QueryLocator locator4 = new QueryLocator( QueryLocator.QUERY_GROUP );
//            locator4.setGroup( JetspeedSecurity.getGroup("apache") );
            Iterator x4 = query( locator4 );
            dump( x4 );
          }
        catch (Exception e)
        {
            System.out.println( "Exception in Debug:" + e);
        }
    }

    protected void dump( Iterator it )
    {
        System.out.println("===============================================");
        while (it.hasNext() )
        {
            Profile profile = (Profile)it.next();
            dumpProfile(profile);
        }
        System.out.println("===============================================");
    }

    protected void dumpProfile(Profile profile)
    {
        JetspeedUser user = profile.getUser();
        Group group = profile.getGroup();
        Role role = profile.getRole();
        if (profile.getAnonymous() == true)
            System.out.println("ANON USER");
        System.out.println("RESOURCE = " + profile.getName());
        if (null != user)
            System.out.println("USER = " + user.getUserName() );
        if (null != group)
            System.out.println("GROUP = " + group.getName() );
        if (null != role)
            System.out.println("ROLE = " + role.getName() );
        System.out.println("MEDIA TYPE = " + profile.getMediaType());
        System.out.println("LANGUAGE = " + profile.getLanguage());
        System.out.println("COUNTRY = " + profile.getCountry());
        PSMLDocument doc = profile.getDocument();
        if (null == doc)
            System.out.println("Document is null");
        else
        {
            if (null == profile.getName())
                System.out.println("profile name is null");
            else
                System.out.println("Doc.name=" + profile.getName());
        }

        System.out.println("----------------------");
    }

    /**
     * Refresh event, called when the entry is being refreshed from file system.
     *
     * @param entry the entry being refreshed.
     */
    public void refresh(FileCacheEntry entry)
    {
        if (logger.isInfoEnabled())
        {
            logger.info("CastorPsmlManager: Entry is refreshing: " + entry.getFile().getPath());
        }

        Profile profile = (Profile) entry.getDocument();
        String path = null;

        if (profile != null)
        {
            try
            {
                path = entry.getFile().getCanonicalPath();
                profile.setDocument(loadDocument(path));
            }
            catch(java.io.IOException e)
            {
                logger.error("CastorPsmlManager: Failed to refresh document "+path);
            }
        }
    }

    /**
     * Evict event, called when the entry is being evicted out of the cache
     *
     * @param entry the entry being refreshed.
     */
    public void evict(FileCacheEntry entry)
    {
        System.out.println("entry is evicting: " + entry.getFile().getName());
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合一区二区| 99久久精品费精品国产一区二区| 国产精品嫩草影院av蜜臀| 欧美伊人精品成人久久综合97| 久久69国产一区二区蜜臀| 亚洲综合一区二区精品导航| 久久人人爽人人爽| 欧美一区二区精美| 在线精品视频免费播放| 成人高清免费观看| 国产在线播放一区三区四| 亚洲最色的网站| 国产精品欧美经典| 久久精品夜夜夜夜久久| 欧美一级二级三级蜜桃| 欧美性xxxxx极品少妇| www.在线成人| 成人性生交大片免费| 精品一区二区三区免费视频| 午夜国产精品一区| 亚洲国产一二三| 亚洲精品欧美综合四区| 国产精品护士白丝一区av| 国产日韩高清在线| 国产亚洲欧美在线| 久久久精品2019中文字幕之3| 91精品国产综合久久香蕉麻豆| 欧美三级中文字| 欧美三级乱人伦电影| 91福利精品视频| 色综合激情五月| 在线免费av一区| 欧美一a一片一级一片| 欧美亚洲国产bt| 色婷婷激情一区二区三区| 91视频国产观看| 色综合久久综合网| 欧美主播一区二区三区| 欧美视频第二页| 欧美精选一区二区| 日韩视频中午一区| 精品福利一区二区三区免费视频| 91精品国产综合久久久蜜臀粉嫩| 日韩视频在线一区二区| 日韩免费看的电影| 久久精品欧美日韩精品| 国产精品女主播av| 亚洲精品美国一| 亚洲v精品v日韩v欧美v专区 | 亚洲少妇屁股交4| 最新热久久免费视频| 椎名由奈av一区二区三区| 一区二区三区中文在线| 午夜精品久久久久久不卡8050| 人人爽香蕉精品| 国产成人免费9x9x人网站视频| 成人黄色在线看| 欧美日韩一卡二卡三卡| 欧美va亚洲va在线观看蝴蝶网| 国产视频亚洲色图| 一区二区日韩电影| 秋霞午夜av一区二区三区| 极品少妇一区二区三区精品视频| 国产成人免费高清| 欧美三级日韩三级国产三级| 欧美一级一区二区| 中文文精品字幕一区二区| 亚洲综合图片区| 国内精品自线一区二区三区视频| 成人av在线播放网址| 在线观看成人小视频| 精品成人一区二区| 亚洲视频狠狠干| 蜜臀av一区二区三区| 不卡一区在线观看| 日韩丝袜美女视频| 中文字幕一区二区三区av| 日本午夜一本久久久综合| www.亚洲在线| 日韩精品一区二区三区在线观看| 国产精品久久久久影院老司| 日韩一区精品视频| 成人app软件下载大全免费| 欧美丰满高潮xxxx喷水动漫| 国产精品久久久久久久岛一牛影视 | 亚洲精品国产第一综合99久久 | 日本成人在线视频网站| 成人性生交大片免费看中文| 制服丝袜成人动漫| 亚洲图片你懂的| 91在线视频免费观看| 精品国产凹凸成av人网站| 亚洲一卡二卡三卡四卡无卡久久| 久久www免费人成看片高清| 91福利视频网站| 中国av一区二区三区| 久久国产精品色婷婷| 欧美在线播放高清精品| 国产精品视频免费| 韩国成人在线视频| 91精品国产欧美一区二区成人| 日韩理论电影院| 成人免费毛片高清视频| 欧美大尺度电影在线| 天天综合日日夜夜精品| 色综合久久综合网| 国产精品理论片在线观看| 国产一区二区三区在线观看精品| 88在线观看91蜜桃国自产| 亚洲激情五月婷婷| 99综合电影在线视频| 久久蜜臀精品av| 韩国av一区二区三区四区| 777色狠狠一区二区三区| 一区二区日韩电影| 一本久道久久综合中文字幕 | 欧美视频在线观看一区二区| 国产精品的网站| 成人性视频网站| 国产欧美精品一区二区三区四区 | 亚洲免费在线播放| 99视频在线精品| 亚洲欧洲精品一区二区精品久久久| 国产精品一二一区| 久久一区二区三区四区| 韩国成人福利片在线播放| 亚洲精品一区二区三区在线观看| 美女www一区二区| 日韩午夜中文字幕| 蜜臀精品一区二区三区在线观看 | 精久久久久久久久久久| 51午夜精品国产| 亚洲成av人在线观看| 欧美色电影在线| 日韩综合一区二区| 欧美一卡二卡在线观看| 美女在线观看视频一区二区| 日韩欧美一区二区免费| 精品亚洲国产成人av制服丝袜| 精品国产百合女同互慰| 国产精品91一区二区| 中文字幕av一区二区三区| 99re热这里只有精品视频| 亚洲精品菠萝久久久久久久| 欧美日韩亚州综合| 日本欧美一区二区在线观看| 日韩欧美一区二区三区在线| 在线精品亚洲一区二区不卡| 一二三区精品视频| 欧美日本国产一区| 麻豆视频观看网址久久| 久久久久久久性| 99精品在线观看视频| 亚洲男人天堂av| 538在线一区二区精品国产| 黑人巨大精品欧美黑白配亚洲| 国产欧美一区二区精品仙草咪| av在线免费不卡| 五月天亚洲婷婷| 欧美精品一区二区久久婷婷| 成人av在线影院| 亚洲国产欧美日韩另类综合| 欧美一区二区三区播放老司机| 国产精品中文有码| 亚洲六月丁香色婷婷综合久久| 欧美卡1卡2卡| 成人综合在线网站| 亚洲成av人片一区二区梦乃| 久久亚洲影视婷婷| 91国偷自产一区二区开放时间| 美女免费视频一区| 亚洲色图都市小说| 欧美一卡二卡三卡| av成人免费在线观看| 蜜臀av一区二区在线观看| 国产精品美女一区二区三区 | 2022国产精品视频| 一本色道亚洲精品aⅴ| 九九热在线视频观看这里只有精品| 国产精品视频一二三区 | 亚洲视频在线一区| 日韩一区二区三区免费看| 成人av电影观看| 麻豆国产欧美一区二区三区| 亚洲美女在线国产| 久久久久久久综合狠狠综合| 欧美日韩在线三区| 成人国产免费视频| 久久精品二区亚洲w码| 亚洲自拍另类综合| 国产精品色噜噜| 日韩欧美成人激情| 欧美日韩免费高清一区色橹橹 | 欧美在线制服丝袜| 国产a级毛片一区| 精品在线亚洲视频| 五月婷婷色综合| 一区二区三区色| 国产精品久久久久永久免费观看 | 欧美一区三区四区|