in modello-plugins/modello-plugin-store/src/main/java/org/apache/archiva/redback/components/modello/plugin/store/StoreModelloGenerator.java [45:93]
public void generate( Model model, Properties properties )
throws ModelloException
{
initialize( model, properties );
// ----------------------------------------------------------------------
// Initialize the Velocity context
// ----------------------------------------------------------------------
Context context = new VelocityContext();
context.put( "version", getGeneratedVersion() );
context.put( "package", model.getDefaultPackageName( false, getGeneratedVersion() ) );
context.put( "metadataId", StoreClassMetadata.ID );
context.put( "model", model );
// ----------------------------------------------------------------------
// Generate the code
// ----------------------------------------------------------------------
String packageName = model.getDefaultPackageName( false, getGeneratedVersion() );
File packageFile = new File( getOutputDirectory(), packageName.replace( '.', File.separatorChar ) );
File interfaceFile = new File( packageFile, model.getName() + "Store.java" );
File exceptionFile = new File( packageFile, model.getName() + "StoreException.java" );
if ( !interfaceFile.getParentFile().exists() )
{
if ( !interfaceFile.getParentFile().mkdirs() )
{
throw new ModelloException( "Error while creating parent directories for '" + interfaceFile.getAbsolutePath() + "'." );
}
}
String interfaceTemplate = "org/apache/archiva/redback/components/modello/plugin/store/templates/Store.vm";
String exceptionTemplate =
"org/apache/archiva/redback/components/modello/plugin/store/templates/StoreException.vm";
writeTemplate( interfaceTemplate, interfaceFile, context );
writeTemplate( exceptionTemplate, exceptionFile, context );
}