summaryrefslogtreecommitdiffstats
path: root/configgen/src/main/scala/com/yahoo
diff options
context:
space:
mode:
authorgjoranv <gv@oath.com>2017-09-01 14:30:12 +0200
committergjoranv <gv@oath.com>2017-09-01 14:30:12 +0200
commit0ac81a2ede8c413b417fa5d0001927f72fc117ba (patch)
tree2bac7704861176415987117cf6492938b0ee0061 /configgen/src/main/scala/com/yahoo
parent79122274b6c40fa4c688740322b2fd460c777266 (diff)
Revert "Rewrite ConfigGenerator.createClassName to Java."
This reverts commit f6ec274aab8d1b4d2ac25c104bc5a603dc4156ff.
Diffstat (limited to 'configgen/src/main/scala/com/yahoo')
-rw-r--r--configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala19
-rw-r--r--configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala3
2 files changed, 17 insertions, 5 deletions
diff --git a/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala b/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala
index b4a19ea431d..7ea07762c01 100644
--- a/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala
+++ b/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala
@@ -2,11 +2,11 @@
package com.yahoo.config.codegen
-import com.yahoo.config.codegen.BuilderGenerator.getBuilder
-import com.yahoo.config.codegen.ConfiggenUtil.createClassName
-import com.yahoo.config.codegen.JavaClassBuilder.Indentation
import com.yahoo.config.codegen.LeafCNode._
import com.yahoo.config.codegen.ReservedWords.{INTERNAL_PREFIX => InternalPrefix}
+import JavaClassBuilder.Indentation
+import BuilderGenerator.getBuilder
+import util.parsing.combinator.JavaTokenParsers
/**
* @author gjoranv
@@ -449,4 +449,17 @@ object ConfigGenerator {
}
}
+ /**
+ * Create class name from def name
+ * @param defName The file name without the '.def' suffix
+ */
+ def createClassName(defName: String): String = {
+ val className = defName.split("-").map (_.capitalize).mkString + "Config"
+ val parser = new JavaTokenParsers {}
+ parser.parseAll(parser.ident, className) match {
+ case parser.NoSuccess(msg, _) =>
+ throw new CodegenRuntimeException("Illegal config definition file name '" + defName + "': " + msg)
+ case success => success.get
+ }
+ }
}
diff --git a/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala b/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala
index e03a6d3d04b..518815d5a10 100644
--- a/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala
+++ b/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala
@@ -3,8 +3,7 @@ package com.yahoo.config.codegen
import java.io.{File, FileNotFoundException, FileOutputStream, PrintStream}
-import com.yahoo.config.codegen.ConfigGenerator.indentCode
-import com.yahoo.config.codegen.ConfiggenUtil.createClassName
+import com.yahoo.config.codegen.ConfigGenerator.{createClassName, indentCode}
import com.yahoo.config.codegen.DefParser.DEFAULT_PACKAGE_PREFIX
import scala.collection.JavaConverters._