From 6f7efe69224c2af87bd5725bd0ccc8e2a4daedf2 Mon Sep 17 00:00:00 2001 From: rbygrave Date: Fri, 20 Aug 2021 17:39:11 +1200 Subject: [PATCH] #2318 - Refactor internals - trim whitespace in deploy package --- .../server/deploy/AssocOneHelp.java | 6 -- .../server/deploy/AssocOneHelpEmbedded.java | 3 - .../deploy/AssocOneHelpRefExported.java | 3 - .../server/deploy/AssocOneHelpRefInherit.java | 5 - .../server/deploy/BaseCollectionHelp.java | 1 - .../server/deploy/BeanCascadeInfo.java | 2 - .../server/deploy/BeanChangeJson.java | 3 - .../deploy/BeanCollectionHelpFactory.java | 1 - .../server/deploy/BeanDescriptor.java | 99 +++---------------- .../deploy/BeanDescriptorCacheHelp.java | 13 --- .../deploy/BeanDescriptorDraftHelp.java | 37 ++----- .../server/deploy/BeanDescriptorElement.java | 1 - .../deploy/BeanDescriptorElementEmbedded.java | 3 +- .../BeanDescriptorElementEmbeddedMap.java | 3 - .../deploy/BeanDescriptorElementScalar.java | 2 - .../BeanDescriptorElementScalarMap.java | 2 - .../deploy/BeanDescriptorInitContext.java | 1 - .../server/deploy/BeanDescriptorJsonHelp.java | 2 - .../server/deploy/BeanDescriptorManager.java | 8 -- .../deploy/ChainedBeanPersistController.java | 40 ++++---- .../deploy/ChainedBeanPersistListener.java | 16 +-- .../ChainedBeanPostConstructListener.java | 19 ++-- .../server/deploy/ChainedBeanPostLoad.java | 11 +-- .../deploy/ChainedBeanQueryAdapter.java | 4 +- .../server/deploy/DCacheRegion.java | 1 - .../server/deploy/DeployParser.java | 16 --- .../server/deploy/DeployPropertyParser.java | 4 - .../server/deploy/DeployUpdateParser.java | 5 - .../server/deploy/DetermineAggPath.java | 2 - .../DynamicPropertyAggregationFormula.java | 3 - .../DynamicPropertyAggregationFormulaMTO.java | 1 + .../server/deploy/ExportedProperty.java | 2 - .../server/deploy/FormulaPropertyPath.java | 14 +-- .../server/deploy/InheritInfo.java | 3 - .../server/deploy/TableJoinColumn.java | 6 -- 35 files changed, 60 insertions(+), 282 deletions(-) diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelp.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelp.java index 6f7f0bb75..c2ed2a472 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelp.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelp.java @@ -14,9 +14,7 @@ import java.sql.SQLException; abstract class AssocOneHelp { final BeanPropertyAssocOne property; - private final BeanDescriptor target; - private final String path; AssocOneHelp(BeanPropertyAssocOne property) { @@ -58,19 +56,16 @@ abstract class AssocOneHelp { * Read and return the bean. */ Object read(DbReadContext ctx) throws SQLException { - // Support for Inheritance hierarchy on exported OneToOne ? Object id = property.targetIdBinder.read(ctx); if (id == null) { return null; } - PersistenceContext pc = ctx.getPersistenceContext(); Object existing = target.contextGet(pc, id); if (existing != null) { return existing; } - boolean disableLazyLoading = ctx.isDisableLazyLoading(); Object ref = target.contextRef(pc, ctx.isReadOnly(), disableLazyLoading, id); if (!disableLazyLoading) { @@ -79,7 +74,6 @@ abstract class AssocOneHelp { return ref; } - /** * Read setting values into the bean. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpEmbedded.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpEmbedded.java index afc910528..228dbb599 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpEmbedded.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpEmbedded.java @@ -32,7 +32,6 @@ final class AssocOneHelpEmbedded extends AssocOneHelp { @Override Object read(DataReader reader) throws SQLException { - EntityBean embeddedBean = property.targetDescriptor.createEntityBean(); boolean notNull = false; for (BeanProperty property : property.embeddedProps) { @@ -63,9 +62,7 @@ final class AssocOneHelpEmbedded extends AssocOneHelp { @Override Object read(DbReadContext ctx) throws SQLException { - EntityBean embeddedBean = property.targetDescriptor.createEntityBean(); - boolean notNull = false; for (BeanProperty property : property.embeddedProps) { Object value = property.readSet(ctx, embeddedBean); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefExported.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefExported.java index 0aad172c3..cf2f00f28 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefExported.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefExported.java @@ -8,7 +8,6 @@ import io.ebeaninternal.server.query.SqlJoinType; final class AssocOneHelpRefExported extends AssocOneHelp { private final boolean softDelete; - private final String softDeletePredicate; AssocOneHelpRefExported(BeanPropertyAssocOne property) { @@ -22,7 +21,6 @@ final class AssocOneHelpRefExported extends AssocOneHelp { */ @Override void appendSelect(DbSqlContext ctx, boolean subQuery) { - // set appropriate tableAlias for the exported id columns String relativePrefix = ctx.getRelativePrefix(property.getName()); ctx.pushTableAlias(relativePrefix); @@ -32,7 +30,6 @@ final class AssocOneHelpRefExported extends AssocOneHelp { @Override void appendFrom(DbSqlContext ctx, SqlJoinType joinType) { - String relativePrefix = ctx.getRelativePrefix(property.getName()); if (softDelete && !ctx.isIncludeSoftDelete()) { property.tableJoin.addJoin(joinType, relativePrefix, ctx, softDeletePredicate); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefInherit.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefInherit.java index 7204a2cf1..3018b7e19 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefInherit.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/AssocOneHelpRefInherit.java @@ -29,7 +29,6 @@ final class AssocOneHelpRefInherit extends AssocOneHelp { */ @Override Object read(DbReadContext ctx) throws SQLException { - // read discriminator to determine the type InheritInfo rowInheritInfo = inherit.readType(ctx); if (rowInheritInfo == null) { @@ -37,12 +36,10 @@ final class AssocOneHelpRefInherit extends AssocOneHelp { property.targetIdBinder.loadIgnore(ctx); return null; } - Object id = property.targetIdBinder.read(ctx); if (id == null) { return null; } - // check transaction context to see if it already exists PersistenceContext pc = ctx.getPersistenceContext(); BeanDescriptor desc = rowInheritInfo.desc(); @@ -50,7 +47,6 @@ final class AssocOneHelpRefInherit extends AssocOneHelp { if (existing != null) { return existing; } - // for inheritance hierarchy create the correct type for this row... boolean disableLazyLoading = ctx.isDisableLazyLoading(); Object ref = desc.contextRef(pc, ctx.isReadOnly(), disableLazyLoading, id); @@ -72,7 +68,6 @@ final class AssocOneHelpRefInherit extends AssocOneHelp { */ @Override void appendSelect(DbSqlContext ctx, boolean subQuery) { - if (!subQuery) { // add discriminator column String relativePrefix = ctx.getRelativePrefix(property.getName()); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BaseCollectionHelp.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BaseCollectionHelp.java index f66ad8e4c..a803e1754 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BaseCollectionHelp.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BaseCollectionHelp.java @@ -13,7 +13,6 @@ abstract class BaseCollectionHelp implements BeanCollectionHelp { final BeanPropertyAssocMany many; private final BeanDescriptor targetDescriptor; final String propertyName; - BeanCollectionLoader loader; BaseCollectionHelp(BeanPropertyAssocMany many) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCascadeInfo.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCascadeInfo.java index c5df36975..4c0672a35 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCascadeInfo.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCascadeInfo.java @@ -11,9 +11,7 @@ import javax.persistence.CascadeType; public final class BeanCascadeInfo { private boolean delete; - private boolean save; - private boolean refresh; public void setTypes(CascadeType[] types) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanChangeJson.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanChangeJson.java index 2e9b9cc69..a4cb98e94 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanChangeJson.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanChangeJson.java @@ -25,7 +25,6 @@ final class BeanChangeJson implements BeanDiffVisitor { this.newData = new StringWriter(200); this.newJson = descriptor.createJsonWriter(newData); newJson.writeStartObject(); - if (statelessUpdate) { this.oldJson = null; this.oldData = null; @@ -38,7 +37,6 @@ final class BeanChangeJson implements BeanDiffVisitor { @Override public void visit(int position, Object newVal, Object oldVal) { - try { BeanProperty prop = descriptor.propertiesIndex[position]; if (prop.isDbUpdatable()) { @@ -55,7 +53,6 @@ final class BeanChangeJson implements BeanDiffVisitor { @Override public void visitPush(int position) { stack.push(descriptor); - BeanPropertyAssocOne embedded = (BeanPropertyAssocOne)descriptor.propertiesIndex[position]; descriptor = embedded.getTargetDescriptor(); newJson.writeStartObject(embedded.getName()); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCollectionHelpFactory.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCollectionHelpFactory.java index e46bd2908..c3bda06be 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCollectionHelpFactory.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanCollectionHelpFactory.java @@ -33,7 +33,6 @@ public final class BeanCollectionHelpFactory { default: throw new RuntimeException("Invalid type " + manyType); } - } @SuppressWarnings("unchecked") diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java index 055f2605a..6541cade1 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptor.java @@ -115,37 +115,23 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType { private static final Logger logger = LoggerFactory.getLogger(BeanDescriptor.class); - private final ConcurrentHashMap updatePlanCache = new ConcurrentHashMap<>(); - - private final ConcurrentHashMap queryPlanCache = new ConcurrentHashMap<>(); - - private final ConcurrentHashMap elCache = new ConcurrentHashMap<>(); - - private final ConcurrentHashMap elDeployCache = new ConcurrentHashMap<>(); - - private final ConcurrentHashMap> comparatorCache = new ConcurrentHashMap<>(); - - private final ConcurrentHashMap dynamicProperty = new ConcurrentHashMap<>(); - - private final Map namedRawSql; - - private final Map namedQuery; - - private final boolean multiValueSupported; - private boolean batchEscalateOnCascadeInsert; - private boolean batchEscalateOnCascadeDelete; - - private final BeanIudMetrics iudMetrics; - public enum EntityType { ORM, EMBEDDED, VIEW, SQL, DOC } - /** - * The nature/type of this bean. - */ + private final ConcurrentHashMap updatePlanCache = new ConcurrentHashMap<>(); + private final ConcurrentHashMap queryPlanCache = new ConcurrentHashMap<>(); + private final ConcurrentHashMap elCache = new ConcurrentHashMap<>(); + private final ConcurrentHashMap elDeployCache = new ConcurrentHashMap<>(); + private final ConcurrentHashMap> comparatorCache = new ConcurrentHashMap<>(); + private final ConcurrentHashMap dynamicProperty = new ConcurrentHashMap<>(); + private final Map namedRawSql; + private final Map namedQuery; + private final boolean multiValueSupported; + private boolean batchEscalateOnCascadeInsert; + private boolean batchEscalateOnCascadeDelete; + private final BeanIudMetrics iudMetrics; private final EntityType entityType; - /** * Set when Id property is marked with GeneratedValue annotation. */ @@ -153,71 +139,39 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType { private final PlatformIdGenerator idGenerator; private final IdentityMode identityMode; private final IdType idType; - /** * SQL used to return last inserted id. Used for Identity columns where * getGeneratedKeys is not supported. */ private final String selectLastInsertedId; private final String selectLastInsertedIdDraft; - private final boolean autoTunable; - - /** - * The concurrency mode for beans of this type. - */ private final ConcurrencyMode concurrencyMode; - private final IndexDefinition[] indexDefinitions; - private final String[] dependentTables; - - /** - * The base database table. - */ private final String baseTable; private final String baseTableAsOf; private final String baseTableVersionsBetween; private final boolean historySupport; private final TableJoin primaryKeyJoin; - private final BeanProperty softDeleteProperty; private final boolean softDelete; - private final String draftTable; - private final PartitionMeta partitionMeta; private final String storageEngine; - - /** - * DB table comment. - */ private final String dbComment; - - /** - * Set to true if read auditing is on for this bean type. - */ private final boolean readAuditing; - private final boolean draftable; - private final boolean draftableElement; - private final BeanProperty unmappedJson; - private final BeanProperty tenant; - private final BeanProperty draft; - private final BeanProperty draftDirty; - private final LinkedHashMap propMap; - /** * Map of DB column to property path (for nativeSql mapping). */ private final Map columnPath = new HashMap<>(); - /** * Map of related table to assoc property (for nativeSql mapping). */ @@ -235,46 +189,34 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType { private final BeanQueryAdapter queryAdapter; private final BeanFindController beanFinder; private final ChangeLogFilter changeLogFilter; - - /** - * Inheritance information. Server side only. - */ final InheritInfo inheritInfo; - private final boolean abstractType; - private final BeanProperty idProperty; private final int idPropertyIndex; - private final BeanProperty versionProperty; private final int versionPropertyIndex; private final BeanProperty whenModifiedProperty; private final BeanProperty whenCreatedProperty; - /** * Properties that are initialised in the constructor need to be 'unloaded' to support partial object queries. */ private final int[] unloadProperties; - /** * Properties local to this type (not from a super type). */ private final BeanProperty[] propertiesLocal; - /** * Scalar mutable properties (need to dirty check on update). */ private final BeanProperty[] propertiesMutable; private final BeanPropertyAssocOne unidirectional; private final BeanProperty orderColumn; - private final BeanProperty[] propertiesNonMany; private final BeanProperty[] propertiesAggregate; private final BeanPropertyAssocMany[] propertiesMany; private final BeanPropertyAssocMany[] propertiesManySave; private final BeanPropertyAssocMany[] propertiesManyDelete; private final BeanPropertyAssocMany[] propertiesManyToMany; - /** * list of properties that are associated beans and not embedded (Derived). */ @@ -285,10 +227,8 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType { private final BeanPropertyAssocOne[] propertiesOneExportedSave; private final BeanPropertyAssocOne[] propertiesOneExportedDelete; private final BeanPropertyAssocOne[] propertiesEmbedded; - private final BeanProperty[] propertiesBaseScalar; private final BeanProperty[] propertiesTransient; - /** * All non transient properties excluding the id properties. */ @@ -300,21 +240,10 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType { private final boolean idOnlyReference; private BeanNaturalKey beanNaturalKey; - /** - * The bean class name or the table name for MapBeans. - */ + private final String fullName; - - /** - * Flag used to determine if saves can be skipped. - */ private boolean saveRecurseSkippable; - - /** - * Flag used to determine if deletes can be skipped. - */ private boolean deleteRecurseSkippable; - private final EntityBean prototypeEntityBean; private final IdBinder idBinder; @@ -629,11 +558,9 @@ public class BeanDescriptor implements BeanType, STreeType, SpiBeanType { } prop.registerColumn(this, null); } - if (unidirectional != null) { unidirectional.initialise(initContext); } - idBinder.initialise(); idBinderInLHSSql = idBinder.getBindIdInSql(baseTableAlias); idBinderIdSql = idBinder.getBindIdSql(baseTableAlias); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java index 0b547b9a9..61d7366bc 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorCacheHelp.java @@ -50,38 +50,27 @@ final class BeanDescriptorCacheHelp { private static final Logger natLog = LoggerFactory.getLogger("io.ebean.cache.NATKEY"); private final BeanDescriptor desc; - private final SpiCacheManager cacheManager; - private final CacheOptions cacheOptions; - /** * Flag indicating this bean has no relationships. */ private final boolean cacheSharableBeans; private final boolean invalidateQueryCache; - private final Class beanType; - private final String cacheName; - private final BeanPropertyAssocOne[] propertiesOneImported; private final String[] naturalKey; - private final ServerCache beanCache; private final ServerCache naturalKeyCache; private final ServerCache queryCache; - private final boolean noCaching; - private final SpiCacheControl cacheControl; private final SpiCacheRegion cacheRegion; - /** * Set to true if all persist changes need to notify the cache. */ private boolean cacheNotifyOnAll; - /** * Set to true if delete changes need to notify cache. */ @@ -293,13 +282,11 @@ final class BeanDescriptorCacheHelp { // held as part of the bean cache so skip return false; } - CachedManyIds entry = manyPropGet(parentId, many.getName()); if (entry == null) { // not in cache so return unsuccessful return false; } - EntityBean ownerBean = bc.getOwnerBean(); EntityBeanIntercept ebi = ownerBean._ebean_getIntercept(); PersistenceContext persistenceContext = ebi.getPersistenceContext(); diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorDraftHelp.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorDraftHelp.java index 4609b3b74..f1433dbde 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorDraftHelp.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorDraftHelp.java @@ -14,9 +14,7 @@ import java.util.List; final class BeanDescriptorDraftHelp { private final BeanDescriptor desc; - private final BeanProperty draftDirty; - private final BeanProperty[] resetProperties; BeanDescriptorDraftHelp(BeanDescriptor desc) { @@ -29,16 +27,12 @@ final class BeanDescriptorDraftHelp { * Return the properties that are reset on draft beans after publish. */ private BeanProperty[] resetProperties() { - List list = new ArrayList<>(); - - BeanProperty[] props = desc.propertiesNonMany(); - for (BeanProperty prop : props) { + for (BeanProperty prop : desc.propertiesNonMany()) { if (prop.isDraftReset()) { list.add(prop); } } - return list.toArray(new BeanProperty[0]); } @@ -46,19 +40,15 @@ final class BeanDescriptorDraftHelp { * Set the value of all the 'reset properties' to null on the draft bean. */ boolean draftReset(T draftBean) { - EntityBean draftEntityBean = (EntityBean) draftBean; - if (draftDirty != null) { // set @DraftDirty property to false draftDirty.setValueIntercept(draftEntityBean, false); } - // set to null on all @DraftReset properties for (BeanProperty resetProperty : resetProperties) { resetProperty.setValueIntercept(draftEntityBean, null); } - // return true if the bean is dirty (and should be persisted) return draftEntityBean._ebean_getIntercept().isDirty(); } @@ -71,31 +61,23 @@ final class BeanDescriptorDraftHelp { */ @SuppressWarnings("unchecked") public T publish(T draftBean, T liveBean) { - if (liveBean == null) { liveBean = (T) desc.createEntityBean(); } - EntityBean draft = (EntityBean) draftBean; EntityBean live = (EntityBean) liveBean; - BeanProperty idProperty = desc.getIdProperty(); if (idProperty != null) { idProperty.publish(draft, live); } - - BeanProperty[] props = desc.propertiesNonMany(); - for (BeanProperty prop : props) { + for (BeanProperty prop : desc.propertiesNonMany()) { prop.publish(draft, live); } - - BeanPropertyAssocMany[] many = desc.propertiesMany(); - for (BeanPropertyAssocMany aMany : many) { - if (aMany.getTargetDescriptor().isDraftable()) { - aMany.publishMany(draft, live); + for (BeanPropertyAssocMany many : desc.propertiesMany()) { + if (many.getTargetDescriptor().isDraftable()) { + many.publishMany(draft, live); } } - return liveBean; } @@ -103,20 +85,15 @@ final class BeanDescriptorDraftHelp { * Fetch draftable element relationships. */ void draftQueryOptimise(Query query) { - - BeanPropertyAssocOne[] one = desc.propertiesOne(); - for (BeanPropertyAssocOne anOne : one) { + for (BeanPropertyAssocOne anOne : desc.propertiesOne()) { if (anOne.getTargetDescriptor().isDraftableElement()) { query.fetch(anOne.getName()); } } - - BeanPropertyAssocMany[] many = desc.propertiesMany(); - for (BeanPropertyAssocMany aMany : many) { + for (BeanPropertyAssocMany aMany : desc.propertiesMany()) { if (aMany.getTargetDescriptor().isDraftableElement()) { query.fetch(aMany.getName()); } } - } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElement.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElement.java index 1d541377d..54803369a 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElement.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElement.java @@ -15,7 +15,6 @@ import java.util.Arrays; abstract class BeanDescriptorElement extends BeanDescriptor { private final String simpleName; - final ElementHelp elementHelp; BeanDescriptorElement(BeanDescriptorMap owner, DeployBeanDescriptor deploy, ElementHelp elementHelp) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbedded.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbedded.java index c40a1c156..6758d4b09 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbedded.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbedded.java @@ -12,12 +12,11 @@ import java.io.IOException; /** * Bean descriptor used with element collection of list/set of embeddable. */ +@SuppressWarnings("rawtypes") class BeanDescriptorElementEmbedded extends BeanDescriptorElement { private final BeanPropertyAssocOne embeddedProperty; - private final EntityBean prototype; - private BeanDescriptor targetDescriptor; BeanDescriptorElementEmbedded(BeanDescriptorMap owner, DeployBeanDescriptor deploy, ElementHelp elementHelp) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbeddedMap.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbeddedMap.java index 670c0c67d..e0ae85be1 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbeddedMap.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementEmbeddedMap.java @@ -18,7 +18,6 @@ import java.util.Map; class BeanDescriptorElementEmbeddedMap extends BeanDescriptorElementEmbedded { private final ScalarType scalarTypeKey; - private final boolean stringKey; BeanDescriptorElementEmbeddedMap(BeanDescriptorMap owner, DeployBeanDescriptor deploy, ElementHelp elementHelp) { @@ -50,7 +49,6 @@ class BeanDescriptorElementEmbeddedMap extends BeanDescriptorElementEmbedded< @Override public Object jsonReadCollection(SpiJsonReader readJson, EntityBean parentBean) throws IOException { - JsonParser parser = readJson.getParser(); ElementCollector add = elementHelp.createCollector(); do { @@ -70,7 +68,6 @@ class BeanDescriptorElementEmbeddedMap extends BeanDescriptorElementEmbedded< add.addKeyValue(key, val); } } while (true); - return add.collection(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalar.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalar.java index 262f7d8be..13833eb77 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalar.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalar.java @@ -40,7 +40,6 @@ class BeanDescriptorElementScalar extends BeanDescriptorElement { @Override public Object jsonReadCollection(SpiJsonReader readJson, EntityBean parentBean) throws IOException { - JsonParser parser = readJson.getParser(); ElementCollector add = elementHelp.createCollector(); do { @@ -50,7 +49,6 @@ class BeanDescriptorElementScalar extends BeanDescriptorElement { } add.addElement(scalarType.jsonRead(parser)); } while (true); - return add.collection(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalarMap.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalarMap.java index a9aabce8b..93a2bcb91 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalarMap.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorElementScalarMap.java @@ -49,7 +49,6 @@ class BeanDescriptorElementScalarMap extends BeanDescriptorElement { @Override public Object jsonReadCollection(SpiJsonReader readJson, EntityBean parentBean) throws IOException { - JsonParser parser = readJson.getParser(); ElementCollector add = elementHelp.createCollector(); do { @@ -69,7 +68,6 @@ class BeanDescriptorElementScalarMap extends BeanDescriptorElement { add.addKeyValue(key, val); } } while (true); - return add.collection(); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorInitContext.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorInitContext.java index ec9c19044..9ce861569 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorInitContext.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorInitContext.java @@ -7,7 +7,6 @@ class BeanDescriptorInitContext { private final Map withHistoryTables; private final Map draftTables; private final String asOfViewSuffix; - private String embeddedPrefix; BeanDescriptorInitContext(Map withHistoryTables, Map draftTables, String asOfViewSuffix) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorJsonHelp.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorJsonHelp.java index d9b56f215..091a5a579 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorJsonHelp.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorJsonHelp.java @@ -133,10 +133,8 @@ final class BeanDescriptorJsonHelp { } unmappedProperties.put(key, EJson.parse(parser)); } - } else if (JsonToken.END_OBJECT == event) { break; - } else { throw new RuntimeException("Unexpected token " + event + " - expecting key or end_object at: " + parser.getCurrentLocation()); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java index edeaa397b..6261ab73c 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanDescriptorManager.java @@ -107,19 +107,16 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy private final int queryPlanTTLSeconds; private int entityBeanCount; private List> immutableDescriptorList; - /** * Map of base tables to 'with history views' used to support 'as of' queries. */ private final Map asOfTableMap = new HashMap<>(); - /** * Map of base tables to 'draft' tables. */ private final Map draftTableMap = new HashMap<>(); // temporary collections used during startup and then cleared - private Map, DeployBeanInfo> deployInfoMap = new HashMap<>(); private Set> embeddedIdTypes = new HashSet<>(); private List> embeddedBeans = new ArrayList<>(); @@ -297,11 +294,9 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy readInheritedIdGenerators(); // creates the BeanDescriptors readEntityRelationships(); - List> list = new ArrayList<>(descMap.values()); list.sort(beanDescComparator); immutableDescriptorList = Collections.unmodifiableList(list); - initialiseAll(); readForeignKeys(); readTableToDescriptor(); @@ -311,12 +306,9 @@ public final class BeanDescriptorManager implements BeanDescriptorMap, SpiBeanTy embeddedIdTypes = null; embeddedBeans = null; deployInfoMap = null; - return asOfTableMap; - } catch (BeanNotEnhancedException e) { throw e; - } catch (RuntimeException e) { logger.error("Error in deployment", e); throw e; diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java index 6ffbae176..cdbdf41be 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistController.java @@ -51,7 +51,7 @@ public final class ChainedBeanPersistController implements BeanPersistController /** * Return the size of the chain. */ - protected int size() { + int size() { return chain.length; } @@ -64,7 +64,6 @@ public final class ChainedBeanPersistController implements BeanPersistController } else { List newList = new ArrayList<>(list); newList.add(c); - return new ChainedBeanPersistController(newList); } } @@ -78,7 +77,6 @@ public final class ChainedBeanPersistController implements BeanPersistController } else { List newList = new ArrayList<>(list); newList.remove(c); - return new ChainedBeanPersistController(newList); } } @@ -101,36 +99,36 @@ public final class ChainedBeanPersistController implements BeanPersistController @Override public void postDelete(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - aChain.postDelete(request); + for (BeanPersistController controller : chain) { + controller.postDelete(request); } } @Override public void postInsert(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - aChain.postInsert(request); + for (BeanPersistController controller : chain) { + controller.postInsert(request); } } @Override public void postUpdate(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - aChain.postUpdate(request); + for (BeanPersistController controller : chain) { + controller.postUpdate(request); } } @Override public void postSoftDelete(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - aChain.postSoftDelete(request); + for (BeanPersistController controller : chain) { + controller.postSoftDelete(request); } } @Override public boolean preDelete(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - if (!aChain.preDelete(request)) { + for (BeanPersistController controller : chain) { + if (!controller.preDelete(request)) { return false; } } @@ -139,8 +137,8 @@ public final class ChainedBeanPersistController implements BeanPersistController @Override public boolean preSoftDelete(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - if (!aChain.preSoftDelete(request)) { + for (BeanPersistController controller : chain) { + if (!controller.preSoftDelete(request)) { return false; } } @@ -149,15 +147,15 @@ public final class ChainedBeanPersistController implements BeanPersistController @Override public void preDelete(BeanDeleteIdRequest request) { - for (BeanPersistController aChain : chain) { - aChain.preDelete(request); + for (BeanPersistController controller : chain) { + controller.preDelete(request); } } @Override public boolean preInsert(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - if (!aChain.preInsert(request)) { + for (BeanPersistController controller : chain) { + if (!controller.preInsert(request)) { return false; } } @@ -166,8 +164,8 @@ public final class ChainedBeanPersistController implements BeanPersistController @Override public boolean preUpdate(BeanPersistRequest request) { - for (BeanPersistController aChain : chain) { - if (!aChain.preUpdate(request)) { + for (BeanPersistController controller : chain) { + if (!controller.preUpdate(request)) { return false; } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistListener.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistListener.java index 624ac6540..60b1a8bfe 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistListener.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPersistListener.java @@ -80,29 +80,29 @@ public final class ChainedBeanPersistListener implements BeanPersistListener { @Override public void deleted(Object bean) { - for (BeanPersistListener aChain : chain) { - aChain.deleted(bean); + for (BeanPersistListener listener : chain) { + listener.deleted(bean); } } @Override public void softDeleted(Object bean) { - for (BeanPersistListener aChain : chain) { - aChain.softDeleted(bean); + for (BeanPersistListener listener : chain) { + listener.softDeleted(bean); } } @Override public void inserted(Object bean) { - for (BeanPersistListener aChain : chain) { - aChain.inserted(bean); + for (BeanPersistListener listener : chain) { + listener.inserted(bean); } } @Override public void updated(Object bean, Set updatedProperties) { - for (BeanPersistListener aChain : chain) { - aChain.updated(bean, updatedProperties); + for (BeanPersistListener listener : chain) { + listener.updated(bean, updatedProperties); } } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java index d8f297628..f143cb8a8 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostConstructListener.java @@ -47,13 +47,6 @@ public final class ChainedBeanPostConstructListener implements BeanPostConstruct } } -// /** -// * Return the size of the chain. -// */ -// int size() { -// return chain.length; -// } - @Override public boolean isRegisterFor(Class cls) { // never called @@ -65,22 +58,22 @@ public final class ChainedBeanPostConstructListener implements BeanPostConstruct */ @Override public void postConstruct(Object bean) { - for (BeanPostConstructListener aChain : chain) { - aChain.postConstruct(bean); + for (BeanPostConstructListener listener : chain) { + listener.postConstruct(bean); } } @Override public void autowire(Object bean) { - for (BeanPostConstructListener aChain : chain) { - aChain.autowire(bean); + for (BeanPostConstructListener listener : chain) { + listener.autowire(bean); } } @Override public void postCreate(Object bean) { - for (BeanPostConstructListener aChain : chain) { - aChain.postCreate(bean); + for (BeanPostConstructListener listener : chain) { + listener.postCreate(bean); } } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostLoad.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostLoad.java index c3191a151..f5803d81a 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostLoad.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanPostLoad.java @@ -47,13 +47,6 @@ public final class ChainedBeanPostLoad implements BeanPostLoad { } } -// /** -// * Return the size of the chain. -// */ -// int size() { -// return chain.length; -// } - @Override public boolean isRegisterFor(Class cls) { // never called @@ -65,8 +58,8 @@ public final class ChainedBeanPostLoad implements BeanPostLoad { */ @Override public void postLoad(Object bean) { - for (BeanPostLoad aChain : chain) { - aChain.postLoad(bean); + for (BeanPostLoad postLoad : chain) { + postLoad.postLoad(bean); } } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java index be7c082f6..ef0aea684 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ChainedBeanQueryAdapter.java @@ -72,8 +72,8 @@ public final class ChainedBeanQueryAdapter implements BeanQueryAdapter { @Override public void preQuery(BeanQueryRequest request) { - for (BeanQueryAdapter aChain : chain) { - aChain.preQuery(request); + for (BeanQueryAdapter adapter : chain) { + adapter.preQuery(request); } } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DCacheRegion.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DCacheRegion.java index 9f1bd5d59..d8867e904 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DCacheRegion.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DCacheRegion.java @@ -5,7 +5,6 @@ import io.ebeaninternal.api.SpiCacheRegion; public final class DCacheRegion implements SpiCacheRegion { private boolean enabled = true; - private final String name; public DCacheRegion(String name) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployParser.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployParser.java index 9c5245e21..184e7ad18 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployParser.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployParser.java @@ -35,21 +35,13 @@ public abstract class DeployParser { private static final char OPEN_BRACKET = '('; boolean encrypted; - private String source; - private StringBuilder sb; - private int sourceLength; - private int pos; - String priorWord; - String word; - private char wordTerminator; - private StringBuilder wordBuffer; protected abstract String convertWord(); @@ -66,16 +58,13 @@ public abstract class DeployParser { } public String parse(String source) { - if (source == null) { return null; } - pos = -1; this.source = source; this.sourceLength = source.length(); this.sb = new StringBuilder(source.length() + 20); - while (nextWord()) { if (skipWordConvert()) { sb.append(word); @@ -94,7 +83,6 @@ public abstract class DeployParser { } } } - return sb.toString(); } @@ -103,11 +91,9 @@ public abstract class DeployParser { } private boolean nextWord() { - if (!findWordStart()) { return false; } - wordBuffer = new StringBuilder(); wordBuffer.append(source.charAt(pos)); while (++pos < sourceLength) { @@ -119,9 +105,7 @@ public abstract class DeployParser { break; } } - word = wordBuffer.toString(); - return true; } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployPropertyParser.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployPropertyParser.java index bf98172a2..419d1052e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployPropertyParser.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployPropertyParser.java @@ -15,15 +15,11 @@ import java.util.Set; public final class DeployPropertyParser extends DeployParser { private static final String JOIN = "join"; - private static final String FROM = "from"; private final BeanDescriptor beanDescriptor; - private final Set includes = new HashSet<>(); - private boolean catchFirst; - private ElPropertyDeploy firstProp; DeployPropertyParser(BeanDescriptor beanDescriptor) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployUpdateParser.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployUpdateParser.java index 716820922..638029647 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployUpdateParser.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DeployUpdateParser.java @@ -25,7 +25,6 @@ public final class DeployUpdateParser extends DeployParser { @Override public String convertWord() { - String dbWord = getDeployWord(word); if (dbWord != null) { return dbWord; @@ -35,10 +34,8 @@ public final class DeployUpdateParser extends DeployParser { } private String convertSubword(String currentWord) { - int start = 0; StringBuilder localBuffer = null; - while (true) { int dotPos = currentWord.indexOf('.', start); if (start == 0 && dotPos == -1) { @@ -76,11 +73,9 @@ public final class DeployUpdateParser extends DeployParser { @Override public String getDeployWord(String expression) { - if (expression.equalsIgnoreCase(beanDescriptor.getName())) { return beanDescriptor.getBaseTable(); } - ElPropertyDeploy elProp = beanDescriptor.getElPropertyDeploy(expression); return elProp != null ? elProp.getDbColumn() : null; } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java index 5790377db..0349ac196 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DetermineAggPath.java @@ -28,7 +28,6 @@ final class DetermineAggPath { * Parse and return the full path for the aggregation. */ static String path(String aggregation) { - // aggregations always have a form of sum(), avg(), max(), count() etc // so find the first open bracket int start = aggregation.indexOf('('); @@ -49,7 +48,6 @@ final class DetermineAggPath { return ch == '.' || Character.isJavaIdentifierPart(ch); } - /** * Helper class holding aggregation path segments. */ diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java index 3bfa064b5..970145632 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormula.java @@ -12,11 +12,8 @@ import javax.persistence.PersistenceException; class DynamicPropertyAggregationFormula extends DynamicPropertyBase { private final String parsedFormula; - private final boolean aggregate; - final BeanProperty asTarget; - private final String alias; DynamicPropertyAggregationFormula(String name, ScalarType scalarType, String parsedFormula, boolean aggregate, BeanProperty asTarget, String alias) { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormulaMTO.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormulaMTO.java index 0021d9636..b9a8f008d 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormulaMTO.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/DynamicPropertyAggregationFormulaMTO.java @@ -2,6 +2,7 @@ package io.ebeaninternal.server.deploy; import io.ebeaninternal.server.query.SqlBeanLoad; +@SuppressWarnings("rawtypes") public final class DynamicPropertyAggregationFormulaMTO extends DynamicPropertyAggregationFormula { private final BeanPropertyAssocOne prop; diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ExportedProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ExportedProperty.java index b8ec305a4..72db83564 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ExportedProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/ExportedProperty.java @@ -7,7 +7,6 @@ import io.ebeaninternal.server.core.InternString; * The Exported foreign key and property. *

