[jbosstools-commits] JBoss Tools SVN: r6415 - trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Feb 19 06:12:48 EST 2008


Author: scabanovich
Date: 2008-02-19 06:12:48 -0500 (Tue, 19 Feb 2008)
New Revision: 6415

Modified:
   trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/FormLayoutDataUtil.java
   trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ModelFormLayoutData.java
Log:
JBIDE-1670

Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/FormLayoutDataUtil.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/FormLayoutDataUtil.java	2008-02-18 18:38:55 UTC (rev 6414)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/FormLayoutDataUtil.java	2008-02-19 11:12:48 UTC (rev 6415)
@@ -47,7 +47,7 @@
 	public static IFormAttributeData[] createFormAttributeData(String entityName, String categoryName) {
 		XModelEntity entity = PreferenceModelUtilities.getPreferenceModel().getMetaData().getEntity(entityName);
 		if(entity == null) return new IFormAttributeData[0];
-		List list = new ArrayList();
+		List<IFormAttributeData> list = new ArrayList<IFormAttributeData>();
 		XAttribute[] as = entity.getAttributes();
 		for (int i = 0; i < as.length; i++) {
 			if(!as[i].isVisible()) continue;
@@ -65,19 +65,19 @@
 				}
 			}
 		}		
-		return (IFormAttributeData[])list.toArray(new IFormAttributeData[0]);
+		return list.toArray(new IFormAttributeData[0]);
 	}
 	
 	public static String[] getChildEntitiesWithAttribute(String entityName, String attributeName) {
 		XModelEntity entity = PreferenceModelUtilities.getPreferenceModel().getMetaData().getEntity(entityName);
 		if(entity == null) return new String[0];
-		List list = new ArrayList();
+		List<String> list = new ArrayList<String>();
 		XChild[] cs = entity.getChildren();
 		for (int i = 0; i < cs.length; i++) {
 			XModelEntity c = entity.getMetaModel().getEntity(cs[i].getName());
 			if(c != null && c.getAttribute(attributeName) != null) list.add(c.getName());
 		}		
-		return (String[])list.toArray(new String[0]);
+		return list.toArray(new String[0]);
 	}
 
 	public static FormData createAllChildrenFormData(String name, String entityName, String childName, String attributeName, String createAction) {

Modified: trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ModelFormLayoutData.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ModelFormLayoutData.java	2008-02-18 18:38:55 UTC (rev 6414)
+++ trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ModelFormLayoutData.java	2008-02-19 11:12:48 UTC (rev 6415)
@@ -19,6 +19,14 @@
 
 public class ModelFormLayoutData implements IFormLayoutData {
 	public static String EMPTY_DESCRIPTION = "";
+	
+	public static IFormData TAG_LIST = new FormData(
+		"Tags",
+		"", //"Description
+		new FormAttributeData[]{new FormAttributeData("tag", 100)},
+		new String[]{"AnyElement"},
+		FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateTag")
+	);
 
 	private final static IFormData[] FORM_LAYOUT_DEFINITIONS =
 		new IFormData[] {
@@ -32,13 +40,7 @@
 						"", //"Description, description, description",
 						new FormAttributeData[]{new FormAttributeData("text", InfoLayoutDataFactory.getInstance())}
 					),
-					new FormData(
-						"Tags",
-						"", //"Description
-						new FormAttributeData[]{new FormAttributeData("tag", 100)},
-						new String[]{"AnyElement"},
-						FormLayoutDataUtil.createDefaultFormActionData("CreateActions.CreateTag")
-					)
+					TAG_LIST
 				}
 			),
 	};
@@ -69,23 +71,49 @@
 		}
 		return data;		
 	}
-
-	private IFormData generateDefaultFormData(XModelEntity entity) {
+	
+	/**
+	 * Returns form data that has field editors for attributes 
+	 * with property category=general
+	 * @param entity
+	 * @return
+	 */	
+	public static IFormData createGeneralFormData(XModelEntity entity) {
 		String entityName = entity.getName();
 		XAttribute attr = entity.getAttribute("element type");
 		String kind = attr == null ? entity.getXMLSubPath() : attr.getDefaultValue();
 		String label = WizardKeys.toDisplayName(kind);
-		FormData g = new FormData(
-			label,
-			EMPTY_DESCRIPTION,
-			FormLayoutDataUtil.createGeneralFormAttributeData(entityName)
-		);
+		IFormAttributeData[] attrData = FormLayoutDataUtil.createGeneralFormAttributeData(entityName);
+		if(attrData.length == 0) return null;
+		FormData g = new FormData(label, EMPTY_DESCRIPTION, attrData);
+		return g;
+	}
+
+	/**
+	 * Returns form data that has field editors for attributes 
+	 * with property category=advanced
+	 * @param entity
+	 * @return
+	 */	
+	public static IFormData createAdvancedFormData(String entityName) {
+		IFormAttributeData[] attrData = FormLayoutDataUtil.createAdvancedFormAttributeData(entityName);
+		if(attrData.length == 0) return null;
 		FormData a = new FormData(
 			"Advanced",
 			EMPTY_DESCRIPTION,
 			FormLayoutDataUtil.createAdvancedFormAttributeData(entityName)
 		);
-		IFormData[] ds = {g, a};
+		return a;
+	}
+
+	private IFormData generateDefaultFormData(XModelEntity entity) {
+		String entityName = entity.getName();
+		List<IFormData> list = new ArrayList<IFormData>();
+		IFormData g = createGeneralFormData(entity);
+		if(g != null) list.add(g);
+		IFormData a = createAdvancedFormData(entityName);
+		if(a != null) list.add(a);
+		IFormData[] ds = list.toArray(new IFormData[0]);
 		IFormData data = new FormData(entityName, new String[]{null}, ds);
 		return data;
 	}




More information about the jbosstools-commits mailing list