Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 353028

Summary: EGLProperty annotation not captured in IRs
Product: z_Archived Reporter: Scott Greer <greer>
Component: EDTAssignee: Project Inbox <edt.mofmodel-inbox>
Status: CLOSED FIXED QA Contact:
Severity: blocker    
Priority: P1 CC: pharmon
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 352125    

Description Scott Greer CLA 2011-07-25 14:19:30 EDT
In RUIWidget Box.egl, there's a field declared as follows:

	alignment int {@EGLProperty{setMethod = setAlignment, getMethod = getAlignment}, @VEProperty{
		propertyType = "choice",
		choices = [
			@VEPropertyChoice {displayName = "LEFT", id = "${typeName:com.ibm.egl.rui.widgets.BoxLib}.ALIGN_LEFT"},
			@VEPropertyChoice {displayName = "CENTER", id = "${typeName:com.ibm.egl.rui.widgets.BoxLib}.ALIGN_CENTER"},
			@VEPropertyChoice {displayName = "RIGHT", id = "${typeName:com.ibm.egl.rui.widgets.BoxLib}.ALIGN_RIGHT"}
		],
		default = "${typeName:com.ibm.egl.rui.widgets.BoxLib}.ALIGN_LEFT"  
	}};


However, the eglProperty is represented as an empty annotation:

	<fields ID="110" eClass="org.eclipse.edt.mof.egl.Field" name="alignment" type="egl:egl.lang.int32" isNullable="false" isStatic="false" isAbstract="false" hasSetValuesBlock="true" isImplicit="false" isSystemField="false" >
		<annotations ID="364" eClass="egl:egl.core.eglproperty" />
Comment 1 Paul Harmon CLA 2011-07-27 16:06:29 EDT
I have fixed this with a change to EGL2MofMember.

The code was basically only persisting annotation values that are primitive types (int, string, etc..). I have changed this to allow name type expressions
Comment 2 Scott Greer CLA 2011-07-30 14:18:59 EDT
Verified fix.