* Used to for Assoc Manys to create references etc. - *

*/ final class ExportedProperty { @@ -42,7 +41,6 @@ final class ExportedProperty { * in preference to a parentProperty.idProperty = value. * Just using the foreign database column avoids triggering * a join to the 'parent' table. - *

*/ public String getForeignDbColumn() { return foreignDbColumn; diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/FormulaPropertyPath.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/FormulaPropertyPath.java index 43c4dc872..bd294d145 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/FormulaPropertyPath.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/FormulaPropertyPath.java @@ -13,19 +13,12 @@ final class FormulaPropertyPath { private static final String DISTINCT_ = "distinct "; private final BeanDescriptor descriptor; - private final String formula; - private final String outerFunction; - private final String internalExpression; - private final ElPropertyDeploy firstProp; - private final String parsedAggregation; - private boolean countDistinct; - private String cast; private String alias; @@ -36,7 +29,6 @@ final class FormulaPropertyPath { FormulaPropertyPath(BeanDescriptor descriptor, String formula, String path) { this.descriptor = descriptor; this.formula = formula; - int openBracket = formula.indexOf('('); int closeBracket = formula.lastIndexOf(')'); if (openBracket == -1 || closeBracket == -1) { @@ -49,7 +41,6 @@ final class FormulaPropertyPath { // ::CastType as foo parseSuffix(formula.substring(closeBracket + 1).trim()); } - DeployPropertyParser parser = descriptor.parser().setCatchFirst(true); String parsed = parser.parse(internalExpression); if (path != null) { @@ -105,7 +96,6 @@ final class FormulaPropertyPath { } STreeProperty build() { - if (cast != null) { ScalarType scalarType = descriptor.getScalarType(cast); if (scalarType == null) { @@ -122,7 +112,6 @@ final class FormulaPropertyPath { if (firstProp == null) { throw new IllegalStateException("unable to determine scalarType of formula [" + formula + "] for type " + descriptor + " - maybe use a cast like ::String ?"); } - // determine scalarType based on first property found by parser final BeanProperty property = firstProp.getBeanProperty(); if (!property.isAssocId()) { @@ -133,13 +122,12 @@ final class FormulaPropertyPath { } private DynamicPropertyAggregationFormula create(ScalarType scalarType) { - String logicalName = logicalName(); return new DynamicPropertyAggregationFormula(logicalName, scalarType, parsedAggregation, isAggregate(), target(logicalName), alias); } + @SuppressWarnings("rawtypes") private DynamicPropertyAggregationFormula createManyToOne(BeanProperty property) { - String logicalName = logicalName(); return new DynamicPropertyAggregationFormulaMTO((BeanPropertyAssocOne) property, logicalName, parsedAggregation, isAggregate(), target(logicalName), alias); } diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/InheritInfo.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/InheritInfo.java index 1f3e33797..2985170bf 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/InheritInfo.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/InheritInfo.java @@ -46,19 +46,16 @@ public final class InheritInfo { this.discriminatorColumn = InternString.intern(deploy.getColumnName(parent)); this.discriminatorValue = deploy.getDiscriminatorObjectValue(); this.discriminatorStringValue = deploy.getDiscriminatorStringValue(); - this.discriminatorType = deploy.getDiscriminatorType(parent); this.discriminatorLength = deploy.getColumnLength(parent); this.columnDefn = deploy.getColumnDefn(); this.where = InternString.intern(deploy.getWhere()); - if (r == null) { // this is a root node root = this; discMap = new HashMap<>(); typeMap = new HashMap<>(); registerWithRoot(this); - } else { this.root = r; // register with the root node... diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/TableJoinColumn.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/TableJoinColumn.java index 4878557b2..bc325d2a5 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/TableJoinColumn.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/TableJoinColumn.java @@ -12,20 +12,14 @@ public final class TableJoinColumn { * The local database column name. */ private final String localDbColumn; - private final String localSqlFormula; - /** * The foreign database column name. */ private final String foreignDbColumn; - private final String foreignSqlFormula; - private final boolean insertable; - private final boolean updateable; - /** * Hash for including in a query plan */