Add renameColumn method

Change-Id: Ic0ea20e51c33c79a649cfd44dcaec26c5992dc7e
diff --git a/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java b/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java
index 8ba2d64..60100a2 100644
--- a/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java
+++ b/src/main/java/com/google/gwtorm/jdbc/JdbcSchema.java
@@ -120,6 +120,19 @@
     getDialect().renameColumn(e, table, from, col);
   }
 
+  public void renameColumn(final StatementExecutor e, String table, String from,
+      String to) throws OrmException {
+    final RelationModel rel = findRelationModel(table);
+    if (rel == null) {
+      throw new OrmException("Relation " + table + " not defined");
+    }
+    final ColumnModel col = rel.getColumn(to);
+    if (col == null) {
+      throw new OrmException("Relation " + table + " does not have " + to);
+    }
+    getDialect().renameColumn(e, table, from, col);
+  }
+
   private RelationModel findRelationModel(String table) {
     for (final RelationModel rel : dbDef.getSchemaModel().getRelations()) {
       if (table.equalsIgnoreCase(rel.getRelationName())) {
diff --git a/src/main/java/com/google/gwtorm/schema/RelationModel.java b/src/main/java/com/google/gwtorm/schema/RelationModel.java
index 363960e..aab3132 100644
--- a/src/main/java/com/google/gwtorm/schema/RelationModel.java
+++ b/src/main/java/com/google/gwtorm/schema/RelationModel.java
@@ -199,6 +199,10 @@
     return fieldsByFieldName.get(name);
   }
 
+  public ColumnModel getColumn(final String name) {
+    return columnsByColumnName.get(name);
+  }
+
   public String getCreateTableSql(final SqlDialect dialect) {
     final StringBuilder r = new StringBuilder();
     r.append("CREATE TABLE ");