types.remove( ProducerTypeEnum.ATTRIBUTE_TYPE_PRODUCER );
types.remove( ProducerTypeEnum.OBJECT_CLASS_PRODUCER );
ProducerTypeEnum type = null;
for ( int ii = 0; ii < types.size(); ii++ )
{
type = ( ProducerTypeEnum ) types.get( ii );
if ( exists( type ) )
{
continue;
}
VelocityContext context = new VelocityContext();
context.put( "package", schema.getPackageName() );
context.put( "classname", schema.getUnqualifiedClassName( type ) );
context.put( "schema", schema.getSchemaName() );
context.put( "owner", schema.getOwner() ) ;
context.put( "type", type.getName().substring( 0, type.getName().length() - 8 ) ) ;
String typeName = null;
switch( type.getValue() )
{
case( ProducerTypeEnum.COMPARATOR_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.COMPARATOR_PRODUCER";
break;
case( ProducerTypeEnum.DIT_CONTENT_RULE_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.DIT_CONTENT_RULE_PRODUCER";
break;
case( ProducerTypeEnum.DIT_STRUCTURE_RULE_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.DIT_STRUCTURE_RULE_PRODUCER";
break;
case( ProducerTypeEnum.MATCHING_RULE_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.MATCHING_RULE_PRODUCER";
break;
case( ProducerTypeEnum.MATCHING_RULE_USE_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.MATCHING_RULE_USE_PRODUCER";
break;
case( ProducerTypeEnum.NAME_FORM_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.NAME_FORM_PRODUCER";
break;
case( ProducerTypeEnum.NORMALIZER_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.NORMALIZER_PRODUCER";
break;
case( ProducerTypeEnum.SYNTAX_CHECKER_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.SYNTAX_CHECKER_PRODUCER";
break;
case( ProducerTypeEnum.SYNTAX_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.SYNTAX_PRODUCER";
break;
case( ProducerTypeEnum.STATE_FACTORY_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.STATE_FACTORY_PRODUCER";
break;
case( ProducerTypeEnum.OBJECT_FACTORY_PRODUCER_VAL ):
typeName = "ProducerTypeEnum.OBJECT_FACTORY_PRODUCER";
break;
default:
throw new IllegalStateException( "Unexpected producer: " + type.getName() );
}
context.put( "typeName", typeName ) ;