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

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

?? testmoduleoperations.java

?? cms是開源的框架
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * File   : $Source: /usr/local/cvs/opencms/test/org/opencms/module/TestModuleOperations.java,v $
 * Date   : $Date: 2006/03/27 14:53:04 $
 * Version: $Revision: 1.22 $
 *
 * This library is part of OpenCms -
 * the Open Source Content Mananagement System
 *
 * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * For further information about Alkacon Software GmbH, please see the
 * company website: http://www.alkacon.com
 *
 * For further information about OpenCms, please see the
 * project website: http://www.opencms.org
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package org.opencms.module;

import org.opencms.configuration.CmsConfigurationException;
import org.opencms.file.CmsObject;
import org.opencms.file.types.CmsResourceTypeUnknown;
import org.opencms.file.types.I_CmsResourceType;
import org.opencms.loader.CmsDumpLoader;
import org.opencms.main.CmsException;
import org.opencms.main.I_CmsEventListener;
import org.opencms.main.OpenCms;
import org.opencms.report.CmsShellReport;
import org.opencms.security.CmsSecurityException;
import org.opencms.test.OpenCmsTestCase;
import org.opencms.test.OpenCmsTestLogAppender;
import org.opencms.test.OpenCmsTestProperties;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import junit.extensions.TestSetup;
import junit.framework.Test;
import junit.framework.TestSuite;

/**
 * Unit tests for OpenCms module operations.<p>
 * 
 * @author Alexander Kandzior 
 * 
 * @version $Revision: 1.22 $
 */
public class TestModuleOperations extends OpenCmsTestCase {

    /**
     * Default JUnit constructor.<p>
     * 
     * @param arg0 JUnit parameters
     */
    public TestModuleOperations(String arg0) {

        super(arg0);
    }

    /**
     * Test suite for this test class.<p>
     * 
     * @return the test suite
     */
    public static Test suite() {

        OpenCmsTestProperties.initialize(org.opencms.test.AllTests.TEST_PROPERTIES_PATH);

        TestSuite suite = new TestSuite();
        suite.setName(TestModuleOperations.class.getName());

        suite.addTest(new TestModuleOperations("testModuleImport"));
        suite.addTest(new TestModuleOperations("testModuleExport"));
        suite.addTest(new TestModuleOperations("testOldModuleImport"));
        suite.addTest(new TestModuleOperations("testModuleImportMissingResTypeClass"));
        suite.addTest(new TestModuleOperations("testModuleDependencies"));
        suite.addTest(new TestModuleOperations("testModuleAdditionalResourcesWorkaround"));
        suite.addTest(new TestModuleOperations("testModuleActionClass"));

        TestSetup wrapper = new TestSetup(suite) {

            protected void setUp() {

                setupOpenCms("simpletest", "/sites/default/");
            }

            protected void tearDown() {

                removeOpenCms();
            }
        };

        return wrapper;
    }

