You can customize the HTML report by making your Velocity template file. Register your template file at the workbench preference dialog.
The default template included AmaterasERD is below:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>$msg.get("title")</title></head>
<style type="text/css">
th {
background-color: #DDDDDD;
border: 1px solid black;
}
td {
border: 1px solid black;
}
</style>
<body>
#foreach($table in $model.children)
<a name="$util.escapeHTML($table.tableName)" />
<table width="100%">
<tr>
<th width="20%">$msg.get("table.logicalName")</th>
<td>$util.escapeHTML2($table.logicalName)</td>
</tr>
<tr>
<th>$msg.get("table.physicalName")</th>
<td>$util.escapeHTML2($table.tableName)</td>
</tr>
<tr>
<th>$msg.get("table.description")</th>
<td>$util.escapeHTML2($table.description)</td>
</tr>
</table>
<table width="100%">
<tr>
<th width="3%">$msg.get("column.rownum")</th>
<th width="3%">$msg.get("column.primaryKey")</th>
<th width="14%">$msg.get("column.logicalName")</th>
<th width="14%">$msg.get("column.physicalName")</th>
<th width="10%">$msg.get("column.type")</th>
<th width="5%">$msg.get("column.size")</th>
<th width="3%">$msg.get("column.null")</th>
<th width="3%">$msg.get("column.defaultValue")</th>
<th width="18%">$msg.get("column.foreignKey")</th>
<th width="30%">$msg.get("column.description")</th>
</tr>
#foreach($column in $table.columns)
<tr>
<td align="right">$velocityCount</td>
<td align="center">
#if($column.primaryKey == true)
true
#else
#end
</td>
<td>$util.escapeHTML2($column.logicalName)</td>
<td>$util.escapeHTML2($column.columnName)</td>
<td>$util.escapeHTML2($column.columnType.name)</td>
<td align="right">$column.size</td>
<td align="center">
#if($column.notNull == true)
false
#else
true
#end
</td>
<td>$util.escapeHTML2($column.defaultValue)</td>
<td>
#foreach($conn in $table.modelSourceConnections)
#foreach($mapping in $conn.mapping)
#if($mapping.refer == $column)
<a href="#$util.escapeHTML($conn.target.tableName)">${util.escapeHTML($conn.target.tableName)}.${util.escapeHTML($mapping.target.columnName)}</a>
#end
#end
#end
</td>
<td>
#if($column.autoIncrement == true)
AUTO INCREMENT<br>
#end
#if($column.description!="")
$util.escapeHTML($column.description)
#elseif($column.autoIncrement == false)
#end
</td>
</tr>
#end
</table>
<br>
#end
</body>
</html>
You can add supportted database through the extension point
net.java.amateras.db.dialects.AbstractDialect.
AmaterasERD supports HSQLDB, Apache Derby, MySQL, PostgreSQL and Oracle
in default. See the plugin.xml of AmaterasERD.
<extension
point="net.java.amateras.db.dialects">
<dialect
class="net.java.amateras.db.view.dialect.HsqldbDialect"
name="hsqldb"/>
<dialect
class="net.java.amateras.db.view.dialect.DerbyDialect"
name="Derby"/>
<dialect
class="net.java.amateras.db.view.dialect.MySQLDialect"
name="MySQL"/>
<dialect
class="net.java.amateras.db.view.dialect.PostgreSQLDialect"
name="PostgreSQL"/>
<dialect
class="net.java.amateras.db.view.dialect.OracleDialect"
name="Oracle"/>
</extension>
Specified dialect classes must extends
net.java.amateras.db.view.dialect.AbstractDialect.
AmaterasERD can generate DDL and HTML report from diagram models.
You can add other generator through the extension point
net.java.amateras.db.generators.
<extension
point="net.java.amateras.db.generators">
<generator
class="net.java.amateras.db.visual.generate.DDLGenerater">
</generator>
<generator
class="net.java.amateras.db.visual.generate.HTMLGenerator">
</generator>
</extension>
Specified generator classes must implement
net.java.amateras.db.visual.generate.IGenerator.