From 55587b12aa5456c98db619a630efc6f1078aa33c Mon Sep 17 00:00:00 2001
From: rbygrave
Date: Tue, 17 Aug 2021 19:15:35 +1200
Subject: [PATCH] #2318 - Refactor internals - final classes in el packages
---
.../server/el/ElComparatorNoop.java | 2 +-
.../server/el/ElComparatorProperty.java | 2 --
.../io/ebeaninternal/server/el/ElFilter.java | 3 --
.../server/el/ElMatchBuilder.java | 36 +++++++++----------
.../server/el/ElPropertyChain.java | 16 +--------
.../server/el/ElPropertyChainBuilder.java | 5 +--
.../executor/DaemonScheduleThreadPool.java | 2 --
.../server/executor/DaemonThreadFactory.java | 3 +-
.../executor/DefaultBackgroundExecutor.java | 2 +-
.../readaudit/DefaultReadAuditLogger.java | 13 -------
10 files changed, 22 insertions(+), 62 deletions(-)
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorNoop.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorNoop.java
index 9377aa91c..9fa68b481 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorNoop.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorNoop.java
@@ -6,7 +6,7 @@ package io.ebeaninternal.server.el;
* @author Roland Praml, FOCONIS AG
*
*/
-public class ElComparatorNoop implements ElComparator {
+public final class ElComparatorNoop implements ElComparator {
private static final long serialVersionUID = -9060871822183687180L;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorProperty.java
index a1093473f..56576d947 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorProperty.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElComparatorProperty.java
@@ -12,9 +12,7 @@ public final class ElComparatorProperty implements Comparator, ElComparato
private static final long serialVersionUID = -2735738237263956073L;
private final ElPropertyValue elGetValue;
-
private final int nullOrder;
-
private final int asc;
public ElComparatorProperty(ElPropertyValue elGetValue, boolean ascending, boolean nullsHigh) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElFilter.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElFilter.java
index 4b205fb19..470345a31 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElFilter.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElFilter.java
@@ -14,11 +14,8 @@ import java.util.regex.Pattern;
public final class ElFilter implements Filter {
private final BeanDescriptor beanDescriptor;
-
private final ArrayList> matches = new ArrayList<>();
-
private int maxRows;
-
private String sortByClause;
public ElFilter(BeanDescriptor beanDescriptor) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElMatchBuilder.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElMatchBuilder.java
index 0cccfb9f4..66e966cfb 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElMatchBuilder.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElMatchBuilder.java
@@ -8,12 +8,12 @@ import java.util.regex.Pattern;
/**
* Contains the various ElMatcher implementations.
*/
-class ElMatchBuilder {
+final class ElMatchBuilder {
/**
* Case insensitive equals.
*/
- static class RegularExpr implements ElMatcher {
+ static final class RegularExpr implements ElMatcher {
final ElPropertyValue elGetValue;
final String value;
@@ -49,7 +49,7 @@ class ElMatchBuilder {
public abstract boolean isMatch(T bean);
}
- static class Ieq extends BaseString {
+ static final class Ieq extends BaseString {
Ieq(ElPropertyValue elGetValue, String value) {
super(elGetValue, value);
}
@@ -64,7 +64,7 @@ class ElMatchBuilder {
/**
* Case insensitive starts with matcher.
*/
- static class IStartsWith implements ElMatcher {
+ static final class IStartsWith implements ElMatcher {
final ElPropertyValue elGetValue;
final CharMatch charMatch;
@@ -85,7 +85,7 @@ class ElMatchBuilder {
/**
* Case insensitive ends with matcher.
*/
- static class IEndsWith implements ElMatcher {
+ static final class IEndsWith implements ElMatcher {
final ElPropertyValue elGetValue;
final CharMatch charMatch;
@@ -103,7 +103,7 @@ class ElMatchBuilder {
}
}
- static class StartsWith extends BaseString {
+ static final class StartsWith extends BaseString {
StartsWith(ElPropertyValue elGetValue, String value) {
super(elGetValue, value);
}
@@ -115,7 +115,7 @@ class ElMatchBuilder {
}
}
- static class EndsWith extends BaseString {
+ static final class EndsWith extends BaseString {
EndsWith(ElPropertyValue elGetValue, String value) {
super(elGetValue, value);
}
@@ -127,7 +127,7 @@ class ElMatchBuilder {
}
}
- static class IsNull implements ElMatcher {
+ static final class IsNull implements ElMatcher {
final ElPropertyValue elGetValue;
@@ -141,7 +141,7 @@ class ElMatchBuilder {
}
}
- static class IsNotNull implements ElMatcher {
+ static final class IsNotNull implements ElMatcher {
final ElPropertyValue elGetValue;
@@ -170,7 +170,7 @@ class ElMatchBuilder {
public abstract boolean isMatch(T value);
}
- static class InSet implements ElMatcher {
+ static final class InSet implements ElMatcher {
final Set> set;
final ElPropertyValue elGetValue;
@@ -183,7 +183,6 @@ class ElMatchBuilder {
@Override
public boolean isMatch(T bean) {
-
Object value = elGetValue.pathGet(bean);
return value != null && set.contains(value);
}
@@ -192,7 +191,7 @@ class ElMatchBuilder {
/**
* Equal To.
*/
- static class Eq extends Base {
+ static final class Eq extends Base {
public Eq(Object filterValue, ElComparator comparator) {
super(filterValue, comparator);
@@ -207,7 +206,7 @@ class ElMatchBuilder {
/**
* Not Equal To.
*/
- static class Ne extends Base {
+ static final class Ne extends Base {
public Ne(Object filterValue, ElComparator comparator) {
super(filterValue, comparator);
@@ -222,7 +221,7 @@ class ElMatchBuilder {
/**
* Between.
*/
- static class Between implements ElMatcher {
+ static final class Between implements ElMatcher {
final Object min;
final Object max;
@@ -236,7 +235,6 @@ class ElMatchBuilder {
@Override
public boolean isMatch(T value) {
-
return (comparator.compareValue(min, value) <= 0
&& comparator.compareValue(max, value) >= 0);
}
@@ -245,7 +243,7 @@ class ElMatchBuilder {
/**
* Greater Than.
*/
- static class Gt extends Base {
+ static final class Gt extends Base {
Gt(Object filterValue, ElComparator comparator) {
super(filterValue, comparator);
}
@@ -259,7 +257,7 @@ class ElMatchBuilder {
/**
* Greater Than or Equal To.
*/
- static class Ge extends Base {
+ static final class Ge extends Base {
Ge(Object filterValue, ElComparator comparator) {
super(filterValue, comparator);
}
@@ -273,7 +271,7 @@ class ElMatchBuilder {
/**
* Less Than or Equal To.
*/
- static class Le extends Base {
+ static final class Le extends Base {
Le(Object filterValue, ElComparator comparator) {
super(filterValue, comparator);
}
@@ -287,7 +285,7 @@ class ElMatchBuilder {
/**
* Less Than.
*/
- static class Lt extends Base {
+ static final class Lt extends Base {
Lt(Object filterValue, ElComparator comparator) {
super(filterValue, comparator);
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java
index 2effb1703..16d0e3808 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChain.java
@@ -22,30 +22,22 @@ import java.util.Arrays;
* no further processing of the chain occurs.
*
*/
-public class ElPropertyChain implements ElPropertyValue {
+public final class ElPropertyChain implements ElPropertyValue {
private final String prefix;
-
private final String placeHolder;
private final String placeHolderEncrypted;
-
private final String name;
-
private final String expression;
-
private final boolean containsMany;
-
private final ElPropertyValue[] chain;
-
private final boolean assocId;
private final int last;
private final BeanProperty lastBeanProperty;
private final ScalarType> scalarType;
-
private final ElPropertyValue lastElPropertyValue;
public ElPropertyChain(boolean containsMany, boolean embedded, String expression, ElPropertyValue[] chain) {
-
this.containsMany = containsMany;
this.chain = chain;
this.expression = expression;
@@ -119,15 +111,12 @@ public class ElPropertyChain implements ElPropertyValue {
if (!expression.startsWith(sinceProperty)) {
return containsMany;
}
-
int i = 1 + SplitName.count(sinceProperty);
-
for (; i < chain.length; i++) {
if (chain[i].getBeanProperty().containsMany()) {
return true;
}
}
-
return false;
}
@@ -281,7 +270,6 @@ public class ElPropertyChain implements ElPropertyValue {
@Override
public Object pathGetNested(Object bean) {
-
Object prevBean = bean;
for (int i = 0; i < last; i++) {
// always return non null prevBean
@@ -293,7 +281,6 @@ public class ElPropertyChain implements ElPropertyValue {
@Override
public void pathSet(Object bean, Object value) {
-
Object prevBean = bean;
for (int i = 0; i < last; i++) {
prevBean = chain[i].pathGetNested(prevBean);
@@ -310,5 +297,4 @@ public class ElPropertyChain implements ElPropertyValue {
}
}
-
}
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChainBuilder.java b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChainBuilder.java
index 93b17b708..fd69bdd9c 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChainBuilder.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/el/ElPropertyChainBuilder.java
@@ -13,14 +13,11 @@ import java.util.List;
* order.customer.name.
*
*/
-public class ElPropertyChainBuilder {
+public final class ElPropertyChainBuilder {
private final String expression;
-
private final List chain = new ArrayList<>();
-
private boolean embedded;
-
private boolean containsMany;
/**
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonScheduleThreadPool.java b/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonScheduleThreadPool.java
index 3bdf15777..983800061 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonScheduleThreadPool.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonScheduleThreadPool.java
@@ -15,9 +15,7 @@ public final class DaemonScheduleThreadPool extends ScheduledThreadPoolExecutor
private static final Logger logger = LoggerFactory.getLogger(DaemonScheduleThreadPool.class);
private final ReentrantLock lock = new ReentrantLock();
-
private final String namePrefix;
-
private final int shutdownWaitSeconds;
/**
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonThreadFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonThreadFactory.java
index d1bbf3ee1..c2e14195b 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonThreadFactory.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/executor/DaemonThreadFactory.java
@@ -13,10 +13,9 @@ import java.util.concurrent.atomic.AtomicInteger;
* on shutdown or register with the JVM shutdown hook to perform a nice shutdown
* of the daemon threads etc.
*/
-public class DaemonThreadFactory implements ThreadFactory {
+public final class DaemonThreadFactory implements ThreadFactory {
private final AtomicInteger threadNumber = new AtomicInteger(1);
-
private final String namePrefix;
public DaemonThreadFactory(String namePrefix) {
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/executor/DefaultBackgroundExecutor.java b/ebean-core/src/main/java/io/ebeaninternal/server/executor/DefaultBackgroundExecutor.java
index 28bb50765..305da21ca 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/executor/DefaultBackgroundExecutor.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/executor/DefaultBackgroundExecutor.java
@@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit;
/**
* The default implementation of the BackgroundExecutor.
*/
-public class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
+public final class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
private final ScheduledExecutorService executor;
diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/readaudit/DefaultReadAuditLogger.java b/ebean-core/src/main/java/io/ebeaninternal/server/readaudit/DefaultReadAuditLogger.java
index 64a9072eb..9e1403836 100644
--- a/ebean-core/src/main/java/io/ebeaninternal/server/readaudit/DefaultReadAuditLogger.java
+++ b/ebean-core/src/main/java/io/ebeaninternal/server/readaudit/DefaultReadAuditLogger.java
@@ -19,15 +19,11 @@ import java.util.Map;
public class DefaultReadAuditLogger implements ReadAuditLogger {
private static final Logger appLogger = LoggerFactory.getLogger(DefaultReadAuditLogger.class);
-
private static final Logger queryLogger = LoggerFactory.getLogger("io.ebean.ReadAuditQuery");
-
private static final Logger auditLogger = LoggerFactory.getLogger("io.ebean.ReadAudit");
protected final JsonFactory jsonFactory = new JsonFactory();
-
protected int defaultQueryBuffer = 500;
-
protected int defaultReadBuffer = 150;
/**
@@ -37,7 +33,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
public void queryPlan(ReadAuditQueryPlan queryPlan) {
StringWriter writer = new StringWriter(defaultQueryBuffer);
try (JsonGenerator gen = jsonFactory.createGenerator(writer)) {
-
gen.writeStartObject();
String beanType = queryPlan.getBeanType();
if (beanType != null) {
@@ -53,9 +48,7 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
}
gen.writeEndObject();
gen.flush();
-
queryLogger.info(writer.toString());
-
} catch (IOException e) {
appLogger.error("Error writing Read audit event", e);
}
@@ -66,7 +59,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
*/
@Override
public void auditBean(ReadEvent beanEvent) {
-
writeEvent(beanEvent);
}
@@ -79,14 +71,11 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
}
protected void writeEvent(ReadEvent event) {
-
try {
StringWriter writer = new StringWriter(defaultReadBuffer);
JsonGenerator gen = jsonFactory.createGenerator(writer);
writeDetails(gen, event);
-
auditLogger.info(writer.toString());
-
} catch (IOException e) {
appLogger.error("Error writing Read audit event", e);
}
@@ -96,7 +85,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
* Write the details for the read bean or read many beans event.
*/
protected void writeDetails(JsonGenerator gen, ReadEvent event) throws IOException {
-
gen.writeStartObject();
String source = event.getSource();
if (source != null) {
@@ -130,7 +118,6 @@ public class DefaultReadAuditLogger implements ReadAuditLogger {
gen.writeFieldName("ids");
EJson.writeCollection(event.getIds(), gen);
}
-
gen.writeEndObject();
gen.flush();
gen.close();