    /**
     * Tests a module action class.<p>
     * 
     * @throws Throwable if something goes wrong
     */
    public void testModuleActionClass() throws Throwable {

        CmsObject cms = getCmsObject();
        echo("Testing module action class");

        String moduleName = "org.opencms.configuration.TestModule1";

        // basic check if the module was imported correctly (during configuration)
        if (!OpenCms.getModuleManager().hasModule(moduleName)) {
            fail("Module '" + moduleName + "' was not imported!");
        }

        CmsModule module = OpenCms.getModuleManager().getModule(moduleName);
        I_CmsModuleAction actionInstance = module.getActionInstance();

        if (actionInstance == null) {
            fail("Module '" + moduleName + "' has no action instance!");
        }

        if (!(actionInstance instanceof TestModuleActionImpl)) {
            fail("Module '" + moduleName + "' has action class of unexpected type!");
        }

        // since module is configured by default, initialize must have been already called
        assertEquals(true, TestModuleActionImpl.m_initialize);
        // since something was published during setup, module method must habe been called
        assertEquals(true, TestModuleActionImpl.m_publishProject);
        // other values should not have been changed
        assertEquals(false, TestModuleActionImpl.m_moduleUpdate);
        assertEquals(false, TestModuleActionImpl.m_moduleUninstall);
        assertEquals(false, TestModuleActionImpl.m_shutDown);
        // reset other module action values
        TestModuleActionImpl.m_cmsEvent = -1;
        TestModuleActionImpl.m_publishProject = false;

        // publish the current project
        cms.publishProject();
        assertEquals(true, TestModuleActionImpl.m_publishProject);
        assertTrue(TestModuleActionImpl.m_cmsEvent == I_CmsEventListener.EVENT_PUBLISH_PROJECT);

        // update the module
        CmsModule newModule = new CmsModule(
            module.getName(),
            module.getGroup(),
            module.getDescription(),
            module.getActionClass(),
            module.getDescription(),
            module.getVersion(),
            module.getAuthorName(),
            module.getAuthorEmail(),
            module.getDateCreated(),
            module.getUserInstalled(),
            module.getDateInstalled(),
            module.getDependencies(),
            module.getExportPoints(),
            module.getResources(),
            module.getParameters());

        // update the module
        OpenCms.getModuleManager().updateModule(cms, newModule);
        assertEquals(true, TestModuleActionImpl.m_moduleUpdate);

        // make sure we are in the "Offline" project
        cms.getRequestContext().setCurrentProject(cms.readProject("Offline"));
        assertEquals("Offline", cms.getRequestContext().currentProject().getName());

        // delete the module
        OpenCms.getModuleManager().deleteModule(cms, module.getName(), false, new CmsShellReport(cms.getRequestContext().getLocale()));
        assertEquals(true, TestModuleActionImpl.m_moduleUninstall);

        // reset module action values
        TestModuleActionImpl.m_cmsEvent = -1;
        TestModuleActionImpl.m_publishProject = false;

        // publish the current project 
        cms.publishProject();
        // since module was uninstalled, no update on action class must have happend
        assertEquals(false, TestModuleActionImpl.m_publishProject);
        assertTrue(TestModuleActionImpl.m_cmsEvent == -1);
    }

    /**
     * Tests a the "additionalresources" workaround.<p>
     * 
     * @throws Throwable if something goes wrong
     */
    public void testModuleAdditionalResourcesWorkaround() throws Throwable {

        CmsObject cms = getCmsObject();
        String moduleName = "org.opencms.test.additionalResourcesWorkaround";

        // first test - conversion of resources to "additionalresources"
        String res1 = "/system/modules/tests/test1/";
        String res2 = "/system/modules/tests/test2/";
        String res3 = "/system/modules/tests/test3/";
        String res4 = "/system/modules/tests/test4/";
        String res5 = "/system/modules/tests/test5/";

        List resources = new ArrayList();
        resources.add(res1);
        resources.add(res2);
        resources.add(res3);
        resources.add(res4);

        String sep = ";";
        String additionalResources = res1 + sep + res2 + sep + res3 + sep + res4;

        CmsModule module1;

        //  test - set resources based on "additionalresources"
        additionalResources += sep + "-" + sep + res5;

        Map parameters = new HashMap();
        parameters.put("additionalresources", additionalResources);

        module1 = new CmsModule(
            moduleName,
            "A test module for additioanlresources",
            "ModuleGroup",
            null,
            null,
            new CmsModuleVersion("1.0"),
            "Alexander Kandzior",
            "alex@opencms.org",
            System.currentTimeMillis(),
            null,
            0L,
            null,
            null,
            null,
            parameters);

        OpenCms.getModuleManager().addModule(cms, module1);
        module1 = OpenCms.getModuleManager().getModule(moduleName);

        assertTrue(module1.getResources().size() == 5);
        resources = module1.getResources();
        assertTrue(resources.contains(res1));
        assertTrue(resources.contains(res2));
        assertTrue(resources.contains(res3));
        assertTrue(resources.contains(res4));
        assertTrue(resources.contains(res5));

    }

