From d9efeac0a159ab6b6345fd3d4c37b0b2acd1b470 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Tue, 2 Jul 2019 21:47:53 +1200 Subject: [PATCH] #1747 - Refactor ebeaninternal/server/persist remove unused emptyStringAsNull - remove unused emptyStringAsNull - tighten access --- .../server/persist/dml/DeleteHandler.java | 2 +- .../server/persist/dml/DeleteMeta.java | 9 +----- .../server/persist/dml/DmlBeanPersister.java | 2 +- .../server/persist/dml/DmlHandler.java | 2 +- .../persist/dml/GenerateDmlRequest.java | 12 ++++---- .../server/persist/dml/InsertHandler.java | 2 +- .../server/persist/dml/InsertMeta.java | 30 +++++-------------- .../server/persist/dml/MetaFactory.java | 10 ++----- .../server/persist/dml/UpdateHandler.java | 2 +- .../server/persist/dml/UpdateMeta.java | 15 +--------- 10 files changed, 21 insertions(+), 65 deletions(-) diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/DeleteHandler.java b/src/main/java/io/ebeaninternal/server/persist/dml/DeleteHandler.java index a5f65f257..e8d67baa9 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/DeleteHandler.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/DeleteHandler.java @@ -15,7 +15,7 @@ public class DeleteHandler extends DmlHandler { private final DeleteMeta meta; DeleteHandler(PersistRequestBean persist, DeleteMeta meta) { - super(persist, meta.isEmptyStringAsNull()); + super(persist); this.meta = meta; } diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/DeleteMeta.java b/src/main/java/io/ebeaninternal/server/persist/dml/DeleteMeta.java index 3c007036c..b7dfc8bf9 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/DeleteMeta.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/DeleteMeta.java @@ -26,10 +26,7 @@ final class DeleteMeta { private final String tableName; - private final boolean emptyStringAsNull; - - DeleteMeta(boolean emptyStringAsNull, BeanDescriptor desc, BindableId id, Bindable version, Bindable tenantId) { - this.emptyStringAsNull = emptyStringAsNull; + DeleteMeta(BeanDescriptor desc, BindableId id, Bindable version, Bindable tenantId) { this.tableName = desc.getBaseTable(); this.id = id; this.version = version; @@ -49,10 +46,6 @@ final class DeleteMeta { } } - boolean isEmptyStringAsNull() { - return emptyStringAsNull; - } - /** * Return the table name. */ diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java b/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java index 0d62615f2..609ea3ab1 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/DmlBeanPersister.java @@ -26,7 +26,7 @@ public final class DmlBeanPersister implements BeanPersister { private final DeleteMeta deleteMeta; - public DmlBeanPersister(DatabasePlatform dbPlatform, UpdateMeta updateMeta, InsertMeta insertMeta, DeleteMeta deleteMeta) { + DmlBeanPersister(DatabasePlatform dbPlatform, UpdateMeta updateMeta, InsertMeta insertMeta, DeleteMeta deleteMeta) { this.dbPlatform = dbPlatform; this.updateMeta = updateMeta; this.insertMeta = insertMeta; diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java b/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java index 58b96180b..f20992d1f 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/DmlHandler.java @@ -51,7 +51,7 @@ public abstract class DmlHandler implements PersistHandler, BindableRequest { private short batchedStatus; - DmlHandler(PersistRequestBean persistRequest, boolean emptyStringToNull) { + DmlHandler(PersistRequestBean persistRequest) { this.now = System.currentTimeMillis(); this.persistRequest = persistRequest; this.transaction = persistRequest.getTransaction(); diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/GenerateDmlRequest.java b/src/main/java/io/ebeaninternal/server/persist/dml/GenerateDmlRequest.java index fab4485c3..5093ae111 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/GenerateDmlRequest.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/GenerateDmlRequest.java @@ -5,8 +5,6 @@ package io.ebeaninternal.server.persist.dml; */ public class GenerateDmlRequest { - private static final String IS_NULL = " is null"; - private final StringBuilder sb = new StringBuilder(100); private StringBuilder insertBindBuffer; @@ -57,11 +55,11 @@ public class GenerateDmlRequest { } } - public int getBindColumnCount() { + int getBindColumnCount() { return bindColumnCount; } - public String getInsertBindBuffer() { + String getInsertBindBuffer() { return insertBindBuffer.toString(); } @@ -70,19 +68,19 @@ public class GenerateDmlRequest { return sb.toString(); } - public void setWhereIdMode() { + void setWhereIdMode() { this.prefix = ""; this.prefix2 = " and "; } - public void setInsertSetMode() { + void setInsertSetMode() { this.insertBindBuffer = new StringBuilder(100); this.insertMode = 1; this.prefix = ""; this.prefix2 = ", "; } - public void setUpdateSetMode() { + void setUpdateSetMode() { this.prefix = ""; this.prefix2 = ", "; } diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java b/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java index 70e2917c8..f886024c7 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/InsertHandler.java @@ -45,7 +45,7 @@ public class InsertHandler extends DmlHandler { * Create to handle the insert execution. */ public InsertHandler(PersistRequestBean persist, InsertMeta meta) { - super(persist, meta.isEmptyStringToNull()); + super(persist); this.meta = meta; this.concatinatedKey = meta.isConcatenatedKey(); } diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/InsertMeta.java b/src/main/java/io/ebeaninternal/server/persist/dml/InsertMeta.java index 27860c6b8..49bfa1cde 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/InsertMeta.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/InsertMeta.java @@ -44,11 +44,7 @@ final class InsertMeta { private final String[] identityDbColumns; - private final boolean emptyStringToNull; - - public InsertMeta(DatabasePlatform dbPlatform, BeanDescriptor desc, Bindable shadowFKey, BindableId id, BindableList all) { - - this.emptyStringToNull = dbPlatform.isTreatEmptyStringsAsNull(); + InsertMeta(DatabasePlatform dbPlatform, BeanDescriptor desc, Bindable shadowFKey, BindableId id, BindableList all) { this.discriminator = getDiscriminator(desc); this.id = id; this.all = all; @@ -57,7 +53,6 @@ final class InsertMeta { String tableName = desc.getBaseTable(); String draftTableName = desc.getDraftTable(); - this.sqlWithId = genSql(false, tableName, false); this.sqlDraftWithId = desc.isDraftable() ? genSql(false, draftTableName, true) : sqlWithId; @@ -90,28 +85,17 @@ final class InsertMeta { private static Bindable getDiscriminator(BeanDescriptor desc) { InheritInfo inheritInfo = desc.getInheritInfo(); - if (inheritInfo != null) { - return new BindableDiscriminator(inheritInfo); - } else { - return null; - } - } - - /** - * Return true if empty strings should be treated as null. - */ - public boolean isEmptyStringToNull() { - return emptyStringToNull; + return inheritInfo != null ? new BindableDiscriminator(inheritInfo) : null; } /** * Return true if this is a concatenated key. */ - public boolean isConcatenatedKey() { + boolean isConcatenatedKey() { return concatinatedKey; } - public String[] getIdentityDbColumns() { + String[] getIdentityDbColumns() { return identityDbColumns; } @@ -119,7 +103,7 @@ final class InsertMeta { * Return true if we should use a SQL query to return the generated key. * This can not be used with JDBC batch mode. */ - public boolean supportsSelectLastInsertedId() { + boolean supportsSelectLastInsertedId() { return supportsSelectLastInsertedId; } @@ -127,14 +111,14 @@ final class InsertMeta { * Return true if getGeneratedKeys is supported by the underlying jdbc * driver and database. */ - public boolean supportsGetGeneratedKeys() { + boolean supportsGetGeneratedKeys() { return supportsGetGeneratedKeys; } /** * Return true if the Id can be derived from other property values. */ - public boolean deriveConcatenatedId(PersistRequestBean persist) { + boolean deriveConcatenatedId(PersistRequestBean persist) { return id.deriveConcatenatedId(persist); } diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/MetaFactory.java b/src/main/java/io/ebeaninternal/server/persist/dml/MetaFactory.java index 70196cfc4..bbc795bd6 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/MetaFactory.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/MetaFactory.java @@ -39,16 +39,11 @@ class MetaFactory { private final DatabasePlatform dbPlatform; - private final boolean emptyStringAsNull; - MetaFactory(DatabasePlatform dbPlatform) { this.dbPlatform = dbPlatform; - this.emptyStringAsNull = dbPlatform.isTreatEmptyStringsAsNull(); - // to bind encryption data before or after the encryption key DbEncrypt dbEncrypt = dbPlatform.getDbEncrypt(); boolean bindEncryptDataFirst = dbEncrypt == null || dbEncrypt.isBindEncryptDataFirst(); - this.baseFact = new FactoryBaseProperties(bindEncryptDataFirst); this.embeddedFact = new FactoryEmbedded(bindEncryptDataFirst); } @@ -75,7 +70,7 @@ class MetaFactory { BindableList setBindable = new BindableList(setList); - return new UpdateMeta(emptyStringAsNull, desc, setBindable, id, version, tenantId); + return new UpdateMeta(desc, setBindable, id, version, tenantId); } /** @@ -86,8 +81,7 @@ class MetaFactory { BindableId id = idFact.createId(desc); Bindable version = versionFact.createForDelete(desc); Bindable tenantId = versionFact.createTenantId(desc); - - return new DeleteMeta(emptyStringAsNull, desc, id, version, tenantId); + return new DeleteMeta(desc, id, version, tenantId); } /** diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/UpdateHandler.java b/src/main/java/io/ebeaninternal/server/persist/dml/UpdateHandler.java index 4d3a261b4..6477c2fd3 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/UpdateHandler.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/UpdateHandler.java @@ -18,7 +18,7 @@ public class UpdateHandler extends DmlHandler { private boolean emptySetClause; UpdateHandler(PersistRequestBean persist, UpdateMeta meta) { - super(persist, meta.isEmptyStringAsNull()); + super(persist); this.meta = meta; } diff --git a/src/main/java/io/ebeaninternal/server/persist/dml/UpdateMeta.java b/src/main/java/io/ebeaninternal/server/persist/dml/UpdateMeta.java index 5dc2752bc..89c56752b 100644 --- a/src/main/java/io/ebeaninternal/server/persist/dml/UpdateMeta.java +++ b/src/main/java/io/ebeaninternal/server/persist/dml/UpdateMeta.java @@ -24,16 +24,10 @@ final class UpdateMeta { private final Bindable version; private final Bindable tenantId; - private final String tableName; - private final UpdatePlan modeNoneUpdatePlan; private final UpdatePlan modeVersionUpdatePlan; - private final boolean emptyStringAsNull; - - UpdateMeta(boolean emptyStringAsNull, BeanDescriptor desc, BindableList set, BindableId id, Bindable version, Bindable tenantId) { - this.emptyStringAsNull = emptyStringAsNull; - this.tableName = desc.getBaseTable(); + UpdateMeta(BeanDescriptor desc, BindableList set, BindableId id, Bindable version, Bindable tenantId) { this.set = set; this.id = id; this.version = version; @@ -46,13 +40,6 @@ final class UpdateMeta { this.modeVersionUpdatePlan = new UpdatePlan(ConcurrencyMode.VERSION, sqlVersion, set); } - /** - * Return true if empty strings should be treated as null. - */ - boolean isEmptyStringAsNull() { - return emptyStringAsNull; - } - /** * Bind the request based on the concurrency mode. */