📄 preferencecommontest.java.svn-base
字号:
// Everything is OK. if (setOccured && resetOccured) { result.setReturnCode(TestResult.PASSED); } // Error occurred when setting or storing preferences. 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 resetting preference. else { result.setReturnCode(TestResult.FAILED); result.setResultMessage("Preferences value was not successfully reset after store"); } return result; } protected TestResult checkResetPreferenceWithoutDefault(PortletRequest request) { TestResult result = new TestResult(); result.setDescription("Ensure preferences are properly reset (removed) " + "when the default value is not defined."); result.setSpecPLT("14.1"); PortletPreferences preferences = request.getPreferences(); boolean setOccured = false; boolean resetOccured = false; try { // Set preference value to overwrite the original (null). preferences.setValue(BOGUS_KEY, NEW_VALUE); String value = preferences.getValue(BOGUS_KEY, DEF_VALUE); if (NEW_VALUE.equals(value)) { setOccured = true; } // Reset preference value to null. preferences.reset(BOGUS_KEY); value = preferences.getValue(BOGUS_KEY, DEF_VALUE); if (DEF_VALUE.equals(value)) { resetOccured = true; } } catch (ReadOnlyException ex) { TestUtils.failOnException("Unable to set preference value.", ex, result); return result; } // Everything is OK. if (setOccured && resetOccured) { result.setReturnCode(TestResult.PASSED); } // Error occurred when setting or storing preferences. 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 resetting preference value. else { result.setReturnCode(TestResult.FAILED); result.setResultMessage("Preferences value was not successfully " + "reset after store."); } return result; } protected TestResult checkModifyReadOnlyPreferences(PortletRequest request) { TestResult result = new TestResult(); result.setDescription("Ensure that setValue() / setValues() / reset() " + "methods throw ReadOnlyException when invoked " + "on read-only preferences."); result.setSpecPLT("14.1"); PortletPreferences preferences = request.getPreferences(); if (!preferences.isReadOnly(READ_ONLY_PREF_NAME)) { result.setReturnCode(TestResult.WARNING); result.setResultMessage("Preference " + READ_ONLY_PREF_NAME + " is not a read-only preference. " + "This may be due to misconfiuration."); return result; } boolean setValueOK = false; boolean setValuesOK = false; boolean resetOK = false; // Check setValue() method. try { preferences.setValue(READ_ONLY_PREF_NAME, "written"); } catch (ReadOnlyException ex) { setValueOK = true; } // Check setValues() method. try { preferences.setValues(READ_ONLY_PREF_NAME, new String[] { "written" }); } catch (ReadOnlyException ex) { setValuesOK = true; } // Check reset() method. try { preferences.reset(READ_ONLY_PREF_NAME); } catch (ReadOnlyException ex) { resetOK = true; } if (setValueOK && setValuesOK && resetOK) { result.setReturnCode(TestResult.PASSED); } else { result.setReturnCode(TestResult.FAILED); StringBuffer buffer = new StringBuffer(); if (!setValueOK) { buffer.append("setValue(..), "); } if (!setValuesOK) { buffer.append("setValues(..), "); } if (!resetOK) { buffer.append("reset(..), "); } result.setResultMessage("Method(s) [" + buffer.toString() + "] invoked on read-only preference (" + READ_ONLY_PREF_NAME + ") without ReadOnlyException."); } return result; } protected TestResult checkGetPreferenceNames(PortletRequest request) { TestResult result = new TestResult(); result.setDescription("Ensure returned enumeration is valid."); result.setSpecPLT("14.1"); PortletPreferences preferences = request.getPreferences(); Map<String, String[]> prefMap = preferences.getMap(); boolean hasAll = true; for (Enumeration<String> en = preferences.getNames(); en.hasMoreElements(); ) { if (!prefMap.containsKey(en.nextElement())) { hasAll = false; break; } } if (hasAll) { result.setReturnCode(TestResult.PASSED); } else { result.setReturnCode(TestResult.FAILED); result.setResultMessage("At least one name is not found " + "in the preference map."); } return result; } /** * FIXME: */ protected TestResult checkGetPreferenceMap(PortletRequest request) { TestResult result = checkGetPreferenceNames(request); result.setDescription("Ensure returned map is valid."); result.setSpecPLT("14.1"); return result; } /** * Check (xci) SPEC 91, PLT 14.1: Preferences values are not modified * if the values in the Map are altered. */ protected TestResult checkPreferenceValueNotModified(PortletRequest request) { TestResult result = new TestResult(); result.setDescription("Preferences values are not modified if " + "the values in the returned preference Map are altered."); result.setSpecPLT("14.1"); PortletPreferences preferences = request.getPreferences(); if (LOG.isDebugEnabled()) { LOG.debug("Original Preferences:"); logPreferences(preferences); } // Modify the returned preference map. Map<String, String[]> prefMap = preferences.getMap(); String[] values = (String[]) prefMap.get(PREF_NAME); String originalValue = null; String modifiedValue = "Value modified in preferences map."; if (values != null && values.length == 1) { originalValue = values[0]; values[0] = modifiedValue; } // Check if the value held by portlet preferences is modified. if (LOG.isDebugEnabled()) { LOG.debug("Modified Preferences:"); logPreferences(preferences); } String newValue = preferences.getValue(PREF_NAME, DEF_VALUE); if (newValue != null && newValue.equals(originalValue)) { result.setReturnCode(TestResult.PASSED); } else { result.setReturnCode(TestResult.FAILED); result.setResultMessage("Preference value modified according to " + "the preference map."); } return result; } // Debug Methods ----------------------------------------------------------- /** * Logs out the portlet preferences. * @param preferences PortletPreferences to log. */ protected void logPreferences(PortletPreferences preferences) { StringBuffer buffer = new StringBuffer(); Map<String, String[]> map = preferences.getMap(); for (String key : map.keySet()) { String[] values = (String[]) map.get(key); buffer.append(key).append("="); if (values != null) { buffer.append("{"); for (int i = 0; i < values.length; i++) { buffer.append(values[i]); if (i < values.length - 1) { buffer.append(","); } } buffer.append("}"); } else { // Spec allows null values. buffer.append("NULL"); } buffer.append(";"); } LOG.debug("PortletPreferences: " + buffer.toString()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -