Skip to content

Commit 40a5c78

Browse files
committed
HBX-3189: Improve the implementation of classes StringUtil and NameConverter
Signed-off-by: Koen Aers <[email protected]>
1 parent 89372c2 commit 40a5c78

File tree

2 files changed

+25
-39
lines changed

2 files changed

+25
-39
lines changed

orm/src/main/java/org/hibernate/tool/internal/util/NameConverter.java

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222

2323
final public class NameConverter {
2424

25-
private static Set<String> RESERVED_KEYWORDS;
25+
private static final Set<String> RESERVED_KEYWORDS;
2626
static {
27-
RESERVED_KEYWORDS = new HashSet<String>();
27+
RESERVED_KEYWORDS = new HashSet<>();
2828

2929
RESERVED_KEYWORDS.add( "abstract" );
3030
RESERVED_KEYWORDS.add( "continue" );
@@ -78,29 +78,26 @@ final public class NameConverter {
7878
RESERVED_KEYWORDS.add( "while" );
7979
}
8080

81-
private NameConverter() {
82-
83-
}
81+
private NameConverter() {}
8482

8583
/**
8684
* Converts a database name (table or column) to a java name (first letter capitalised).
8785
* employee_name -> EmployeeName.
88-
*
86+
* <p>
8987
* Derived from middlegen's dbnameconverter.
9088
* @param s The database name to convert.
9189
*
9290
* @return The converted database name.
9391
*/
9492
public static String toUpperCamelCase(String s) {
95-
if ( "".equals(s) ) {
93+
if (s.isEmpty()) {
9694
return s;
9795
}
98-
StringBuffer result = new StringBuffer();
96+
StringBuilder result = new StringBuilder();
9997

10098
boolean capitalize = true;
10199
boolean lastCapital = false;
102100
boolean lastDecapitalized = false;
103-
String p = null;
104101
for (int i = 0; i < s.length(); i++) {
105102
String c = s.substring(i, i + 1);
106103
if ( "_".equals(c) || " ".equals(c) || "-".equals(c) ) {
@@ -121,26 +118,16 @@ public static String toUpperCamelCase(String s) {
121118
//if(forceFirstLetter && result.length()==0) capitalize = false;
122119

123120
if (capitalize) {
124-
if (p == null || !p.equals("_") ) {
125-
result.append(c.toUpperCase() );
126-
capitalize = false;
127-
p = c;
128-
}
129-
else {
130-
result.append(c.toLowerCase() );
131-
capitalize = false;
132-
p = c;
133-
}
134-
}
121+
result.append(c.toUpperCase());
122+
capitalize = false;
123+
}
135124
else {
136125
result.append(c.toLowerCase() );
137126
lastDecapitalized = true;
138-
p = c;
139-
}
140-
141-
}
142-
String r = result.toString();
143-
return r;
127+
}
128+
129+
}
130+
return result.toString();
144131
}
145132

146133
static public String simplePluralize(String singular) {

orm/src/main/java/org/hibernate/tool/internal/util/StringUtil.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818
package org.hibernate.tool.internal.util;
1919

20+
import java.util.Objects;
2021
import java.util.StringTokenizer;
2122

2223
/**
@@ -44,7 +45,7 @@ public static String[] split(String str, String separator) {
4445
StringTokenizer tok = null;
4546
if (separator == null) {
4647
tok = new StringTokenizer(str);
47-
}
48+
}
4849
else {
4950
tok = new StringTokenizer(str, separator);
5051
}
@@ -59,26 +60,24 @@ public static String[] split(String str, String separator) {
5960
lastTokenBegin = str.indexOf(list[i], lastTokenEnd);
6061
lastTokenEnd = lastTokenBegin + list[i].length();
6162
i++;
62-
}
63+
}
6364
return list;
6465
}
6566

6667
public static String leftPad(String str, int size) {
6768
size = (size - str.length() );
6869
if (size > 0) {
69-
StringBuffer buffer = new StringBuffer(size);
70-
for (int i = 0; i < size; i++) {
71-
buffer.append(" ");
72-
}
73-
str = buffer.toString() + str;
70+
str = " ".repeat(size) + str;
7471
}
7572
return str;
7673
}
7774

78-
public static boolean isEqual(String str1, String str2) {
79-
if(str1==str2) return true;
80-
if(str1!=null && str1.equals(str2) ) return true;
81-
return false;
82-
}
83-
75+
public static boolean isEqual(String str1, String str2) {
76+
return Objects.equals( str1, str2 );
77+
}
78+
79+
public static boolean isEmptyOrNull(String string) {
80+
return string == null || string.isEmpty();
81+
}
82+
8483
}

0 commit comments

Comments
 (0)