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

Bug 357836

Summary: Field uniqueness has changed...
Product: [Technology] Tigerstripe Reporter: Steve Jerman <sjerman>
Component: CoreAssignee: Project Inbox <tigerstripe.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: nmehrega
Version: unspecified   
Target Milestone: 0.5M0   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Steve Jerman CLA 2011-09-15 12:47:48 EDT
The Behavior of TS has changed in the latest build (v0.7.0.201109130303), breaking an XMP generator.

The symptoms are as follows:

The generator uses a HashSet to  gather a unique set of fields. This used to work correctly. Now the Set isn't filtered correctly and duplicates can  exist. After populating the Set, I examined it with a debugger:

The code snip that populates the Set is:
		parentKeys = new HashSet<IField>();
		child = artifact;
		loadFieldNames();
		searchForBusinessKeyParentRecursively(artifact);
		return parentKeys;

The contents of the Set at the end is:

for (IField f : parentKeys){
	System.out.println(f.getName);
}
pattr2
pattr2
pattr1

for (IField f : parentKeys){
	System.out.println(f);
}
org.eclipse.tigerstripe.workbench.internal.core.model.Field@114c86cf
org.eclipse.tigerstripe.workbench.internal.core.model.Field@114c86cf
org.eclipse.tigerstripe.workbench.internal.core.model.Field@3eadff2f

if I look at the implementing class I see that a Proxy is being used:

class $Proxy3
class $Proxy3
class $Proxy3
Comment 1 Navid Mehregani CLA 2011-09-16 12:25:15 EDT
Class modified ArtifactComponent