/* * � Copyright IBM Corp. 2012, 2013 * * Licensed 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. */ /* * Author: Maire Kehoe (mkehoe@ie.ibm.com) * Date: 15 Nov 2012 * ExtlibNoRunTimeBindingsTest.java */ package xsp.extlib.test.registry; import com.ibm.xsp.extlib.actions.client.dojo.AnimatePropertyAction; import com.ibm.xsp.extlib.actions.client.dojo.FadeInAction; import com.ibm.xsp.extlib.actions.client.dojo.FadeOutAction; import com.ibm.xsp.extlib.actions.client.dojo.fx.SlideToAction; import com.ibm.xsp.extlib.actions.client.dojo.fx.WipeInAction; import com.ibm.xsp.extlib.actions.client.dojo.fx.WipeOutAction; import com.ibm.xsp.extlib.actions.server.ChangeDynamicContentAction; import com.ibm.xsp.extlib.component.calendar.UINotesCalendarStore; import com.ibm.xsp.extlib.component.containers.UIWidgetContainer; import com.ibm.xsp.extlib.component.data.AbstractDataView; import com.ibm.xsp.extlib.component.data.IconColumn; import com.ibm.xsp.extlib.component.data.UIDataSourceIterator; import com.ibm.xsp.extlib.component.data.UIDataView; import com.ibm.xsp.extlib.component.data.ValueColumn; import com.ibm.xsp.extlib.component.dojo.UIDojoWidgetBase; import com.ibm.xsp.extlib.component.dojo.form.UIDojoCurrencyTextBox; import com.ibm.xsp.extlib.component.dojo.form.UIDojoDateTextBox; import com.ibm.xsp.extlib.component.dojo.form.UIDojoNumberTextBox; import com.ibm.xsp.extlib.component.dojo.form.UIDojoSliderRuleLabels; import com.ibm.xsp.extlib.component.dojo.form.UIDojoTimeTextBox; import com.ibm.xsp.extlib.component.dojoext.form.UIDojoExtImageSelect; import com.ibm.xsp.extlib.component.dojoext.form.UIDojoExtLinkSelect; import com.ibm.xsp.extlib.component.dojoext.form.UIDojoExtListTextBox; import com.ibm.xsp.extlib.component.image.UIMultiGraphic; import com.ibm.xsp.extlib.component.layout.UIApplicationLayout; import com.ibm.xsp.extlib.component.layout.impl.BasicApplicationConfigurationImpl; import com.ibm.xsp.extlib.component.layout.impl.SearchBar; import com.ibm.xsp.extlib.component.misc.RedirectRuleBase; import com.ibm.xsp.extlib.component.misc.UIRedirect; import com.ibm.xsp.extlib.component.mobile.UIMobilePage; import com.ibm.xsp.extlib.component.outline.AbstractOutline; import com.ibm.xsp.extlib.component.outline.UIOutlineGeneric; import com.ibm.xsp.extlib.component.picker.AbstractPicker; import com.ibm.xsp.extlib.component.picker.UINamePicker; import com.ibm.xsp.extlib.component.picker.UIValuePicker; import com.ibm.xsp.extlib.component.picker.data.NamePickerAggregatorData; import com.ibm.xsp.extlib.component.rest.AbstractRestService; import com.ibm.xsp.extlib.component.rest.CustomService; import com.ibm.xsp.extlib.component.rest.DominoCalendarJsonLegacyService; import com.ibm.xsp.extlib.component.rest.DominoDocumentService; import com.ibm.xsp.extlib.component.rest.DominoViewService; import com.ibm.xsp.extlib.component.rest.UIRestService; import com.ibm.xsp.extlib.component.rpc.RemoteMethod; import com.ibm.xsp.extlib.component.rpc.UIJsonRpcService; import com.ibm.xsp.extlib.component.tagcloud.UITagCloud; import com.ibm.xsp.extlib.component.tooltip.UITooltip; import com.ibm.xsp.extlib.model.DataAccessorSource; import com.ibm.xsp.extlib.model.ObjectDataSource; import com.ibm.xsp.extlib.tree.complex.ComplexContainerTreeNode; import com.ibm.xsp.extlib.tree.complex.PageTreeNode; import com.ibm.xsp.extlib.tree.complex.RepeatTreeNode; import com.ibm.xsp.extlib.tree.complex.ViewEntryTreeNode; import com.ibm.xsp.extlib.tree.complex.ViewListTreeNode; import com.ibm.xsp.extlib.validator.PickerValidator; import com.ibm.xsp.test.framework.registry.BaseNoRunTimeBindingsTest; import com.ibm.xsp.theme.bootstrap.components.layout.SimpleResponsiveApplicationConfiguration; import com.ibm.xsp.theme.bootstrap.components.responsive.UICarousel; import com.ibm.xsp.theme.bootstrap.components.responsive.UIDashboard; import com.ibm.xsp.theme.bootstrap.components.responsive.UINavbar; /** * * @author Maire Kehoe (mkehoe@ie.ibm.com) */ public class ExtlibNoRunTimeBindingsTest extends BaseNoRunTimeBindingsTest { private Object[][] disallowed = new Object[][]{ // === Start property allows multiple values === // /dwa-calendar.xsp-config new Object[]{UINotesCalendarStore.class, new String[]{"dojoAttributes"}}, // /extlib-domino-rest.xsp-config new Object[]{DominoViewService.class, new String[]{"columns"}}, new Object[]{DominoDocumentService.class, new String[]{"items"}}, // /extlib-redirect.xsp-config new Object[]{UIRedirect.class, new String[]{"rules"}}, new Object[]{RedirectRuleBase.class, new String[]{"extraParams"}}, // /extlib-layout.xsp-config new Object[]{BasicApplicationConfigurationImpl.class, new String[]{"bannerApplicationLinks"}}, new Object[]{BasicApplicationConfigurationImpl.class, new String[]{"bannerUtilityLinks"}}, new Object[]{BasicApplicationConfigurationImpl.class, new String[]{"titleBarTabs"}}, new Object[]{BasicApplicationConfigurationImpl.class, new String[]{"placeBarActions"}}, new Object[]{BasicApplicationConfigurationImpl.class, new String[]{"footerLinks"}}, new Object[]{SearchBar.class, new String[]{"options"}}, // /extlib-tooltip.xsp-config new Object[]{UITooltip.class, new String[]{"dojoAttributes"}}, // /extlib-dynamiccontent.xsp-config new Object[]{ChangeDynamicContentAction.class, new String[]{"parameters"}}, // /extlib-rpc.xsp-config new Object[]{UIJsonRpcService.class, new String[]{"methods"}}, new Object[]{RemoteMethod.class, new String[]{"arguments"}}, // /extlib-rest.xsp-config new Object[]{AbstractRestService.class, new String[]{"dojoAttributes"}}, // /extlib-picker.xsp-config new Object[]{AbstractPicker.class, new String[]{"dojoAttributes"}}, new Object[]{NamePickerAggregatorData.class, new String[]{"dataProviders"}}, // /extlib-outline.xsp-config new Object[]{AbstractOutline.class, new String[]{"treeNodes"}}, new Object[]{ComplexContainerTreeNode.class, new String[]{"children"}}, new Object[]{PageTreeNode.class, new String[]{"children"}}, new Object[]{RepeatTreeNode.class, new String[]{"children"}}, // /extlib-data-viewpanels.xsp-config new Object[]{UIMultiGraphic.class, new String[]{"icons"}}, new Object[]{UIDataView.class, new String[]{"categoryColumn"}}, new Object[]{UIDataView.class, new String[]{"extraColumns"}}, new Object[]{IconColumn.class, new String[]{"icons"}}, // /extlib-form.xsp-config new Object[]{UIDojoExtImageSelect.class, new String[]{"imageValues"}}, // /extlib-dojo-fx-actions.xsp-config new Object[]{FadeOutAction.class, new String[]{"attributes"}}, new Object[]{FadeInAction.class, new String[]{"attributes"}}, new Object[]{AnimatePropertyAction.class, new String[]{"attributes"}}, new Object[]{AnimatePropertyAction.class, new String[]{"properties"}}, new Object[]{WipeInAction.class, new String[]{"attributes"}}, new Object[]{WipeOutAction.class, new String[]{"attributes"}}, new Object[]{SlideToAction.class, new String[]{"attributes"}}, // /extlib-dojo-form.xsp-config new Object[]{UIDojoSliderRuleLabels.class, new String[]{"labelsList"}}, // /extlib-dojo-base.xsp-config new Object[]{UIDojoWidgetBase.class, new String[]{"dojoAttributes"}}, // /extlib-containers.xsp-config new Object[]{UIWidgetContainer.class, new String[]{"dropDownNodes"}}, new Object[]{UIWidgetContainer.class, new String[]{"accesskey"}}, new Object[]{UIWidgetContainer.class, new String[]{"tabindex"}}, // /extlib-mobile.xsp-config new Object[]{UIMobilePage.class, new String[]{"attrs"}}, // === end property allows multiple values === // === Start disallow because: property-name {0} usually disallows. // /extlib-domino-rest.xsp-config new Object[]{DominoViewService.class, new String[]{"var"}}, new Object[]{DominoCalendarJsonLegacyService.class, new String[]{"var"}}, new Object[]{DominoDocumentService.class, new String[]{"var"}}, // /extlib-domino-outline.xsp-config new Object[]{ViewListTreeNode.class, new String[]{"var"}}, new Object[]{ViewEntryTreeNode.class, new String[]{"var"}}, // /extlib-outline.xsp-config new Object[]{RepeatTreeNode.class, new String[]{"var"}}, // /extlib-datasource.xsp-config new Object[]{DataAccessorSource.class, new String[]{"var"}}, new Object[]{ObjectDataSource.class, new String[]{"var"}}, // === end disallow because: property-name {0} usually disallows. // === Start disallow because: property-name suffix {Var} usually disallows // /extlib-rest.xsp-config new Object[]{CustomService.class, new String[]{"requestVar"}}, // /extlib-outline.xsp-config new Object[]{RepeatTreeNode.class, new String[]{"indexVar"}}, // === end disallow because: property-name suffix {Var} usually disallows // === Start disallow because: property-class corresponds to complex-type class // /extlib-layout.xsp-config new Object[]{UIApplicationLayout.class, new String[]{"configuration"}}, new Object[]{BasicApplicationConfigurationImpl.class, new String[]{"searchBar"}}, // /extlib-rest.xsp-config new Object[]{UIRestService.class, new String[]{"service"}}, // /extlib-tagcloud.xsp-config new Object[]{UITagCloud.class, new String[]{"cloudData"}}, // /extlib-picker.xsp-config new Object[]{UIValuePicker.class, new String[]{"dataProvider"}}, new Object[]{UINamePicker.class, new String[]{"dataProvider"}}, new Object[]{PickerValidator.class, new String[]{"dataProvider"}}, // /extlib-outline.xsp-config new Object[]{UIOutlineGeneric.class, new String[]{"treeRenderer"}}, // /extlib-data-viewpanels.xsp-config new Object[]{UIDataSourceIterator.class, new String[]{"data"}}, new Object[]{AbstractDataView.class, new String[]{"summaryColumn"}}, new Object[]{UIDataView.class, new String[]{"iconColumn"}}, new Object[]{ValueColumn.class, new String[]{"converter"}}, // /extlib-form.xsp-config new Object[]{UIDojoExtListTextBox.class, new String[]{"dataProvider"}}, new Object[]{UIDojoExtLinkSelect.class, new String[]{"dataProvider"}}, // /extlib-dojo-form.xsp-config new Object[]{UIDojoNumberTextBox.class, new String[]{"constraints"}}, new Object[]{UIDojoCurrencyTextBox.class, new String[]{"constraints"}}, new Object[]{UIDojoDateTextBox.class, new String[]{"constraints"}}, new Object[]{UIDojoTimeTextBox.class, new String[]{"constraints"}}, new Object[]{UIDojoSliderRuleLabels.class, new String[]{"constraints"}}, // /extlib-bootstrap.xsp-config new Object[]{SimpleResponsiveApplicationConfiguration.class, new String[]{"navbarUtilityLinks"}}, new Object[]{SimpleResponsiveApplicationConfiguration.class, new String[]{"navbarAppLinks"}}, new Object[]{SimpleResponsiveApplicationConfiguration.class, new String[]{"searchBar"}}, new Object[]{UIDashboard.class, new String[]{"dashNodes"}}, new Object[]{UINavbar.class, new String[]{"navbarBeforeLinks"}}, new Object[]{UINavbar.class, new String[]{"navbarAfterLinks"}}, new Object[]{UICarousel.class, new String[]{"slideNodes"}}, // === end disallow because: property-class corresponds to complex-type class }; private String[] skips = new String[]{ // These 6 simple action vars have already been shipped allowing runtime bindings, // so they can't be fixed without the possibility of breaking existing apps "com/ibm/xsp/extlib/config/extlib-dojo-fx-actions.xsp-config xe:dojoFadeOut var Property does not have <allow-run-time-binding>false< but disallow is expected because: property-name var usually disallows", "com/ibm/xsp/extlib/config/extlib-dojo-fx-actions.xsp-config xe:dojoFadeIn var Property does not have <allow-run-time-binding>false< but disallow is expected because: property-name var usually disallows", "com/ibm/xsp/extlib/config/extlib-dojo-fx-actions.xsp-config xe:dojoAnimateProperty var Property does not have <allow-run-time-binding>false< but disallow is expected because: property-name var usually disallows", "com/ibm/xsp/extlib/config/extlib-dojo-fx-actions.xsp-config xe:dojofxWipeIn var Property does not have <allow-run-time-binding>false< but disallow is expected because: property-name var usually disallows", "com/ibm/xsp/extlib/config/extlib-dojo-fx-actions.xsp-config xe:dojofxWipeOut var Property does not have <allow-run-time-binding>false< but disallow is expected because: property-name var usually disallows", "com/ibm/xsp/extlib/config/extlib-dojo-fx-actions.xsp-config xe:dojofxSlideTo var Property does not have <allow-run-time-binding>false< but disallow is expected because: property-name var usually disallows", // end 6 already shipped simple action vars }; @Override protected Object[][] getDisallowedBindingPropList() { return disallowed; } @Override protected String[] getSkips() { return skips; } }