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