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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? testmoduleoperations.java

?? cms是開(kāi)源的框架
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*
 * 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);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美在线网站| 成人激情校园春色| 欧美电影一区二区| 视频精品一区二区| 日韩精品中文字幕一区二区三区| 久热成人在线视频| 国产清纯白嫩初高生在线观看91 | 欧美精品一区二区蜜臀亚洲| 国产一区二区在线电影| 中文字幕第一区| 日本黄色一区二区| 婷婷久久综合九色国产成人| 日韩欧美www| 99久久精品国产毛片| 夜夜精品浪潮av一区二区三区| 欧美日韩国产大片| 国内精品久久久久影院薰衣草| 中文字幕国产一区| 欧美日韩一二三| 国产激情视频一区二区在线观看 | 亚洲久草在线视频| 欧美一区二区视频在线观看| 国产成人午夜电影网| 一区二区三区在线视频免费| 日韩精品一区二区三区四区视频| 丁香桃色午夜亚洲一区二区三区| 一区二区三区欧美| 精品成人一区二区三区四区| 91麻豆精品在线观看| 日韩—二三区免费观看av| 国产亚洲欧洲997久久综合| 色天天综合色天天久久| 麻豆极品一区二区三区| 亚洲色图另类专区| 日韩欧美三级在线| 在线影视一区二区三区| 国产剧情在线观看一区二区| 亚洲国产一区视频| 国产亚洲一区二区在线观看| 欧美在线不卡视频| 国产999精品久久久久久| 天堂久久一区二区三区| 专区另类欧美日韩| 精品卡一卡二卡三卡四在线| 欧美午夜电影网| 风间由美性色一区二区三区| 蜜臀av亚洲一区中文字幕| 亚洲精品午夜久久久| 久久久久久久久99精品| 欧美日韩免费不卡视频一区二区三区 | 免费在线观看一区二区三区| 亚洲少妇30p| 国产女同性恋一区二区| 欧美一级高清大全免费观看| 在线观看免费视频综合| 丁香婷婷综合色啪| 国产伦精品一区二区三区视频青涩| 日本伊人精品一区二区三区观看方式| 《视频一区视频二区| 国产午夜亚洲精品理论片色戒| 日韩一级完整毛片| 欧美精品视频www在线观看| 色先锋资源久久综合| 成人av片在线观看| 播五月开心婷婷综合| 国产精品一区二区三区网站| 精品一区二区在线免费观看| 秋霞成人午夜伦在线观看| 亚洲一区在线看| 亚洲自拍偷拍九九九| 亚洲色欲色欲www在线观看| 成人免费小视频| 中文字幕一区二区三区在线播放| 国产精品成人免费在线| 欧美成人艳星乳罩| 国产日韩影视精品| 91色九色蝌蚪| 91视视频在线直接观看在线看网页在线看| 91国产精品成人| 欧美哺乳videos| 中文字幕在线观看不卡视频| 亚洲国产cao| 国产福利一区二区三区视频| 91麻豆蜜桃一区二区三区| 在线电影欧美成精品| 久久精品一区蜜桃臀影院| 一区二区三区欧美久久| 韩国av一区二区三区四区| 色av一区二区| 国产亚洲欧美日韩在线一区| 一个色妞综合视频在线观看| 国产在线精品一区二区三区不卡| 91网站视频在线观看| 精品成a人在线观看| 亚洲综合在线视频| 国产成人a级片| 7777精品伊人久久久大香线蕉完整版 | 日韩欧美二区三区| 一区二区三区四区国产精品| 国产一区在线看| 欧美日韩一区二区三区免费看| 国产日产亚洲精品系列| 日欧美一区二区| 一本大道久久a久久综合婷婷| 精品国产免费一区二区三区四区| 一区二区三区欧美视频| 风流少妇一区二区| 精品区一区二区| 日韩精品乱码av一区二区| 日本丶国产丶欧美色综合| 国产亚洲成aⅴ人片在线观看| 日本特黄久久久高潮| 在线免费观看一区| 日韩一区欧美一区| 国产成人无遮挡在线视频| 精品国产乱码久久久久久夜甘婷婷| 亚洲电影你懂得| 色先锋久久av资源部| 国产精品欧美极品| 国产精品一区二区三区四区| 日韩三级在线免费观看| 亚洲国产一区二区视频| 91免费看视频| 日韩美女啊v在线免费观看| 国产馆精品极品| 久久精品夜夜夜夜久久| 精品一区二区三区免费播放| 欧美一区二区三区视频在线观看| 亚洲午夜精品17c| 欧美日本一区二区在线观看| 亚洲视频你懂的| 色悠悠亚洲一区二区| 樱花草国产18久久久久| 色综合咪咪久久| 亚洲精选视频在线| 色哟哟欧美精品| 亚洲成人你懂的| 91精品国产色综合久久ai换脸| 午夜欧美2019年伦理| 欧美日韩在线播| 秋霞成人午夜伦在线观看| 欧美电影精品一区二区| 国产一区二区三区在线观看免费视频 | 日韩电影免费在线看| 欧美一区二区在线免费播放| 日本午夜精品一区二区三区电影| 日韩欧美激情一区| 精品一区二区三区在线观看 | 久久精品99久久久| 26uuu亚洲| 粉嫩aⅴ一区二区三区四区| 国产精品久久久久久久久免费丝袜 | 天天av天天翘天天综合网色鬼国产| 欧美日韩国产综合久久| 日韩精品一级二级| 久久夜色精品国产欧美乱极品| 国产成人午夜99999| 亚洲人成精品久久久久久| 欧美午夜一区二区三区免费大片| 五月天欧美精品| 久久嫩草精品久久久精品一| 成人黄色软件下载| 亚洲高清免费在线| 日韩一级大片在线观看| 国产成人精品免费视频网站| 亚洲免费看黄网站| 欧美一区二区日韩一区二区| 国产成人一区在线| 中文字幕一区二区在线播放| 7777精品伊人久久久大香线蕉经典版下载| 蜜桃视频在线一区| 国产精品你懂的| 欧美二区三区91| 国产成人av电影在线观看| 亚洲日韩欧美一区二区在线| 在线播放国产精品二区一二区四区 | 国产精品综合av一区二区国产馆| 综合精品久久久| 91精品国产一区二区| 风流少妇一区二区| 三级精品在线观看| 国产精品无遮挡| 欧美日本在线视频| 成人av网站在线观看免费| 视频一区二区中文字幕| 欧美国产综合一区二区| 欧美日韩国产精品自在自线| 成人一区二区三区视频| 亚洲成人av在线电影| 欧美激情一区在线| 制服丝袜成人动漫| 99re这里都是精品| 国产在线一区观看| 亚洲.国产.中文慕字在线| 欧美国产精品一区二区三区| 91精品国产欧美一区二区18| 91免费看片在线观看| 国产一区二区毛片| 日本伊人精品一区二区三区观看方式| 亚洲三级免费电影|