/******************************************************************************* * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Exadel, Inc. and Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.ui.editor.form; import java.util.*; import org.jboss.tools.common.meta.XModelEntity; import org.jboss.tools.common.meta.impl.XModelMetaDataImpl; import org.jboss.tools.common.model.ui.forms.*; import org.jboss.tools.jsf.model.JSFConstants; /** * @author Igels */ public class JSFFormLayoutData implements IFormLayoutData, JSFConstants { private final static String STBFE_CLASS_NAME = "org.jboss.tools.common.model.ui.attribute.editor.JavaHyperlinkLineFieldEditor"; //$NON-NLS-1$ private final static String SBFEE_CLASS_NAME = "org.jboss.tools.common.model.ui.attribute.editor.StringButtonFieldEditorEx"; //$NON-NLS-1$ /** * * @param actionPath (non-translatable) * @return */ private static IFormActionData[] createDefaultFormActionData(String actionPath) { return FormLayoutDataUtil.createDefaultFormActionData(actionPath); } private final static IFormData FACTORIES_SUB_LIST_DEFINITION = new FormData( "Factories", "", //$NON-NLS-1$ "factory", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("application-factory", null, STBFE_CLASS_NAME), new FormAttributeData("faces-context-factory", null, STBFE_CLASS_NAME), new FormAttributeData("lifecycle-factory", null, STBFE_CLASS_NAME), new FormAttributeData("render-kit-factory", null, STBFE_CLASS_NAME)} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ); // Faces Config Lifecycle Form private final static IFormData LIFECYCLE_SUB_LIST_DEFINITION = new FormData( "Lifecycle", "", //$NON-NLS-1$ "lifecycle", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("phase-listener", 100)}, //$NON-NLS-1$ new String[]{"JSFPhaseListener"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreatePhaseListener", true) //$NON-NLS-1$ ); private final static IFormData[] FACES_CONFIG_DEFINITIONS = new IFormData[] { FACTORIES_SUB_LIST_DEFINITION, LIFECYCLE_SUB_LIST_DEFINITION, // ModelFormLayoutData.createAdvancedFormData(entityName) }; private final static IFormData[] FACES_CONFIG_20_DEFINITIONS = new IFormData[] { FACTORIES_SUB_LIST_DEFINITION, LIFECYCLE_SUB_LIST_DEFINITION, ModelFormLayoutData.createAdvancedFormData(ENT_FACESCONFIG_20) }; private final static IFormData[] FACES_CONFIG_22_DEFINITIONS = new IFormData[] { FACTORIES_SUB_LIST_DEFINITION, LIFECYCLE_SUB_LIST_DEFINITION, ModelFormLayoutData.createAdvancedFormData(ENT_FACESCONFIG_22) }; private final static IFormData ATTRIBUTES_FORM_DEFINITIONS = new FormData( "Attributes", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("attribute-name", 30, "name"), new FormAttributeData("attribute-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFAttribute"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateAttribute") //$NON-NLS-1$ ); private static IFormData PROPERTIES_FORM_DEFINITIONS = new FormData( "Properties", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("property-name", 30, "name"), new FormAttributeData("property-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFProperty"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateProperty") //$NON-NLS-1$ ); private final static IFormData FACETS_FORM_DEFINITIONS = new FormData( "Facets", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("facet-name", 100, "name")}, //$NON-NLS-1$ new String[]{"JSFFacet11"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateFacet") //$NON-NLS-1$ ); private final static IFormData VIEW_PARAM_LIST = new FormData( "View Params", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("name", 30), new FormAttributeData("value", 70)}, //$NON-NLS-1$ //$NON-NLS-2$ new String[]{"JSFViewParam"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateViewParam") //$NON-NLS-1$ ); /** * * @param name (translatable) * @param entity (non-translatable) * @param addAction (non-translatable) * @return */ static IFormData createResolver(String name, String entity, String addAction) { return new FormData( name, "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("class name", 100, "class name")}, //$NON-NLS-1$ new String[]{entity}, FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateResolvers." + addAction) //$NON-NLS-1$ ); } private final static IFormData[] APPLICATION_DEFINITIONS = new IFormData[] { new FormData( "Application", "", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFApplication") //$NON-NLS-1$ ), createResolver("Property Resolvers", "JSFPropertyResolver", "AddPropertyResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Variable Resolvers", "JSFVariableResolver", "AddVariableResolver"), //$NON-NLS-2$ //$NON-NLS-3$ new FormData( "Message Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("message-bundle", 100)}, //$NON-NLS-1$ new String[]{"JSFMessageBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddMessageBundle", true) //$NON-NLS-1$ ), new FormData("org.jboss.tools.jsf.ui.editor.form.LocaleConfigForm"), //$NON-NLS-1$ new FormData( "Advanced", "", //$NON-NLS-1$ FormLayoutDataUtil.createAdvancedFormAttributeData("JSFApplication") //$NON-NLS-1$ ) }; private final static IFormData[] APPLICATION_12_DEFINITIONS = new IFormData[] { new FormData( "Application", "", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFApplication12") //$NON-NLS-1$ ), createResolver("EL Resolvers", "JSFELResolver", "AddELResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Property Resolvers", "JSFPropertyResolver", "AddPropertyResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Variable Resolvers", "JSFVariableResolver", "AddVariableResolver"), //$NON-NLS-2$ //$NON-NLS-3$ new FormData( "Message Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("message-bundle", 100)}, //$NON-NLS-1$ new String[]{"JSFMessageBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddMessageBundle", true) //$NON-NLS-1$ ), new FormData( "Resource Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("base-name", 70), new FormAttributeData("var", 30)}, //$NON-NLS-1$ //$NON-NLS-2$ new String[]{"JSFResourceBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddResourceBundle") //$NON-NLS-1$ ), new FormData("org.jboss.tools.jsf.ui.editor.form.LocaleConfigForm"), //$NON-NLS-1$ new FormData( "Extensions", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("element type", 100, "element")}, //$NON-NLS-1$ new String[]{"JSFApplicationExtension"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$ ), new FormData( "Advanced", "", //$NON-NLS-1$ FormLayoutDataUtil.createAdvancedFormAttributeData("JSFApplication") //$NON-NLS-1$ ) }; private final static IFormData[] APPLICATION_20_DEFINITIONS = new IFormData[] { new FormData( "Application", "", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFApplication20") //$NON-NLS-1$ ), createResolver("EL Resolvers", "JSFELResolver", "AddELResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Property Resolvers", "JSFPropertyResolver", "AddPropertyResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Variable Resolvers", "JSFVariableResolver", "AddVariableResolver"), //$NON-NLS-2$ //$NON-NLS-3$ new FormData( "Message Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("message-bundle", 100)}, //$NON-NLS-1$ new String[]{"JSFMessageBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddMessageBundle", true) //$NON-NLS-1$ ), new FormData( "Resource Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("base-name", 70), new FormAttributeData("var", 30)}, //$NON-NLS-1$ //$NON-NLS-2$ new String[]{"JSFResourceBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddResourceBundle") //$NON-NLS-1$ ), new FormData("org.jboss.tools.jsf.ui.editor.form.LocaleConfigForm"), //$NON-NLS-1$ new FormData( "Default Validators", "", //$NON-NLS-1$ "Default Validators", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("validator-id", 100, "Validator ID")}, //$NON-NLS-1$ new String[]{"JSFDefaultValidator"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddDefaultValidator", true) //$NON-NLS-1$ ), new FormData( "Extensions", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("element type", 100, "element")}, //$NON-NLS-1$ new String[]{"JSFApplicationExtension"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$ ), new FormData( "Advanced", "", //$NON-NLS-1$ FormLayoutDataUtil.createAdvancedFormAttributeData("JSFApplication20") //$NON-NLS-1$ ) }; private final static IFormData[] APPLICATION_22_DEFINITIONS = new IFormData[] { new FormData( "Application", "", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFApplication22") //$NON-NLS-1$ ), createResolver("EL Resolvers", "JSFELResolver", "AddELResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Property Resolvers", "JSFPropertyResolver", "AddPropertyResolver"), //$NON-NLS-2$ //$NON-NLS-3$ createResolver("Variable Resolvers", "JSFVariableResolver", "AddVariableResolver"), //$NON-NLS-2$ //$NON-NLS-3$ new FormData( "Message Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("message-bundle", 100)}, //$NON-NLS-1$ new String[]{"JSFMessageBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddMessageBundle", true) //$NON-NLS-1$ ), new FormData( "Resource Bundles", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("base-name", 70), new FormAttributeData("var", 30)}, //$NON-NLS-1$ //$NON-NLS-2$ new String[]{"JSFResourceBundle"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddResourceBundle") //$NON-NLS-1$ ), new FormData("org.jboss.tools.jsf.ui.editor.form.LocaleConfigForm"), //$NON-NLS-1$ new FormData( "Default Validators", "", //$NON-NLS-1$ "Default Validators", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("validator-id", 100, "Validator ID")}, //$NON-NLS-1$ new String[]{"JSFDefaultValidator"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.AddDefaultValidator", true) //$NON-NLS-1$ ), //TODO new FormData( "Extensions", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("element type", 100, "element")}, //$NON-NLS-1$ new String[]{"JSFApplicationExtension"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$ ), new FormData( "Advanced", "", //$NON-NLS-1$ FormLayoutDataUtil.createAdvancedFormAttributeData("JSFApplication20") //$NON-NLS-1$ ) }; private final static IFormData APPLICATION_DEFINITION = new FormData("JSFApplication", new String[]{null}, APPLICATION_DEFINITIONS); //$NON-NLS-1$ private final static IFormData APPLICATION_12_DEFINITION = new FormData("JSFApplication12", new String[]{null}, APPLICATION_12_DEFINITIONS); //$NON-NLS-1$ private final static IFormData APPLICATION_20_DEFINITION = new FormData("JSFApplication20", new String[]{null}, APPLICATION_20_DEFINITIONS); //$NON-NLS-1$ private final static IFormData APPLICATION_22_DEFINITION = new FormData("JSFApplication22", new String[]{null}, APPLICATION_22_DEFINITIONS); //$NON-NLS-1$ /** * * @param entity (non-translatable) * @param name (translatable) * @return */ private final static IFormData createExtensionFormDefinition(String entity, String name) { return new FormData( entity, new String[]{null}, new IFormData[] { new FormData( name, "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("tag", 100)}, //$NON-NLS-1$ new String[]{"AnyElement"}, //$NON-NLS-1$ FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateTag") //$NON-NLS-1$ ), } ); } /** * * @param parentEntity (non-translatable) * @param childEntity (non-translatable) * @return */ private final static IFormData createComponentsFormDefinitions(String parentEntity, String childEntity) { return new FormData( "Components", "", //$NON-NLS-1$ parentEntity, new FormAttributeData[]{new FormAttributeData("component-type", 30, "type"), new FormAttributeData("component-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{childEntity}, createDefaultFormActionData("CreateActions.AddComponent") //$NON-NLS-1$ ); } /** * * @param entity (non-translatable) * @param facets * @return */ private final static IFormData createComponentFormDefinitions(String entity, boolean facets) { IFormData component = new FormData( "Component", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("component-type"), new FormAttributeData("component-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ); IFormData[] definitions = (facets) ? new IFormData[] {component, FACETS_FORM_DEFINITIONS, ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS} : new IFormData[] {component, ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS}; return new FormData(entity, new String[]{null}, definitions); } /** * * @param entity (non-translatable) * @param facets * @return */ private final static IFormData createBehaviorFormDefinitions(String entity) { IFormData behavior = new FormData( "Behavior", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("behavior-id"), new FormAttributeData("behavior-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ); IFormData[] definitions = new IFormData[] {behavior, ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS}; return new FormData(entity, new String[]{null}, definitions); } /** * * @param parentEntity (non-translatable) * @param childEntity (non-translatable) * @return */ private final static IFormData createRenderKitsFormDefinitions(String parentEntity, String childEntity) { return new FormData( "Render Kits", "", //$NON-NLS-1$ parentEntity, new FormAttributeData[]{new FormAttributeData("render-kit-id", 30, "id"), new FormAttributeData("render-kit-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{childEntity}, createDefaultFormActionData("CreateActions.AddRenderKit") //$NON-NLS-1$ ); } /** * * @param parentEntity (non-translatable) * @param childEntity (non-translatable) * @return */ private final static IFormData createRenderKitFormDefinitions(String parentEntity, String childEntity) { boolean is12 = parentEntity.endsWith(JSFConstants.SUFF_12); boolean is20 = parentEntity.endsWith(JSFConstants.SUFF_20); List<IFormData> result = new ArrayList<IFormData>(); result.add( new FormData( "Render Kit", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("render-kit-id"), new FormAttributeData("render-kit-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ) ); result.add( new FormData( "Renderers", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("renderer-class", 70, "class"), new FormAttributeData("renderer-type", 30, "type")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{childEntity}, createDefaultFormActionData("CreateActions.CreateRenderer") //$NON-NLS-1$ ) ); if(is20) { result.add( new FormData( "Client Behavior Renderers", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("renderer-class", 70, "class"), new FormAttributeData("renderer-type", 30, "type")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFClientBehaviorRenderer20"}, createDefaultFormActionData("CreateActions.CreateClientBehaviorRenderer") //$NON-NLS-1$ ) ); } if(is12 || is20) { result.add( new FormData( "Extensions", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("element type", 100, "element"), }, //$NON-NLS-1$ new String[]{"JSFRenderKitExtension"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$ ) ); } result.add( new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) ); return new FormData(parentEntity, new String[]{null}, result.toArray(new IFormData[0])); } /** * * @param entity (non-translatable) * @param facets * @return */ private final static IFormData createRendererFormDefinitions(String entity, boolean facets) { IFormData renderer = new FormData( "Renderer", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("renderer-class", null, STBFE_CLASS_NAME), new FormAttributeData("renderer-type", null, SBFEE_CLASS_NAME), new FormAttributeData("component-family"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ); IFormData types = new FormData( "Supported Component Types", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("attribute-names", 30), new FormAttributeData("component-type", 70)}, //$NON-NLS-1$ //$NON-NLS-2$ new String[]{"JSFSupportedComponentType"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateSupportedComponentType") //$NON-NLS-1$ ); IFormData classes = new FormData( "Supported Component Classes", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("attribute-names", 30), new FormAttributeData("component-class", 70)}, //$NON-NLS-1$ //$NON-NLS-2$ new String[]{"JSFSupportedComponentClass"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateSupportedComponentClass") //$NON-NLS-1$ ); IFormData advanced = new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ); IFormData[] definitions = (facets) ? new IFormData[] {renderer, FACETS_FORM_DEFINITIONS, ATTRIBUTES_FORM_DEFINITIONS, advanced} : new IFormData[] {renderer, ATTRIBUTES_FORM_DEFINITIONS, types, classes, advanced}; return new FormData(entity, new String[]{null}, definitions); } private final static IFormData createNavigationRulesFormDefinitions(String parentEntity, String childEntity) { return new FormData( "Navigation Rules", "", //$NON-NLS-1$ parentEntity, new FormAttributeData[]{new FormAttributeData("presentation", 100, "from-view-id")}, //$NON-NLS-1$ new String[]{childEntity}, createDefaultFormActionData("CreateActions.AddRule")); //$NON-NLS-1$ } private final static IFormData createNavigationRuleFormDefinitions(String parentEntity, String childEntity) { return new FormData( parentEntity, new String[]{null}, new IFormData[] { // Navigation Rule Form new FormData( "Navigation Rule", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("from-view-id", null, SBFEE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ ), // Navigation Cases Form new FormData( "Navigation Cases", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("from-outcome", 30), new FormAttributeData("from-action", 30), new FormAttributeData("to-view-id", 30), new FormAttributeData("redirect", 10)}, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ new String[]{childEntity}, createDefaultFormActionData("CreateActions.CreateCase") //$NON-NLS-1$ ), // Advanced Navigation Rule Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ); } private final static IFormData[] FORM_LAYOUT_DEFINITIONS = new IFormData[] { new FormData(ENT_FACESCONFIG, new String[]{null}, FACES_CONFIG_DEFINITIONS), new FormData(ENT_FACESCONFIG_11, new String[]{null}, FACES_CONFIG_DEFINITIONS), new FormData(ENT_FACESCONFIG_12, new String[]{null}, FACES_CONFIG_DEFINITIONS), new FormData(ENT_FACESCONFIG_20, new String[]{null}, FACES_CONFIG_20_DEFINITIONS), new FormData(ENT_FACESCONFIG_22, new String[]{null}, FACES_CONFIG_22_DEFINITIONS), APPLICATION_DEFINITION, APPLICATION_12_DEFINITION, APPLICATION_20_DEFINITION, APPLICATION_22_DEFINITION, createComponentsFormDefinitions("JSFComponents", "JSFComponent"), //$NON-NLS-1$ //$NON-NLS-2$ createComponentsFormDefinitions("JSFComponents11", "JSFComponent11"), //$NON-NLS-1$ //$NON-NLS-2$ createComponentFormDefinitions("JSFComponent", false), //$NON-NLS-1$ createComponentFormDefinitions("JSFComponent11", true), //$NON-NLS-1$ createBehaviorFormDefinitions("JSFBehavior20"), //$NON-NLS-1$ new FormData( "JSFFacet11", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Attribute Form new FormData( "Facet", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("facet-name"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ ), // Advanced Attribute Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), createExtensionFormDefinition("JSFConfigExtension", "Faces Config Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFFacetExtension", "Facet Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFApplicationExtension", "Application Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFAttributeExtension", "Attribute Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFComponentExtension", "Component Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFConverterExtension", "Converter Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFPropertyExtension", "Property Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFRendererExtension", "Renderer Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFRenderKitExtension", "Render Kit Extension"), //$NON-NLS-1$ createExtensionFormDefinition("JSFValidatorExtension", "Validator Extension"), //$NON-NLS-1$ new FormData( "JSFAttribute", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Attribute Form new FormData( "Attribute", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("attribute-name"), new FormAttributeData("attribute-class", null, STBFE_CLASS_NAME), new FormAttributeData("default-value"), new FormAttributeData("suggested-value", InfoLayoutDataFactory.getInstance()), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ ), // Advanced Attribute Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "JSFProperty", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Property Form new FormData( "Property", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("property-name"), new FormAttributeData("property-class", null, STBFE_CLASS_NAME), new FormAttributeData("default-value"), new FormAttributeData("suggested-value", InfoLayoutDataFactory.getInstance()), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ ), // Advanced Attribute Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), // Converters Form new FormData( "Converters", "", //$NON-NLS-1$ "JSFConverters", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("converter-id", 30, "id"), new FormAttributeData("converter-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFConverter"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.AddConverter.WithId") //$NON-NLS-1$ ), new FormData( "JSFConverter", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Converter Form new FormData( "Converter", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("converter-id"), new FormAttributeData("converter-for-class", null, STBFE_CLASS_NAME), new FormAttributeData("converter-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ), ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS } ), // Managed Beans Form new FormData( "Managed Beans", "", //$NON-NLS-1$ "JSFManagedBeans", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("managed-bean-name", 50, "name"), new FormAttributeData("managed-bean-class", 35, "class"), new FormAttributeData("managed-bean-scope", 15, "scope")}, //$NON-NLS-1$ //$NON-NLS-3$ //$NON-NLS-5$ new String[]{"JSFManagedBean"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.AddManagedBean") //$NON-NLS-1$ ), new FormData( "Managed Beans", "", //$NON-NLS-1$ "JSFManagedBeans20", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("managed-bean-name", 50, "name"), new FormAttributeData("managed-bean-class", 35, "class"), new FormAttributeData("managed-bean-scope", 15, "scope")}, //$NON-NLS-1$ //$NON-NLS-3$ //$NON-NLS-5$ new String[]{"JSFManagedBean20"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.AddManagedBean") //$NON-NLS-1$ ), new FormData( "JSFManagedBean", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Managed Bean Form new FormData( "Managed Bean", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("managed-bean-name"), new FormAttributeData("managed-bean-class", null, STBFE_CLASS_NAME), new FormAttributeData("managed-bean-scope"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ), // Properties Form new FormData( "Properties", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("property-name", 50, "name"), new FormAttributeData("property-class", 30, "class"), new FormAttributeData("value", 20)}, //$NON-NLS-1$ //$NON-NLS-3$ //$NON-NLS-5$ new String[]{"JSFManagedProperty"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreatePropertySafe") //$NON-NLS-1$ ), // Advanced Managed Bean Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "JSFManagedBean20", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Managed Bean Form new FormData( "Managed Bean", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("managed-bean-name"), new FormAttributeData("managed-bean-class", null, STBFE_CLASS_NAME), new FormAttributeData("managed-bean-scope"), new FormAttributeData("eager"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ), // Properties Form new FormData( "Properties", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("property-name", 50, "name"), new FormAttributeData("property-class", 30, "class"), new FormAttributeData("value", 20)}, //$NON-NLS-1$ //$NON-NLS-3$ //$NON-NLS-5$ new String[]{"JSFManagedProperty"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreatePropertySafe") //$NON-NLS-1$ ), // Advanced Managed Bean Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "JSFManagedProperty", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Managed Bean Property Form new FormData("org.jboss.tools.jsf.ui.editor.form.ManagedBeanPropertyForm"), //$NON-NLS-1$ // Advanced Attribute Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance()), new FormAttributeData("comment", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ ) } ), new FormData( "Map Entry", "", //$NON-NLS-1$ "JSFMapEntry", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("key"), new FormAttributeData("null-value"), new FormAttributeData("value", GreedyLayoutDataFactory.getInstance(), null, 0)} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ), new FormData( "List Entry", "", //$NON-NLS-1$ "JSFListEntry", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("null-value"), new FormAttributeData("value", GreedyLayoutDataFactory.getInstance(), null, 0)} //$NON-NLS-1$ //$NON-NLS-2$ ), // Navigation Rules Form createNavigationRulesFormDefinitions("JSFNavigationRules", "JSFNavigationRule"), createNavigationRulesFormDefinitions("JSFNavigationRules20", "JSFNavigationRule20"), createNavigationRulesFormDefinitions("JSFNavigationRules22", "JSFNavigationRule22"), createNavigationRuleFormDefinitions("JSFNavigationRule", "JSFNavigationCase"), createNavigationRuleFormDefinitions("JSFNavigationRule20", "JSFNavigationCase20"), createNavigationRuleFormDefinitions("JSFNavigationRule22", "JSFNavigationCase22"), new FormData( "JSFNavigationCase", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Navigation Case Form new FormData( "Navigation Case", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("from-outcome"), new FormAttributeData("from-action"), new FormAttributeData("to-view-id", null, SBFEE_CLASS_NAME), new FormAttributeData("redirect"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ ), // Advanced Navigation Case Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "JSFNavigationCase20", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Navigation Case Form new FormData( "Navigation Case", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("from-outcome"), new FormAttributeData("from-action"), new FormAttributeData("if"), new FormAttributeData("to-view-id", null, SBFEE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ ), // Advanced Navigation Case Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "JSFNavigationCase22", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Navigation Case Form new FormData( "Navigation Case", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("from-outcome"), new FormAttributeData("from-action"), new FormAttributeData("if"), new FormAttributeData("to-view-id", null, SBFEE_CLASS_NAME), new FormAttributeData("to-flow-document-id"), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ ), // Advanced Navigation Case Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), // Referenced Beans Form new FormData( "Referenced Beans", "", //$NON-NLS-1$ "JSFReferencedBeans", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("referenced-bean-name", 35, "name"), new FormAttributeData("referenced-bean-class", 65, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFReferencedBean"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.AddReferencedBean") //$NON-NLS-1$ ), new FormData( "JSFReferencedBean", //$NON-NLS-1$ new String[]{null}, new IFormData[] { // Referenced Bean Form new FormData( "Referenced Bean", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("referenced-bean-name"), new FormAttributeData("referenced-bean-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ), // Advanced Referenced Bean Form new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), // Render Kits Form createRenderKitsFormDefinitions("JSFRenderKits", "JSFRenderKit"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitsFormDefinitions("JSFRenderKits11", "JSFRenderKit11"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitsFormDefinitions("JSFRenderKits12", "JSFRenderKit12"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitsFormDefinitions("JSFRenderKits20", "JSFRenderKit20"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitFormDefinitions("JSFRenderKit", "JSFRenderer"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitFormDefinitions("JSFRenderKit11", "JSFRenderer11"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitFormDefinitions("JSFRenderKit12", "JSFRenderer11"), //$NON-NLS-1$ //$NON-NLS-2$ createRenderKitFormDefinitions("JSFRenderKit20", "JSFRenderer11"), //$NON-NLS-1$ //$NON-NLS-2$ createRendererFormDefinitions("JSFRenderer", false), //$NON-NLS-1$ createRendererFormDefinitions("JSFRenderer11", true), //$NON-NLS-1$ // Supported Component Type Form new FormData( "Supported Component Type", "", //$NON-NLS-1$ "JSFSupportedComponentType", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("attribute-names"), new FormAttributeData("component-type", null, SBFEE_CLASS_NAME), new FormAttributeData("id")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ), // Supported Component Class Form new FormData( "Supported Component Class", "", //$NON-NLS-1$ "JSFSupportedComponentClass", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("attribute-names"), new FormAttributeData("component-class", null, STBFE_CLASS_NAME), new FormAttributeData("id")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ), // Validators Form new FormData( "Validators", "", //$NON-NLS-1$ "JSFValidators", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("validator-id", 30, "id"), new FormAttributeData("validator-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFValidator"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.AddValidator") //$NON-NLS-1$ ), new FormData( "Validators", "", //$NON-NLS-1$ "JSFValidators12", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("validator-id", 30, "id"), new FormAttributeData("validator-class", 70, "class")}, //$NON-NLS-1$ //$NON-NLS-3$ new String[]{"JSFValidator12"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.AddValidator") //$NON-NLS-1$ ), new FormData( "Extensions", "", //$NON-NLS-1$ "JSFConfigExtensions", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("element type", 100, "element")}, //$NON-NLS-1$ new String[]{"JSFConfigExtension"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$ ), new FormData( "JSFValidator", new String[]{null}, new IFormData[] { new FormData( "Validator", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("validator-id"), new FormAttributeData("validator-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ), ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS, new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "JSFValidator12", //$NON-NLS-1$ new String[]{null}, new IFormData[] { new FormData( "Validator", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("validator-id"), new FormAttributeData("validator-class", null, STBFE_CLASS_NAME), new FormAttributeData("description", InfoLayoutDataFactory.getInstance())} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ), ATTRIBUTES_FORM_DEFINITIONS, PROPERTIES_FORM_DEFINITIONS, new FormData( "Extensions", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("element type", 100, "element")}, //$NON-NLS-1$ new String[]{"JSFValidatorExtension"}, //$NON-NLS-1$ createDefaultFormActionData("CreateActions.CreateExtension") //$NON-NLS-1$ ), new FormData( "Advanced", "", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id"), new FormAttributeData("display-name"), new FormAttributeData("small-icon"), new FormAttributeData("large-icon")} //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ ) } ), new FormData( "EL Resolver", "", //$NON-NLS-1$ "JSFELResolver", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFELResolver") //$NON-NLS-1$ ), new FormData( "Property Resolver", "", //$NON-NLS-1$ "JSFPropertyResolver", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFPropertyResolver") //$NON-NLS-1$ ), new FormData( "Variable Resolver", "", //$NON-NLS-1$ "JSFVariableResolver", //$NON-NLS-1$ FormLayoutDataUtil.createGeneralFormAttributeData("JSFVariableResolver") //$NON-NLS-1$ ), //Protected Views new FormData( "Protected Views", "", //$NON-NLS-1$ "JSFProtectedViewsFolder", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("url-pattern", 100)}, //$NON-NLS-1$ new String[]{"JSFProtectedViews22"}, createDefaultFormActionData("CreateActions.AddProtectedViews") //$NON-NLS-1$ ), //Flow Definitions new FormData( "Flow Definitions", "", //$NON-NLS-1$ "JSFFlowDefinitions22", //$NON-NLS-1$ new FormAttributeData[]{new FormAttributeData("id", 100)}, //$NON-NLS-1$ new String[]{"JSFFlowDefinition22"}, createDefaultFormActionData("CreateActions.AddFlowDefinition") //$NON-NLS-1$ ), }; private static Map<String,IFormData> FORM_LAYOUT_DEFINITION_MAP = Collections.synchronizedMap(new ArrayToMap(FORM_LAYOUT_DEFINITIONS)); private static final JSFFormLayoutData INSTANCE = new JSFFormLayoutData(); public static JSFFormLayoutData getInstance() { return INSTANCE; } private JSFFormLayoutData() { } public IFormData getFormData(String entityName) { IFormData data = (IFormData)FORM_LAYOUT_DEFINITION_MAP.get(entityName); if(data == null) { data = generateDefaultFormData(entityName); } return data; } private IFormData generateDefaultFormData(String entityName) { IFormData data = null; XModelEntity entity = XModelMetaDataImpl.getInstance().getEntity(entityName); if(entity != null) { data = generateDefaultFormData(entity); } if(data != null) { FORM_LAYOUT_DEFINITION_MAP.put(entityName, data); } return data; } public IFormData generateDefaultFormData(XModelEntity entity) { String entityName = entity.getName(); List<IFormData> list = new ArrayList<IFormData>(); IFormData g = ModelFormLayoutData.createGeneralFormData(entity); if(g != null) list.add(g); //add lists here if(entity.getChild("JSFViewParam") != null) { list.add(VIEW_PARAM_LIST); } IFormData a = ModelFormLayoutData.createAdvancedFormData(entityName); if(a != null) list.add(a); IFormData[] ds = list.toArray(new IFormData[0]); IFormData data = new FormData(entityName, new String[0], ds); return data; } }