Skip to content

Commit ac84d42

Browse files
author
Priyank Agarwal
authored
#55: Unified the interfaces for creation of DB Objects (#79)
1 parent e8b1f17 commit ac84d42

19 files changed

+66
-56
lines changed

doc/changes/changes_3.2.0.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ Code name: Truncating tables
77
In this release following changes are made:
88
* Added support for truncating tables.
99
* Used Error Message Builder for Error Messages.
10+
* Unified the interfaces for creation of dB Objects
1011

1112
## Features
1213

1314
* #67: Add Table#truncate()
1415
* #60: Used Error Message Builder for Error Messages
16+
* #55: Unified the interfaces for creation of dB Objects
1517

1618
## Dependency Updates
1719

src/main/java/com/exasol/dbbuilder/dialects/exasol/ConnectionDefinition.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.exasol.dbbuilder.dialects.exasol;
22

3-
import com.exasol.db.ExasolIdentifier;
3+
import com.exasol.db.Identifier;
44
import com.exasol.dbbuilder.dialects.AbstractDatabaseObject;
55
import com.exasol.dbbuilder.dialects.DatabaseObject;
66
import com.exasol.dbbuilder.dialects.DatabaseObjectException;
@@ -27,9 +27,9 @@ public class ConnectionDefinition extends AbstractDatabaseObject {
2727
* @param target target the connection points to
2828
*/
2929
// [impl~creating-connections~1]
30-
public ConnectionDefinition(final ExasolImmediateDatabaseObjectWriter writer, final String name,
30+
public ConnectionDefinition(final ExasolImmediateDatabaseObjectWriter writer, final Identifier name,
3131
final String target) {
32-
super(ExasolIdentifier.of(name), false);
32+
super(name, false);
3333
this.writer = writer;
3434
this.target = target;
3535
this.writer.write(this);
@@ -44,9 +44,9 @@ public ConnectionDefinition(final ExasolImmediateDatabaseObjectWriter writer, fi
4444
* @param userName user as which to connect
4545
* @param password password or password-like credential
4646
*/
47-
public ConnectionDefinition(final ExasolImmediateDatabaseObjectWriter writer, final String name,
47+
public ConnectionDefinition(final ExasolImmediateDatabaseObjectWriter writer, final Identifier name,
4848
final String target, final String userName, final String password) {
49-
super(ExasolIdentifier.of(name), false);
49+
super(name, false);
5050
this.target = target;
5151
this.writer = writer;
5252
this.userName = userName;

src/main/java/com/exasol/dbbuilder/dialects/exasol/ExasolObjectFactory.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.sql.Connection;
44

5+
import com.exasol.db.ExasolIdentifier;
56
import com.exasol.dbbuilder.dialects.AbstractObjectFactory;
67
import com.exasol.dbbuilder.dialects.DatabaseObjectWriter;
78
import com.exasol.dbbuilder.dialects.User;
@@ -41,7 +42,7 @@ public ExasolObjectFactory(final Connection connection, final ExasolObjectConfig
4142
*/
4243
// [impl->dsn~creating-connections~1]
4344
public ConnectionDefinition createConnectionDefinition(final String name, final String to) {
44-
return new ConnectionDefinition(this.writer, name, to);
45+
return new ConnectionDefinition(this.writer, ExasolIdentifier.of(name), to);
4546
}
4647

4748
/**
@@ -55,22 +56,22 @@ public ConnectionDefinition createConnectionDefinition(final String name, final
5556
*/
5657
public ConnectionDefinition createConnectionDefinition(final String name, final String to, final String userName,
5758
final String password) {
58-
return new ConnectionDefinition(this.writer, name, to, userName, password);
59+
return new ConnectionDefinition(this.writer, ExasolIdentifier.of(name), to, userName, password);
5960
}
6061

6162
@Override
6263
public ExasolSchema createSchema(final String name) {
63-
return new ExasolSchema(this.writer, name);
64+
return new ExasolSchema(this.writer, ExasolIdentifier.of(name));
6465
}
6566

6667
@Override
6768
public User createUser(final String name) {
68-
return new ExasolUser(this.writer, name);
69+
return new ExasolUser(this.writer, ExasolIdentifier.of(name));
6970
}
7071

7172
@Override
7273
public User createUser(final String name, final String password) {
73-
return new ExasolUser(this.writer, name, password);
74+
return new ExasolUser(this.writer, ExasolIdentifier.of(name), password);
7475
}
7576

7677
@Override
@@ -90,7 +91,7 @@ public User createLoginUser(final String name, final String password) {
9091
* @return builder
9192
*/
9293
public VirtualSchema.Builder createVirtualSchemaBuilder(final String name) {
93-
return VirtualSchema.builder(this.writer, name);
94+
return VirtualSchema.builder(this.writer, ExasolIdentifier.of(name));
9495
}
9596

9697
@Override

src/main/java/com/exasol/dbbuilder/dialects/exasol/ExasolSchema.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ public class ExasolSchema extends AbstractSchema {
2323
* @param writer database object writer
2424
* @param name name of the database schema
2525
*/
26-
public ExasolSchema(final ExasolImmediateDatabaseObjectWriter writer, final String name) {
27-
super(ExasolIdentifier.of(name));
26+
public ExasolSchema(final ExasolImmediateDatabaseObjectWriter writer, final Identifier name) {
27+
super(name);
2828
this.writer = writer;
2929
writer.write(this);
3030
}

src/main/java/com/exasol/dbbuilder/dialects/exasol/ExasolUser.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.exasol.dbbuilder.dialects.exasol;
22

3-
import com.exasol.db.ExasolIdentifier;
3+
import com.exasol.db.Identifier;
44
import com.exasol.dbbuilder.dialects.AbstractUser;
55
import com.exasol.dbbuilder.dialects.DatabaseObject;
66
import com.exasol.dbbuilder.dialects.DatabaseObjectWriter;
@@ -19,8 +19,8 @@ public class ExasolUser extends AbstractUser {
1919
* @param writer database object writer
2020
* @param name user name
2121
*/
22-
public ExasolUser(final ExasolImmediateDatabaseObjectWriter writer, final String name) {
23-
super(ExasolIdentifier.of(name));
22+
public ExasolUser(final ExasolImmediateDatabaseObjectWriter writer, final Identifier name) {
23+
super(name);
2424
this.writer = writer;
2525
this.writer.write(this);
2626
}
@@ -32,8 +32,8 @@ public ExasolUser(final ExasolImmediateDatabaseObjectWriter writer, final String
3232
* @param name user name
3333
* @param password login password
3434
*/
35-
public ExasolUser(final ExasolImmediateDatabaseObjectWriter writer, final String name, final String password) {
36-
super(ExasolIdentifier.of(name), password);
35+
public ExasolUser(final ExasolImmediateDatabaseObjectWriter writer, final Identifier name, final String password) {
36+
super(name, password);
3737
this.writer = writer;
3838
writer.write(this);
3939
}

src/main/java/com/exasol/dbbuilder/dialects/exasol/VirtualSchema.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.util.HashMap;
44
import java.util.Map;
55

6-
import com.exasol.db.ExasolIdentifier;
76
import com.exasol.db.Identifier;
87
import com.exasol.dbbuilder.dialects.AbstractDatabaseObject;
98
import com.exasol.dbbuilder.dialects.DatabaseObject;
@@ -40,8 +39,8 @@ private VirtualSchema(final Builder builder) {
4039
* @param name name of the Virtual Schema to be built
4140
* @return builder instance
4241
*/
43-
public static Builder builder(final ExasolImmediateDatabaseObjectWriter writer, final String name) {
44-
return new Builder(writer, ExasolIdentifier.of(name));
42+
public static Builder builder(final ExasolImmediateDatabaseObjectWriter writer, final Identifier name) {
43+
return new Builder(writer, name);
4544
}
4645

4746
private void addReservedProperties(final Builder builder) {

src/main/java/com/exasol/dbbuilder/dialects/mysql/MySqlObjectFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ public MySqlObjectFactory(final Connection connection) {
2424

2525
@Override
2626
public User createUser(final String name) {
27-
return new MySqlUser(this.writer, name);
27+
return new MySqlUser(this.writer, MySQLIdentifier.of(name));
2828
}
2929

3030
@Override
3131
public User createUser(final String name, final String password) {
32-
return new MySqlUser(this.writer, name, password);
32+
return new MySqlUser(this.writer, MySQLIdentifier.of(name), password);
3333
}
3434

3535
@Override
@@ -44,7 +44,7 @@ public User createLoginUser(final String name, final String password) {
4444

4545
@Override
4646
public MySqlSchema createSchema(final String name) {
47-
return new MySqlSchema(this.writer, name);
47+
return new MySqlSchema(this.writer, MySQLIdentifier.of(name));
4848
}
4949

5050
@Override

src/main/java/com/exasol/dbbuilder/dialects/mysql/MySqlSchema.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ public class MySqlSchema extends AbstractSchema {
1616
* @param writer database object writer
1717
* @param name name of the database schema
1818
*/
19-
public MySqlSchema(final MySqlImmediateDatabaseObjectWriter writer, final String name) {
20-
super(MySQLIdentifier.of(name));
19+
public MySqlSchema(final MySqlImmediateDatabaseObjectWriter writer, final Identifier name) {
20+
super(name);
2121
this.writer = writer;
2222
this.writer.write(this);
2323
}

src/main/java/com/exasol/dbbuilder/dialects/mysql/MySqlUser.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.exasol.dbbuilder.dialects.mysql;
22

3+
import com.exasol.db.Identifier;
34
import com.exasol.dbbuilder.dialects.AbstractUser;
45
import com.exasol.dbbuilder.dialects.DatabaseObject;
56
import com.exasol.dbbuilder.dialects.DatabaseObjectWriter;
@@ -18,8 +19,8 @@ public class MySqlUser extends AbstractUser {
1819
* @param writer database object writer
1920
* @param name user name
2021
*/
21-
public MySqlUser(final MySqlImmediateDatabaseObjectWriter writer, final String name) {
22-
super(MySQLIdentifier.of(name));
22+
public MySqlUser(final MySqlImmediateDatabaseObjectWriter writer, final Identifier name) {
23+
super(name);
2324
this.writer = writer;
2425
this.writer.write(this);
2526
}
@@ -31,8 +32,8 @@ public MySqlUser(final MySqlImmediateDatabaseObjectWriter writer, final String n
3132
* @param name user name
3233
* @param password login password
3334
*/
34-
public MySqlUser(final MySqlImmediateDatabaseObjectWriter writer, final String name, final String password) {
35-
super(MySQLIdentifier.of(name), password);
35+
public MySqlUser(final MySqlImmediateDatabaseObjectWriter writer, final Identifier name, final String password) {
36+
super(name, password);
3637
this.writer = writer;
3738
this.writer.write(this);
3839
}

src/main/java/com/exasol/dbbuilder/dialects/postgres/PostgreSqlObjectFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ public User createLoginUser(final String name, final String password) {
4646

4747
@Override
4848
public Schema createSchema(final String name) {
49-
return new PostgreSqlSchema(this.writer, name);
49+
return new PostgreSqlSchema(this.writer, PostgreSqlIdentifier.of(name));
5050
}
5151
}

0 commit comments

Comments
 (0)