} else if ( fixture instanceof FactData ) {
final FactData factData = (FactData) fixture;
final String typeName = factData.getType();
final String fullyQualifiedClassName = getFullyQualifiedClassName( typeName );
builder.addGenerator( new Type( new ValueTypeIndexTerm( fullyQualifiedClassName ) ) );
factDataToFullyQualifiedClassNameMap.put( factData.getName(),
fullyQualifiedClassName );
for ( Field field : factData.getFieldData() ) {
final String fieldName = field.getName();
final String fieldFullyQualifiedClassName = getFieldFullyQualifiedClassName( fullyQualifiedClassName,
fieldName );
builder.addGenerator( new TypeField( new ValueFieldIndexTerm( fieldName ),
new ValueTypeIndexTerm( fieldFullyQualifiedClassName ),
new ValueTypeIndexTerm( fullyQualifiedClassName ) ) );
}
} else if ( fixture instanceof VerifyFact ) {
final VerifyFact verifyFact = (VerifyFact) fixture;
final String typeName = verifyFact.getName();
//If VerifyFact is not anonymous lookup FQCN from previous FactData elements
String fullyQualifiedClassName = null;
if ( !verifyFact.anonymous ) {
fullyQualifiedClassName = factDataToFullyQualifiedClassNameMap.get( verifyFact.getName() );
} else {
fullyQualifiedClassName = getFullyQualifiedClassName( typeName );
}
if ( fullyQualifiedClassName != null ) {
builder.addGenerator( new Type( new ValueTypeIndexTerm( fullyQualifiedClassName ) ) );
}
for ( VerifyField field : verifyFact.getFieldValues() ) {
final String fieldName = field.getFieldName();
final String fieldFullyQualifiedClassName = getFieldFullyQualifiedClassName( fullyQualifiedClassName,