in modello-plugins/modello-plugin-jpox/src/main/java/org/apache/archiva/redback/components/modello/jpox/JPoxJdoMappingModelloGenerator.java [127:177]
public void generate( Model model, Properties properties )
throws ModelloException
{
initialize( model, properties );
// ----------------------------------------------------------------------
// Generate the JDO files
// ----------------------------------------------------------------------
try
{
String fileName = properties.getProperty( ModelloParameterConstants.FILENAME, "package.jdo" );
JPoxModelMetadata metadata = (JPoxModelMetadata) model.getMetadata( JPoxModelMetadata.ID );
File packageJdo = null;
if ( metadata.isMappingInPackage() )
{
// Use package name.
String packageName = model.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() );
String dir = StringUtils.replace( packageName, '.', '/' );
File directory = new File( getOutputDirectory(), dir );
packageJdo = new File( directory, fileName );
}
else
{
// Use the specified location.
File directory = getOutputDirectory();
packageJdo = new File( directory, fileName );
}
File parent = packageJdo.getParentFile();
if ( !parent.exists() )
{
if ( !parent.mkdirs() )
{
throw new ModelloException(
"Error while creating parent directories for the file " + "'" + packageJdo.getAbsolutePath()
+ "'."
);
}
}
generatePackageJdo( packageJdo, model );
}
catch ( IOException e )
{
throw new ModelloException( "Error while writing package.jdo.", e );
}
}