⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preferenceinactiontest.java.svn-base

📁 portal越来越流行了
💻 SVN-BASE
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.pluto.testsuite.test;import java.io.IOException;import javax.portlet.ActionRequest;import javax.portlet.PortletPreferences;import javax.portlet.PortletRequest;import javax.portlet.ReadOnlyException;import javax.portlet.ValidatorException;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.pluto.testsuite.TestResult;import org.apache.pluto.testsuite.TestUtils;import org.apache.pluto.testsuite.annotations.DefaultTestPhase;import org.apache.pluto.testsuite.validator.PreferencesValidatorImpl;/** */@DefaultTestPhase(PortletRequest.ACTION_PHASE)public class PreferenceInActionTest extends PreferenceCommonTest {	/** Logger. */    private static final Log LOG = LogFactory.getLog(PreferenceInActionTest.class);    // Test Methods ------------------------------------------------------------    protected TestResult checkPreferenceValidator(ActionRequest request) {        TestResult result = new TestResult();        result.setDescription("Ensure the validator catches invalid preferences.");        result.setSpecPLT("14.4");        PortletPreferences preferences = request.getPreferences();        if (LOG.isDebugEnabled()) {        	LOG.debug("Original preferences:");        	logPreferences(preferences);        }        boolean exceptionThrown = false;        try {            preferences.setValue("TEST", " Spaces removed by trim ");            if (LOG.isDebugEnabled()) {            	LOG.debug("Modified VALIDATION_TEST_KEY preference:");            	logPreferences(preferences);            }            // Call store() method to invoke the validator.            preferences.store();        } catch (ReadOnlyException ex) {        	TestUtils.failOnException("Unable to set preference value.", ex, result);        	return result;        } catch (IOException ex) {        	TestUtils.failOnException("Unable to store preference value.", ex, result);        	return result;        } catch (ValidatorException ex) {        	// We are expecting this exception!            exceptionThrown = true;            // FIXME: what is going on below?            try {            	//get rid of spaces because it causes problems with reset() call.                preferences.setValue("TEST", "OK");            	preferences.reset("TEST");            } catch (Throwable th) {            	LOG.error(th);            }        }        if (exceptionThrown) {        	result.setReturnCode(TestResult.PASSED);        } else {        	result.setReturnCode(TestResult.FAILED);        	result.setResultMessage("Illegal value not caught by validator.");        }        return result;    }    protected TestResult checkOnePreferenceValidatorPerPortletDefinition(    		ActionRequest request) {        TestResult result = new TestResult();        result.setDescription("Ensure only one validator instance is created "        		+ "per portlet definition.");        result.setSpecPLT("14.4");        PortletPreferences preferences = request.getPreferences();        try {            preferences.setValue(            		PreferencesValidatorImpl.CHECK_VALIDATOR_COUNT,            		"true");            // Call store() method to invoke the validator.            preferences.store();            result.setReturnCode(TestResult.PASSED);        } catch (ReadOnlyException ex) {        	TestUtils.failOnException("Unable to set preference value.", ex, result);        } catch (IOException ex) {        	TestUtils.failOnException("Unable to store preference value.", ex, result);        } catch (ValidatorException ex) {        	TestUtils.failOnException("Unable to store preference value.", ex, result);        } finally {        	try {        		preferences.reset(PreferencesValidatorImpl.CHECK_VALIDATOR_COUNT);        		preferences.store();        	} catch (Exception ex) {        		TestUtils.failOnException("Unable to reset preference value for "        				+ PreferencesValidatorImpl.CHECK_VALIDATOR_COUNT,        				ex, result);        	}        }        return result;    }    protected TestResult checkStorePreferences(ActionRequest request) {        TestResult result = new TestResult();        result.setDescription("Ensure storage works for portlet preferences.");        result.setSpecPLT("14.1");        PortletPreferences preferences = request.getPreferences();        if (LOG.isDebugEnabled()) {        	LOG.debug("Preferences to store: " + preferences);        }        boolean setOccured = false;        boolean storeOccured = false;        try {        	// Set new value for preference "dummyName".            preferences.setValue(PREF_NAME, NEW_VALUE);            String value = preferences.getValue(PREF_NAME, DEF_VALUE);            if (NEW_VALUE.equals(value)) {                setOccured = true;            }            // Store the preference and get value.            preferences.store();            value = preferences.getValue(PREF_NAME, DEF_VALUE);            if (NEW_VALUE.equals(value)) {                storeOccured = true;            }        } catch (ReadOnlyException ex) {        	TestUtils.failOnException("Unable to set preference value.", ex, result);        	return result;        } catch (ValidatorException ex) {        	TestUtils.failOnException("Unable to store preference value.", ex, result);        	return result;        } catch(IOException ex) {        	TestUtils.failOnException("Unable to store preference value.", ex, result);        	return result;        } finally {            // Reset preference to default value, and store!        	try {        		preferences.reset(PREF_NAME);        		preferences.store();        	} catch (Exception ex) {            	TestUtils.failOnException("Unable to set preference value.", ex, result);            	return result;        	}        }        // Everything is OK.        if (setOccured && storeOccured) {        	result.setReturnCode(TestResult.PASSED);        }        // Error occurred when setting preference value.        else if (!setOccured) {        	result.setReturnCode(TestResult.WARNING);        	result.setResultMessage("A function upon which the reset test "        			+ "depends failed to execute as expected. "        			+ "Check the other test results in this test suite.");        }        // Error occurred when storing preference value.        else {        	result.setReturnCode(TestResult.FAILED);        	result.setResultMessage("Preferences not successfully stored.");        }        return result;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -