You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2014/01/28 22:18:55 UTC

[11/50] [abbrv] git commit: METAMODEL-29: Fixed issue with interface returned by CreateTable builder class.

METAMODEL-29: Fixed issue with interface returned by CreateTable builder
class.

Project: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/commit/05dce3ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/tree/05dce3ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-metamodel/diff/05dce3ff

Branch: refs/heads/hbase-module
Commit: 05dce3ff346fab76d4354770db9b018440914451
Parents: 4a3ddf0
Author: Kasper Sørensen <i....@gmail.com>
Authored: Mon Oct 21 20:27:16 2013 +0200
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Mon Oct 21 20:27:16 2013 +0200

----------------------------------------------------------------------
 CHANGES.txt                                     |  3 +-
 .../apache/metamodel/create/CreateTable.java    |  2 +-
 .../create/CreateTableColumnBuilder.java        |  3 ++
 .../org/apache/metamodel/update/Update.java     |  7 +++-
 .../metamodel/create/SyntaxExamplesTest.java    | 27 ++++++++++----
 .../metamodel/update/SyntaxExamplesTest.java    | 39 ++++++++++++++++++++
 6 files changed, 70 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/05dce3ff/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index b0cdfb8..d46a510 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -10,4 +10,5 @@
  * Performance improvement to CSV reading when values are only single line based
  * Setting up the project on apache infrastructure
  * [METAMODEL-10] - Exclude Jackcess dependency (Access module) from MetaModel
- * Renaming the package hierarchy from org.eobjects.metamodel to org.apache.metamodel
\ No newline at end of file
+ * Renaming the package hierarchy from org.eobjects.metamodel to org.apache.metamodel
+ * [METAMODEL-29] - Fixed issue in CreateTable builder class, causing it to only support a single column definition
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/05dce3ff/core/src/main/java/org/apache/metamodel/create/CreateTable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/create/CreateTable.java b/core/src/main/java/org/apache/metamodel/create/CreateTable.java
index b189bd2..9efe5b5 100644
--- a/core/src/main/java/org/apache/metamodel/create/CreateTable.java
+++ b/core/src/main/java/org/apache/metamodel/create/CreateTable.java
@@ -54,7 +54,7 @@ public final class CreateTable implements UpdateScript {
      * @param name
      * @return
      */
-    public ColumnBuilder<CreateTableColumnBuilder> withColumn(String name) {
+    public CreateTableColumnBuilder withColumn(String name) {
         MutableColumn column = new MutableColumn(name);
         _table.addColumn(column);
         return new CreateTableColumnBuilder(this, column);

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/05dce3ff/core/src/main/java/org/apache/metamodel/create/CreateTableColumnBuilder.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/create/CreateTableColumnBuilder.java b/core/src/main/java/org/apache/metamodel/create/CreateTableColumnBuilder.java
index 8cd1e0d..8b5d39e 100644
--- a/core/src/main/java/org/apache/metamodel/create/CreateTableColumnBuilder.java
+++ b/core/src/main/java/org/apache/metamodel/create/CreateTableColumnBuilder.java
@@ -39,4 +39,7 @@ public final class CreateTableColumnBuilder extends AbstractColumnBuilder<Create
         _createTable.run(callback);
     }
 
+    public CreateTableColumnBuilder withColumn(String name) {
+        return _createTable.withColumn(name);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/05dce3ff/core/src/main/java/org/apache/metamodel/update/Update.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/update/Update.java b/core/src/main/java/org/apache/metamodel/update/Update.java
index dc3c813..53f83d9 100644
--- a/core/src/main/java/org/apache/metamodel/update/Update.java
+++ b/core/src/main/java/org/apache/metamodel/update/Update.java
@@ -33,6 +33,7 @@ import org.apache.metamodel.query.SelectItem;
 import org.apache.metamodel.query.builder.AbstractFilterBuilder;
 import org.apache.metamodel.query.builder.FilterBuilder;
 import org.apache.metamodel.schema.Column;
+import org.apache.metamodel.schema.Schema;
 import org.apache.metamodel.schema.Table;
 
 /**
@@ -47,13 +48,17 @@ public final class Update extends AbstractRowBuilder<Update> implements UpdateSc
 
     private final Table _table;
     private final List<FilterItem> _whereItems;
-
+    
     public Update(Table table) {
         super(table);
         _table = table;
         _whereItems = new ArrayList<FilterItem>();
     }
 
+    public Update(Schema schema, String tableName) {
+        this(schema.getTableByName(tableName));
+    }
+
     @Override
     public Table getTable() {
         return _table;

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/05dce3ff/core/src/test/java/org/apache/metamodel/create/SyntaxExamplesTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/metamodel/create/SyntaxExamplesTest.java b/core/src/test/java/org/apache/metamodel/create/SyntaxExamplesTest.java
index 2261969..45eab15 100644
--- a/core/src/test/java/org/apache/metamodel/create/SyntaxExamplesTest.java
+++ b/core/src/test/java/org/apache/metamodel/create/SyntaxExamplesTest.java
@@ -20,19 +20,30 @@ package org.apache.metamodel.create;
 
 import junit.framework.TestCase;
 
+import org.apache.metamodel.UpdateScript;
 import org.apache.metamodel.schema.Column;
+import org.apache.metamodel.schema.ColumnType;
 import org.apache.metamodel.schema.Schema;
 import org.apache.metamodel.schema.Table;
 
+/**
+ * Abstract test class (will not be executed) to check the builder API's
+ * syntactical applicability.
+ */
 public abstract class SyntaxExamplesTest extends TestCase {
 
-	private TableCreatable dc;
-	private Table table;
-	private Column col;
-	private Schema schema;
+    private TableCreatable dc;
+    private Table table;
+    private Column col;
+    private Schema schema;
+
+    public void testCreateLikeExistingStructure() throws Exception {
+        dc.createTable(schema, "foo").like(table).withColumn("bar").like(col).nullable(false).execute();
+    }
 
-	public void testCreateLikeExistingStructure() throws Exception {
-		dc.createTable(schema, "foo").like(table).withColumn("bar").like(col)
-				.nullable(false).execute();
-	}
+    public void testCreateTableClass() throws Exception {
+        UpdateScript ct = new CreateTable(schema, "table").withColumn("foo").ofType(ColumnType.VARCHAR)
+                .withColumn("bar").withColumn("baz");
+        assertNotNull(ct);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-metamodel/blob/05dce3ff/core/src/test/java/org/apache/metamodel/update/SyntaxExamplesTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/metamodel/update/SyntaxExamplesTest.java b/core/src/test/java/org/apache/metamodel/update/SyntaxExamplesTest.java
new file mode 100644
index 0000000..d523ad7
--- /dev/null
+++ b/core/src/test/java/org/apache/metamodel/update/SyntaxExamplesTest.java
@@ -0,0 +1,39 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.metamodel.update;
+
+import junit.framework.TestCase;
+
+import org.apache.metamodel.schema.Column;
+import org.apache.metamodel.schema.Schema;
+
+/**
+ * Abstract test class (will not be executed) to check the builder API's
+ * syntactical applicability.
+ */
+public abstract class SyntaxExamplesTest extends TestCase {
+
+    private Column col;
+    private Schema schema;
+
+    public void testUpdateClass() throws Exception {
+        Update u = new Update(schema, "table").value(col, "foo").where("baz").eq("bar");
+        assertNotNull(u);
+    }
+}
\ No newline at end of file