    /**
     * Tests a module import.<p>
     * 
     * @throws Throwable if something goes wrong
     */
    public void testModuleDependencies() throws Throwable {

        CmsObject cms = getCmsObject();
        echo("Testing module dependencies");

        String moduleName = "org.opencms.test.modules.test2";

        String moduleFile = OpenCms.getSystemInfo().getAbsoluteRfsPathRelativeToWebInf(
            "packages/" + moduleName + ".zip");

        boolean caughtException = false;
        try {
            OpenCms.getImportExportManager().importData(cms, moduleFile, null, new CmsShellReport(cms.getRequestContext().getLocale()));
        } catch (CmsException e) {
            // any other CmsException means test failure
            caughtException = true;
        }

        // basic check if the module was _not_ imported
        if (!caughtException || OpenCms.getModuleManager().hasModule(moduleName)) {
            fail("Module '" + moduleName + "' was imported even though depdencies are not fullfilled!");
        }

        CmsModule module;
        module = CmsModuleImportExportHandler.readModuleFromImport(moduleFile);

        List dependencies = OpenCms.getModuleManager().checkDependencies(
            module,
            CmsModuleManager.DEPENDENCY_MODE_IMPORT);

        if (dependencies.size() != 2) {
            fail("Module '" + moduleName + "' has 2 dependencies, not " + dependencies.size());
        }

        CmsModuleDependency dep1 = new CmsModuleDependency("org.opencms.test.dependency1", new CmsModuleVersion("1.0"));
        CmsModuleDependency dep2 = new CmsModuleDependency("org.opencms.test.dependency2", new CmsModuleVersion("2.0"));

        if (!dependencies.contains(dep1)) {
            fail("Missing required dependency: " + dep1);
        }
        if (!dependencies.contains(dep2)) {
            fail("Missing required dependency: " + dep2);
        }

        // add one (of two) depdendencies, with different but o.k. version number
        addDependency(cms, new CmsModuleDependency(dep1.getName(), new CmsModuleVersion("2.5")));

        dependencies = OpenCms.getModuleManager().checkDependencies(module, CmsModuleManager.DEPENDENCY_MODE_IMPORT);

        if (dependencies.size() != 1) {
            fail("Module '" + moduleName + "' still needs 1 dependency, not " + dependencies.size());
        }

        if (!dependencies.contains(dep2)) {
            fail("Missing required dependency: " + dep2);
        }

        // add depdendency with wrong version
        CmsModuleDependency dep3 = new CmsModuleDependency("org.opencms.test.dependency2", new CmsModuleVersion("1.0"));
        addDependency(cms, dep3);

        dependencies = OpenCms.getModuleManager().checkDependencies(module, CmsModuleManager.DEPENDENCY_MODE_IMPORT);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品理论片| 国产日韩亚洲欧美综合| 亚洲国产另类av| 欧美亚洲国产一区二区三区va| 亚洲精品少妇30p| 日本丶国产丶欧美色综合| 一区二区三区四区精品在线视频 | 国产精品久久777777| 国产成人鲁色资源国产91色综| 亚洲国产精品精华液ab| 色综合久久六月婷婷中文字幕| 亚洲黄色小视频| 欧美日韩国产一级二级| 看片网站欧美日韩| 亚洲在线免费播放| 欧美高清你懂得| 极品少妇xxxx精品少妇| 国产精品你懂的在线欣赏| 色老汉av一区二区三区| 美女视频一区在线观看| 欧美激情综合网| 91福利在线观看| 国产一区二区三区香蕉| 亚洲欧美二区三区| 欧美一区二区三区免费大片| 国产成人8x视频一区二区| 亚洲黄网站在线观看| 欧美刺激午夜性久久久久久久| 国产精品夜夜嗨| 亚洲午夜电影网| 国产无人区一区二区三区| 91麻豆精品在线观看| 久久精品国产77777蜜臀| 国产精品三级av在线播放| 宅男在线国产精品| jiyouzz国产精品久久| 秋霞午夜av一区二区三区| 国产精品免费人成网站| 欧美一级免费大片| 91丨porny丨首页| 国产一区二区视频在线播放| 一区二区三区不卡视频| 国产欧美一区二区精品婷婷| 91精品国产综合久久婷婷香蕉| 国产91精品一区二区麻豆亚洲| 亚洲观看高清完整版在线观看 | 国产午夜精品福利| 欧美精品在欧美一区二区少妇| 成人精品视频一区二区三区| 日韩av一区二区三区四区| 亚洲欧美日韩中文播放| 国产情人综合久久777777| 欧美一级高清大全免费观看| 色综合一个色综合| 成人美女视频在线观看18| 久久99最新地址| 日韩不卡手机在线v区| 亚洲资源中文字幕| 中文一区一区三区高中清不卡| 这里只有精品视频在线观看| 91视频国产资源| 成人黄色一级视频| 精品综合久久久久久8888| 日韩和欧美一区二区三区| 中文字幕永久在线不卡| 国产欧美日韩视频在线观看| 日韩三级高清在线| 69久久夜色精品国产69蝌蚪网| 一本色道亚洲精品aⅴ| 国产成人aaa| 国产高清亚洲一区| 国产一区二区中文字幕| 免费不卡在线观看| 日韩在线播放一区二区| 亚洲第一福利视频在线| 亚洲在线免费播放| 亚洲国产精品久久人人爱蜜臀| 中文字幕字幕中文在线中不卡视频| 国产欧美一区在线| 国产精品人妖ts系列视频| 国产欧美精品一区| 国产精品免费久久久久| 国产精品美女久久久久av爽李琼| 日本一区二区三区dvd视频在线| 国产亚洲短视频| 国产精品激情偷乱一区二区∴| 亚洲国产成人一区二区三区| 日本一区二区免费在线观看视频| 国产亚洲一区二区三区四区 | 亚洲成人动漫一区| 亚洲成人免费电影| 免费成人av在线播放| 韩国三级电影一区二区| 国产福利一区二区三区| 成人性生交大合| 91麻豆国产在线观看| 欧美在线三级电影| 日韩一区国产二区欧美三区| 日韩欧美一区中文| 久久午夜色播影院免费高清 | 中文字幕一区二区三中文字幕| 亚洲区小说区图片区qvod| 亚洲激情图片小说视频| 亚洲成人久久影院| 久久草av在线| 成人h精品动漫一区二区三区| 色婷婷综合五月| 欧美日韩国产免费一区二区| 日韩欧美视频在线| 中文字幕乱码一区二区免费| 一区二区三区不卡视频| 玖玖九九国产精品| av日韩在线网站| 欧美人妖巨大在线| 国产欧美一区二区三区在线看蜜臀 | 欧美情侣在线播放| 精品91自产拍在线观看一区| 成人欧美一区二区三区小说| 一区二区三区在线免费视频 | 久久天堂av综合合色蜜桃网| 亚洲人一二三区| 轻轻草成人在线| 99免费精品在线| 日韩欧美另类在线| 亚洲精品乱码久久久久久久久| 男人的天堂亚洲一区| eeuss鲁片一区二区三区| 欧美一级xxx| 亚洲精品自拍动漫在线| 国内成人精品2018免费看| 色8久久人人97超碰香蕉987| 欧美精品一区男女天堂| 一区二区三区在线观看视频| 久久99国产精品尤物| 色八戒一区二区三区| 久久亚洲影视婷婷| 污片在线观看一区二区| 成人免费视频一区| 日韩亚洲欧美一区| 亚洲一区二区三区四区五区黄 | 亚洲综合无码一区二区| 亚洲精品视频在线| 青青草国产精品97视觉盛宴 | 亚洲成人精品在线观看| 国产99久久久精品| 日韩精品一区二区在线| 亚洲国产乱码最新视频| 91一区二区三区在线观看| 久久一夜天堂av一区二区三区 | 欧美变态tickling挠脚心| 亚洲国产一区二区视频| 91亚洲国产成人精品一区二区三 | 亚洲特级片在线| 国产成人精品综合在线观看 | 久久精品亚洲乱码伦伦中文| 亚洲精品国产一区二区三区四区在线| 精品一区二区免费| 欧美一区二区精品在线| 亚洲一区二区三区四区中文字幕| 国产99一区视频免费| 日韩欧美黄色影院| 日韩av一级片| 制服丝袜亚洲色图| 日本视频免费一区| 麻豆91在线看| 精品黑人一区二区三区久久| 国产精品99久久久久久久女警| 中文字幕中文字幕一区二区| 色婷婷香蕉在线一区二区| 性欧美大战久久久久久久久| 欧美成人猛片aaaaaaa| 高清成人免费视频| 亚洲综合色区另类av| 日韩欧美成人午夜| 成人激情开心网| 午夜精品福利一区二区三区av| 精品久久人人做人人爱| 99热在这里有精品免费| 日韩av一区二区在线影视| 国产亚洲精品免费| 在线观看av一区| 国模套图日韩精品一区二区| 有坂深雪av一区二区精品| 日韩色在线观看| 91在线视频免费观看| 日韩av一区二区三区| 中文字幕人成不卡一区| 6080国产精品一区二区| 波多野结衣中文字幕一区| 日产国产高清一区二区三区| 国产色产综合色产在线视频| 欧美男男青年gay1069videost| 国产成人在线观看| 婷婷综合另类小说色区| 国产欧美日产一区| 91精品国产91综合久久蜜臀| 不卡一卡二卡三乱码免费网站| 蜜桃免费网站一区二区三区| 亚洲天堂中文字幕| 久久精品欧美一区二区三区麻豆 |