From 51fad2dec6b9545f686be3aae798f4ebb94f39e1 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Wed, 6 Nov 2019 23:29:33 +1300 Subject: [PATCH] Refactor CQueryBuilder extract method, no effective change. --- .../server/query/CQueryBuilder.java | 49 ++++++++++--------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java b/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java index 38b2e1f8c..a52ba5ce0 100644 --- a/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java +++ b/src/main/java/io/ebeaninternal/server/query/CQueryBuilder.java @@ -488,30 +488,8 @@ class CQueryBuilder { } if (el == null) { throw new PersistenceException("Property [" + propertyName + "] not found on " + descriptor.getFullName()); - } else { - BeanProperty beanProperty = el.getBeanProperty(); - if (beanProperty.isId()) { - if (propertyName.contains(".")) { - // For @Id properties we chop off the last part of the path - propertyName = SplitName.parent(propertyName); - } - } else if (beanProperty.isDiscriminator()) { - propertyName = SplitName.parent(propertyName); - } else if (beanProperty instanceof BeanPropertyAssocOne) { - String msg = "Column [" + column.getDbColumn() + "] mapped to complex Property[" + propertyName + "]"; - msg += ". It should be mapped to a simple property (probably the Id property). "; - throw new PersistenceException(msg); - } - if (propertyName != null) { - boolean assocProperty = el.isAssocProperty(); - if (!assocProperty) { - pathProps.addToPath(null, propertyName); - } else { - String[] pathProp = SplitName.split(propertyName); - pathProps.addToPath(pathProp[0], pathProp[1]); - } - } } + addRawColumnMapping(pathProps, column, propertyName, el); } } @@ -534,6 +512,31 @@ class CQueryBuilder { return new SqlTreeBuilder(request, predicates, detail, rawNoId).build(); } + private void addRawColumnMapping(PathProperties pathProps, Column column, String propertyName, ElPropertyValue el) { + BeanProperty beanProperty = el.getBeanProperty(); + if (beanProperty.isId()) { + if (propertyName.contains(".")) { + // For @Id properties we chop off the last part of the path + propertyName = SplitName.parent(propertyName); + } + } else if (beanProperty.isDiscriminator()) { + propertyName = SplitName.parent(propertyName); + } else if (beanProperty instanceof BeanPropertyAssocOne) { + String msg = "Column [" + column.getDbColumn() + "] mapped to complex Property[" + propertyName + "]"; + msg += ". It should be mapped to a simple property (probably the Id property). "; + throw new PersistenceException(msg); + } + if (propertyName != null) { + boolean assocProperty = el.isAssocProperty(); + if (!assocProperty) { + pathProps.addToPath(null, propertyName); + } else { + String[] pathProp = SplitName.split(propertyName); + pathProps.addToPath(pathProp[0], pathProp[1]); + } + } + } + /** * Return a path for a foreign key property using the default naming convention. */