Merge branch 'master' of https://github.com/apache/causeway
diff --git a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java
index e57f146..d70fdad 100644
--- a/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java
+++ b/viewers/graphql/model/src/main/java/org/apache/causeway/viewer/graphql/model/domain/TypeNames.java
@@ -20,6 +20,9 @@
 
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.core.metamodel.spec.feature.*;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import java.lang.Character;
 
 import lombok.experimental.UtilityClass;
 
@@ -120,7 +123,14 @@
     }
 
     private static String sanitized(final String name) {
-        return name.replace('.', '_').replace("#", "__").replace("()","");
+        String result = name.replace('.', '_').replace("#", "__").replace("()","");
+        int hyphenStart = result.indexOf("-");
+        if(hyphenStart > 0) {
+        	result = result.substring(0,hyphenStart) + Arrays.stream(result.substring(hyphenStart + 1).split("-"))
+                .map(word -> Character.toUpperCase(word.charAt(0)) + word.substring(1))
+                .collect(Collectors.joining());
+        }
+        return result;    
     }
 
 }