Skip to content

Commit 115d038

Browse files
committed
HHH-18693 Fixed TestUtil for inner meta classes
1 parent 002ecf9 commit 115d038

File tree

1 file changed

+8
-3
lines changed
  • tooling/metamodel-generator/src/test/java/org/hibernate/processor/test/util

1 file changed

+8
-3
lines changed

tooling/metamodel-generator/src/test/java/org/hibernate/processor/test/util/TestUtil.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,9 @@ public static Class<?> getMetamodelClassFor(String className) {
335335
}
336336

337337
public static File getMetaModelSourceFileFor(Class<?> clazz, boolean prefix) {
338+
if ( clazz.isMemberClass() ) {
339+
return getMetaModelSourceFileFor( clazz.getEnclosingClass(), prefix );
340+
}
338341
String metaModelClassName = getMetaModelClassName(clazz, prefix);
339342
// generate the file name
340343
String fileName = metaModelClassName.replace( PACKAGE_SEPARATOR, PATH_SEPARATOR );
@@ -352,14 +355,16 @@ public static File getMetaModelSourceFileFor(String className) {
352355

353356
private static String getMetaModelClassName(Class<?> clazz, boolean prefix) {
354357
final String packageName = clazz.getPackageName();
355-
return prefix ? packageName + '.' + META_MODEL_CLASS_POSTFIX + clazz.getSimpleName()
356-
: packageName + clazz.getName().substring( packageName.length() ).replace( '$', '_' ) + META_MODEL_CLASS_POSTFIX;
358+
return prefix ? packageName + '.' + META_MODEL_CLASS_POSTFIX + clazz.getName().substring( packageName.length() + 1 )
359+
.replaceAll( "\\$", "\\$_" )
360+
: packageName + clazz.getName().substring( packageName.length() )
361+
.replaceAll( "\\$", "_\\$" ) + META_MODEL_CLASS_POSTFIX;
357362
}
358363

359364
private static String getMetaModelClassName(String className) {
360365
final int index = className.lastIndexOf( '.' );
361366
final String packageName = className.substring( 0, index + 1 );
362-
return packageName + className.substring( packageName.length() ).replace( '$', '_' ) + META_MODEL_CLASS_POSTFIX;
367+
return packageName + className.substring( packageName.length() ).replaceAll( "\\$", "_\\$" ) + META_MODEL_CLASS_POSTFIX;
363368
}
364369

365370
public static String getMetaModelSourceAsString(Class<?> clazz) {

0 commit comments

Comments
 (0)