diff --git a/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContext.java b/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContext.java
index 5b95bd7645..e20cfbf392 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContext.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContext.java
@@ -22,13 +22,12 @@ public interface ImportContext {
/**
* Add fqcn to the import list. Returns fqcn as needed in source code.
* Attempts to handle fqcn with array and generics references.
- *
+ *
* e.g.
* java.util.Collection imports java.util.Collection and returns Collection
* org.marvel.Hulk[] imports org.marvel.Hulk and returns Hulk
*
*
- * @param fqcn
* @return import string
*/
public abstract String importType(String fqcn);
diff --git a/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContextImpl.java b/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContextImpl.java
index efb04de5bd..821d7b3d31 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContextImpl.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/export/java/ImportContextImpl.java
@@ -18,7 +18,6 @@
package org.hibernate.tool.internal.export.java;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
@@ -57,13 +56,12 @@ public ImportContextImpl(String basePackage) {
/**
* Add fqcn to the import list. Returns fqcn as needed in source code.
* Attempts to handle fqcn with array and generics references.
- *
+ *
* e.g.
* java.util.Collection imports java.util.Collection and returns Collection
* org.marvel.Hulk[] imports org.marvel.Hulk and returns Hulk
*
*
- * @param fqcn
* @return import string
*/
public String importType(String fqcn) {
@@ -88,14 +86,9 @@ public String importType(String fqcn) {
String simpleName = StringHelper.unqualify(fqcn);
if(simpleNames.containsKey(simpleName)) {
String existingFqcn = (String) simpleNames.get(simpleName);
- if(existingFqcn.equals(pureFqcn)) {
- canBeSimple = true;
- } else {
- canBeSimple = false;
- }
+ canBeSimple = existingFqcn.equals(pureFqcn);
} else {
- canBeSimple = true;
- simpleNames.put(simpleName, pureFqcn);
+ simpleNames.put(simpleName, pureFqcn);
imports.add( pureFqcn );
}
@@ -127,7 +120,7 @@ public String staticImport(String fqcn, String member) {
}
private boolean inDefaultPackage(String className) {
- return className.indexOf( "." ) < 0;
+ return !className.contains(".");
}
private boolean isPrimitive(String className) {
@@ -135,9 +128,7 @@ private boolean isPrimitive(String className) {
}
private boolean inSamePackage(String className) {
- String other = StringHelper.qualifier( className );
- return other == basePackage
- || (other != null && other.equals( basePackage ) );
+ return StringHelper.qualifier( className ).equals(basePackage);
}
private boolean inJavaLang(String className) {
@@ -145,20 +136,16 @@ private boolean inJavaLang(String className) {
}
public String generateImports() {
- StringBuffer buf = new StringBuffer();
-
- for ( Iterator imps = imports.iterator(); imps.hasNext(); ) {
- String next = imps.next();
- if(isPrimitive(next) || inDefaultPackage(next) || inJavaLang(next) || inSamePackage(next)) {
- // dont add automatically "imported" stuff
- } else {
- if(staticImports.contains(next)) {
- buf.append("import static " + next + ";\r\n");
- } else {
- buf.append("import " + next + ";\r\n");
- }
- }
- }
+ StringBuilder buf = new StringBuilder();
+ for (String next : imports) {
+ if (!(isPrimitive(next) || inDefaultPackage(next) || inJavaLang(next) || inSamePackage(next))) {
+ if (staticImports.contains(next)) {
+ buf.append("import static ").append(next).append(";\r\n");
+ } else {
+ buf.append("import ").append(next).append(";\r\n");
+ }
+ }
+ }
if(buf.indexOf( "$" )>=0) {
return buf.toString();
diff --git a/orm/src/main/java/org/hibernate/tool/internal/export/lint/BadCachingDetector.java b/orm/src/main/java/org/hibernate/tool/internal/export/lint/BadCachingDetector.java
index ff187be8dd..c37a59d83c 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/export/lint/BadCachingDetector.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/export/lint/BadCachingDetector.java
@@ -30,12 +30,11 @@ public String getName() {
}
@Override
- protected void visitProperty(PersistentClass clazz, Property property, IssueCollector collector) {
+ protected void visitProperty(Property property, IssueCollector collector) {
Value value = property.getValue();
- if(value instanceof Collection) {
- Collection col = (Collection) value;
- if(col.getCacheConcurrencyStrategy()!=null) { // caching is enabled
+ if(value instanceof Collection col) {
+ if(col.getCacheConcurrencyStrategy()!=null) { // caching is enabled
if (!col.getElement().isSimpleValue()) {
String entityName = (String) col.getElement().accept( new EntityNameFromValueVisitor() );
diff --git a/orm/src/main/java/org/hibernate/tool/internal/export/lint/EntityModelDetector.java b/orm/src/main/java/org/hibernate/tool/internal/export/lint/EntityModelDetector.java
index 2616411381..e1ebcea7ba 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/export/lint/EntityModelDetector.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/export/lint/EntityModelDetector.java
@@ -17,18 +17,15 @@
*/
package org.hibernate.tool.internal.export.lint;
-import java.util.Iterator;
-
import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.Property;
public abstract class EntityModelDetector extends Detector {
public void visit(IssueCollector collector) {
- for (Iterator iter = getMetadata().getEntityBindings().iterator(); iter.hasNext();) {
- PersistentClass clazz = iter.next();
- this.visit(clazz, collector);
- }
+ for (PersistentClass clazz : getMetadata().getEntityBindings()) {
+ this.visit(clazz, collector);
+ }
}
protected void visit(PersistentClass clazz, IssueCollector collector) {
@@ -37,13 +34,13 @@ protected void visit(PersistentClass clazz, IssueCollector collector) {
private void visitProperties(PersistentClass clazz, IssueCollector collector) {
if(clazz.hasIdentifierProperty()) {
- this.visitProperty(clazz, clazz.getIdentifierProperty(), collector);
+ this.visitProperty(clazz.getIdentifierProperty(), collector);
}
for (Property property : clazz.getProperties()) {
- this.visitProperty(clazz, property, collector);
+ this.visitProperty(property, collector);
}
}
- protected abstract void visitProperty(PersistentClass clazz, Property property, IssueCollector collector);
+ protected abstract void visitProperty(Property property, IssueCollector collector);
}
diff --git a/orm/src/main/java/org/hibernate/tool/internal/export/lint/InstrumentationDetector.java b/orm/src/main/java/org/hibernate/tool/internal/export/lint/InstrumentationDetector.java
index c9f437b664..cb4c361306 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/export/lint/InstrumentationDetector.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/export/lint/InstrumentationDetector.java
@@ -70,18 +70,16 @@ protected void visit(PersistentClass clazz, IssueCollector collector) {
} else if(enhanceEnabled){
Class>[] interfaces = mappedClass.getInterfaces();
boolean enhanced = false;
- for (int i = 0; i < interfaces.length; i++) {
- Class> intface = interfaces[i];
- if(intface.getName().equals(Managed.class.getName())) {
- enhanced = true;
- }
- }
+ for (Class> intface : interfaces) {
+ if (intface.getName().equals(Managed.class.getName())) {
+ enhanced = true;
+ break;
+ }
+ }
- if (enhanceEnabled && !enhanced) {
+ if (!enhanced) {
collector.reportIssue( new Issue("LAZY_NOT_INSTRUMENTED", Issue.HIGH_PRIORITY, "'" + clazz.getEntityName() + "' has lazy='false', but its class '" + mappedClass.getName() + "' has not been instrumented with javaassist") );
return;
- } else {
- // unknown bytecodeprovider...can't really check for that.
}
}
@@ -89,7 +87,6 @@ protected void visit(PersistentClass clazz, IssueCollector collector) {
@Override
protected void visitProperty(
- PersistentClass clazz,
Property property,
IssueCollector collector) {
}
diff --git a/orm/src/main/java/org/hibernate/tool/internal/export/lint/ShadowedIdentifierDetector.java b/orm/src/main/java/org/hibernate/tool/internal/export/lint/ShadowedIdentifierDetector.java
index ec119537ad..7790b0c1cb 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/export/lint/ShadowedIdentifierDetector.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/export/lint/ShadowedIdentifierDetector.java
@@ -17,7 +17,6 @@
*/
package org.hibernate.tool.internal.export.lint;
-import org.hibernate.mapping.PersistentClass;
import org.hibernate.mapping.Property;
public class ShadowedIdentifierDetector extends EntityModelDetector {
@@ -27,7 +26,7 @@ public String getName() {
}
@Override
- protected void visitProperty(PersistentClass clazz, Property property, IssueCollector collector) {
+ protected void visitProperty(Property property, IssueCollector collector) {
if(property.getName().equals("id")) {
if (property != property.getPersistentClass().getIdentifierProperty()) {
collector.reportIssue(new Issue("ID_SHADOWED", Issue.LOW_PRIORITY, property.getPersistentClass().getEntityName() + " has a normal property named 'id'. This can cause issues since HQL queries will always interpret 'id' as the identifier and not the concrete property"));
diff --git a/orm/src/main/java/org/hibernate/tool/internal/util/NameConverter.java b/orm/src/main/java/org/hibernate/tool/internal/util/NameConverter.java
index 54f0a08604..7a861fbcea 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/util/NameConverter.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/util/NameConverter.java
@@ -22,9 +22,9 @@
final public class NameConverter {
- private static Set RESERVED_KEYWORDS;
+ private static final Set RESERVED_KEYWORDS;
static {
- RESERVED_KEYWORDS = new HashSet();
+ RESERVED_KEYWORDS = new HashSet<>();
RESERVED_KEYWORDS.add( "abstract" );
RESERVED_KEYWORDS.add( "continue" );
@@ -78,29 +78,26 @@ final public class NameConverter {
RESERVED_KEYWORDS.add( "while" );
}
- private NameConverter() {
-
- }
+ private NameConverter() {}
/**
* Converts a database name (table or column) to a java name (first letter capitalised).
* employee_name -> EmployeeName.
- *
+ *
* Derived from middlegen's dbnameconverter.
* @param s The database name to convert.
*
* @return The converted database name.
*/
public static String toUpperCamelCase(String s) {
- if ( "".equals(s) ) {
+ if (s.isEmpty()) {
return s;
}
- StringBuffer result = new StringBuffer();
+ StringBuilder result = new StringBuilder();
boolean capitalize = true;
boolean lastCapital = false;
boolean lastDecapitalized = false;
- String p = null;
for (int i = 0; i < s.length(); i++) {
String c = s.substring(i, i + 1);
if ( "_".equals(c) || " ".equals(c) || "-".equals(c) ) {
@@ -121,26 +118,16 @@ public static String toUpperCamelCase(String s) {
//if(forceFirstLetter && result.length()==0) capitalize = false;
if (capitalize) {
- if (p == null || !p.equals("_") ) {
- result.append(c.toUpperCase() );
- capitalize = false;
- p = c;
- }
- else {
- result.append(c.toLowerCase() );
- capitalize = false;
- p = c;
- }
- }
+ result.append(c.toUpperCase());
+ capitalize = false;
+ }
else {
result.append(c.toLowerCase() );
lastDecapitalized = true;
- p = c;
- }
-
- }
- String r = result.toString();
- return r;
+ }
+
+ }
+ return result.toString();
}
static public String simplePluralize(String singular) {
diff --git a/orm/src/main/java/org/hibernate/tool/internal/util/StringUtil.java b/orm/src/main/java/org/hibernate/tool/internal/util/StringUtil.java
index 409d899688..9737a0afeb 100644
--- a/orm/src/main/java/org/hibernate/tool/internal/util/StringUtil.java
+++ b/orm/src/main/java/org/hibernate/tool/internal/util/StringUtil.java
@@ -17,6 +17,7 @@
*/
package org.hibernate.tool.internal.util;
+import java.util.Objects;
import java.util.StringTokenizer;
/**
@@ -44,7 +45,7 @@ public static String[] split(String str, String separator) {
StringTokenizer tok = null;
if (separator == null) {
tok = new StringTokenizer(str);
- }
+ }
else {
tok = new StringTokenizer(str, separator);
}
@@ -59,26 +60,24 @@ public static String[] split(String str, String separator) {
lastTokenBegin = str.indexOf(list[i], lastTokenEnd);
lastTokenEnd = lastTokenBegin + list[i].length();
i++;
- }
+ }
return list;
}
public static String leftPad(String str, int size) {
size = (size - str.length() );
if (size > 0) {
- StringBuffer buffer = new StringBuffer(size);
- for (int i = 0; i < size; i++) {
- buffer.append(" ");
- }
- str = buffer.toString() + str;
+ str = " ".repeat(size) + str;
}
return str;
}
- public static boolean isEqual(String str1, String str2) {
- if(str1==str2) return true;
- if(str1!=null && str1.equals(str2) ) return true;
- return false;
- }
-
+ public static boolean isEqual(String str1, String str2) {
+ return Objects.equals( str1, str2 );
+ }
+
+ public static boolean isEmptyOrNull(String string) {
+ return string == null || string.isEmpty();
+ }
+
}