diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/ChangeJsonBuilder.java b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/ChangeJsonBuilder.java index 372de9589..f399b78ad 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/ChangeJsonBuilder.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/ChangeJsonBuilder.java @@ -14,21 +14,14 @@ import java.util.Map; /** * Builds JSON document for a bean change. */ -class ChangeJsonBuilder { +final class ChangeJsonBuilder { - protected final JsonFactory jsonFactory = new JsonFactory(); - - protected final JsonContext json; - - ChangeJsonBuilder(JsonContext json) { - this.json = json; - } + private final JsonFactory jsonFactory = new JsonFactory(); /** * Write the bean change as JSON. */ void writeBeanJson(Writer writer, BeanChange bean, ChangeSet changeSet) throws IOException { - try (JsonGenerator generator = jsonFactory.createGenerator(writer)) { writeBeanChange(generator, bean, changeSet); generator.flush(); @@ -39,9 +32,7 @@ class ChangeJsonBuilder { * Write the bean change as JSON document containing the transaction header details. */ private void writeBeanChange(JsonGenerator gen, BeanChange bean, ChangeSet changeSet) throws IOException { - gen.writeStartObject(); - gen.writeNumberField("ts", bean.getEventTime()); gen.writeStringField("change", bean.getEvent().getCode()); gen.writeStringField("type", bean.getType()); @@ -49,9 +40,7 @@ class ChangeJsonBuilder { if (bean.getTenantId() != null) { gen.writeStringField("tenantId", bean.getTenantId().toString()); } - writeBeanTransactionDetails(gen, changeSet); - writeBeanValues(gen, bean); gen.writeEndObject(); } @@ -60,7 +49,6 @@ class ChangeJsonBuilder { * Denormalise by writing the transaction header details. */ private void writeBeanTransactionDetails(JsonGenerator gen, ChangeSet changeSet) throws IOException { - String source = changeSet.getSource(); if (source != null) { gen.writeStringField("source", source); @@ -87,12 +75,10 @@ class ChangeJsonBuilder { * For insert and update write the new/old values. */ private void writeBeanValues(JsonGenerator gen, BeanChange bean) throws IOException { - if (bean.getEvent() != ChangeType.DELETE) { gen.writeFieldName("data"); gen.writeRaw(":"); gen.writeRaw(bean.getData()); - String oldData = bean.getOldData(); if (oldData != null) { gen.writeRaw(",\"oldData\":"); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogListener.java b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogListener.java index 0168fa222..ee8e75424 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogListener.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogListener.java @@ -15,7 +15,7 @@ import java.util.Properties; /** * Simply logs the change sets in JSON form to logger named io.ebean.ChangeLog. */ -public class DefaultChangeLogListener implements ChangeLogListener, Plugin { +public final class DefaultChangeLogListener implements ChangeLogListener, Plugin { /** * The usual application specific logger. @@ -45,8 +45,7 @@ public class DefaultChangeLogListener implements ChangeLogListener, Plugin { */ @Override public void configure(SpiServer server) { - jsonBuilder = new ChangeJsonBuilder(server.json()); - + jsonBuilder = new ChangeJsonBuilder(); Properties properties = server.getServerConfig().getProperties(); if (properties != null) { String bufferSize = properties.getProperty("ebean.changeLog.bufferSize"); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogPrepare.java b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogPrepare.java index 16af27424..596d4d331 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogPrepare.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogPrepare.java @@ -11,7 +11,7 @@ import io.ebean.event.changelog.ChangeSet; * on the changeSet. *

*/ -public class DefaultChangeLogPrepare implements ChangeLogPrepare { +public final class DefaultChangeLogPrepare implements ChangeLogPrepare { /** * Just return true to send change set through to the logger. diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogRegister.java b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogRegister.java index a6208a703..d9f962969 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogRegister.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/changelog/DefaultChangeLogRegister.java @@ -14,10 +14,9 @@ import java.util.Set; /** * Default implementation of ChangeLogRegister. */ -public class DefaultChangeLogRegister implements ChangeLogRegister { +public final class DefaultChangeLogRegister implements ChangeLogRegister { private static final BasicFilter INCLUDE_INSERTS = new BasicFilter(true); - private static final BasicFilter EXCLUDE_INSERTS = new BasicFilter(false); private final boolean defaultInsertsInclude; diff --git a/ebean-core/src/test/java/io/ebeaninternal/server/changelog/ChangeJsonBuilderTest.java b/ebean-core/src/test/java/io/ebeaninternal/server/changelog/ChangeJsonBuilderTest.java index f87405087..0e608f3e1 100644 --- a/ebean-core/src/test/java/io/ebeaninternal/server/changelog/ChangeJsonBuilderTest.java +++ b/ebean-core/src/test/java/io/ebeaninternal/server/changelog/ChangeJsonBuilderTest.java @@ -20,8 +20,7 @@ public class ChangeJsonBuilderTest extends BaseTestCase { @Test public void testToJson() throws Exception { - JsonContext jsonContext = Ebean.getDefaultServer().json(); - ChangeJsonBuilder builder = new ChangeJsonBuilder(jsonContext); + ChangeJsonBuilder builder = new ChangeJsonBuilder(); ChangeSet changeSet = helper.createChangeSet("ABCD", 10); changeSet.getUserContext().put("altUser", "role user");