diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator/DefinitionsBuilder.cs b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator/DefinitionsBuilder.cs index 18b79cf9..f956aeea 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator/DefinitionsBuilder.cs +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Generator/DefinitionsBuilder.cs @@ -213,7 +213,7 @@ private CodeTypeDeclaration GenerateEnumStruct(MetricType type) allowedValue.Replace(" ", "_").ToPascalCase().Replace(".", "").Replace("-", "")) { InitExpression = new CodeObjectCreateExpression(type.GetGeneratedTypeName(), - new CodeExpression[] {new CodePrimitiveExpression(allowedValue.Replace(" ", "_"))}), + new CodeExpression[] {new CodePrimitiveExpression(allowedValue)}), Attributes = MemberAttributes.Static | MemberAttributes.Public }; field.Comments.Add(new CodeCommentStatement(allowedValue, true)); diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs b/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs index f2257130..d68aa304 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/Generated/GeneratedCode.cs @@ -19395,29 +19395,29 @@ public struct CodeTransformPreValidationError private string _value; - /// No pom.xml file found - public static readonly CodeTransformPreValidationError NoPomxmlFileFound = new CodeTransformPreValidationError("No_pom.xml_file_found"); + /// NoPom + public static readonly CodeTransformPreValidationError NoPom = new CodeTransformPreValidationError("NoPom"); - /// No Java project found - public static readonly CodeTransformPreValidationError NoJavaProjectFound = new CodeTransformPreValidationError("No_Java_project_found"); + /// NoJavaProject + public static readonly CodeTransformPreValidationError NoJavaProject = new CodeTransformPreValidationError("NoJavaProject"); - /// Mixed Java project and another language found - public static readonly CodeTransformPreValidationError MixedJavaProjectAndAnotherLanguageFound = new CodeTransformPreValidationError("Mixed_Java_project_and_another_language_found"); + /// MixedLanguages + public static readonly CodeTransformPreValidationError MixedLanguages = new CodeTransformPreValidationError("MixedLanguages"); - /// Project selected is not Java 8 or Java 11 - public static readonly CodeTransformPreValidationError ProjectSelectedIsNotJava8OrJava11 = new CodeTransformPreValidationError("Project_selected_is_not_Java_8_or_Java_11"); + /// UnsupportedJavaVersion + public static readonly CodeTransformPreValidationError UnsupportedJavaVersion = new CodeTransformPreValidationError("UnsupportedJavaVersion"); - /// Only Maven projects supported - public static readonly CodeTransformPreValidationError OnlyMavenProjectsSupported = new CodeTransformPreValidationError("Only_Maven_projects_supported"); + /// NonMavenProject + public static readonly CodeTransformPreValidationError NonMavenProject = new CodeTransformPreValidationError("NonMavenProject"); - /// Empty project - public static readonly CodeTransformPreValidationError EmptyProject = new CodeTransformPreValidationError("Empty_project"); + /// EmptyProject + public static readonly CodeTransformPreValidationError EmptyProject = new CodeTransformPreValidationError("EmptyProject"); - /// Non SSO login - public static readonly CodeTransformPreValidationError NonSSOLogin = new CodeTransformPreValidationError("Non_SSO_login"); + /// NonSsoLogin + public static readonly CodeTransformPreValidationError NonSsoLogin = new CodeTransformPreValidationError("NonSsoLogin"); - /// Project running on backend - public static readonly CodeTransformPreValidationError ProjectRunningOnBackend = new CodeTransformPreValidationError("Project_running_on_backend"); + /// RemoteRunProject + public static readonly CodeTransformPreValidationError RemoteRunProject = new CodeTransformPreValidationError("RemoteRunProject"); public CodeTransformPreValidationError(string value) { diff --git a/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/GeneratedCodeTests.cs b/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/GeneratedCodeTests.cs index 8faeb1bd..fd48da19 100644 --- a/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/GeneratedCodeTests.cs +++ b/telemetry/csharp/AwsToolkit.Telemetry.Events.Tests/GeneratedCodeTests.cs @@ -220,14 +220,15 @@ public void RecordMetricWithNewTransform() /// /// RecordCodeTransformIsDoubleClickedToTriggerInvalidProject was chosen as a sample call that has a /// CodeTransformPreValidationError for allowedValues which have spaces in the values that - /// should be converted to underscores. + /// should be converted to underscores for the "key". This way the language interprets + /// the key value as pascal case and converts it. /// [Fact] public void RecordWithAllowedValues() { var doubleClickRecord = new CodeTransformIsDoubleClickedToTriggerInvalidProject() { - CodeTransformPreValidationError = CodeTransformPreValidationError.NoJavaProjectFound, + CodeTransformPreValidationError = CodeTransformPreValidationError.NoJavaProject, CodeTransformSessionId = "test-session-id", Result = Result.Succeeded }; @@ -248,7 +249,7 @@ public void RecordWithAllowedValues() Assert.True(datum.Metadata.ContainsKey("codeTransformSessionId")); Assert.Equal("test-session-id", datum.Metadata["codeTransformSessionId"]); Assert.True(datum.Metadata.ContainsKey("codeTransformPreValidationError")); - Assert.Equal("No_Java_project_found", datum.Metadata["codeTransformPreValidationError"]); + Assert.Equal("NoJavaProject", datum.Metadata["codeTransformPreValidationError"]); } private MetricDatum TransformDuplicateReason(MetricDatum datum) diff --git a/telemetry/definitions/commonDefinitions.json b/telemetry/definitions/commonDefinitions.json index 752cdcdf..12cea840 100644 --- a/telemetry/definitions/commonDefinitions.json +++ b/telemetry/definitions/commonDefinitions.json @@ -1041,14 +1041,14 @@ "type": "string", "description": "Names of the pre-validation errors that can occur in the project", "allowedValues": [ - "No pom.xml file found", - "No Java project found", - "Mixed Java project and another language found", - "Project selected is not Java 8 or Java 11", - "Only Maven projects supported", - "Empty project", - "Non SSO login", - "Project running on backend" + "NoPom", + "NoJavaProject", + "MixedLanguages", + "UnsupportedJavaVersion", + "NonMavenProject", + "EmptyProject", + "NonSsoLogin", + "RemoteRunProject" ] }, { diff --git a/telemetry/jetbrains/src/main/kotlin/software/aws/toolkits/telemetry/generator/TelemetryGenerator.kt b/telemetry/jetbrains/src/main/kotlin/software/aws/toolkits/telemetry/generator/TelemetryGenerator.kt index 119f4158..ec3ab27d 100644 --- a/telemetry/jetbrains/src/main/kotlin/software/aws/toolkits/telemetry/generator/TelemetryGenerator.kt +++ b/telemetry/jetbrains/src/main/kotlin/software/aws/toolkits/telemetry/generator/TelemetryGenerator.kt @@ -86,7 +86,7 @@ private fun FileSpec.Builder.generateTelemetryEnumType(item: TelemetryMetricType item.allowedValues!!.forEach { enumValue -> enum.addEnumConstant( enumValue.toString().replace(Regex("\\s"), "_").toTypeFormat(), TypeSpec.anonymousClassBuilder() - .addSuperclassConstructorParameter("%S", enumValue.toString().replace(Regex("\\s"), "_")) + .addSuperclassConstructorParameter("%S", enumValue.toString()) .build() ) } diff --git a/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesInput.json b/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesInput.json index 102003b8..d89d408a 100644 --- a/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesInput.json +++ b/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesInput.json @@ -5,7 +5,7 @@ "name": "testAllowedValues", "allowedValues": [ "test spaces are replaced", - "in allowed values" + "in allowed values output key" ], "description": "A test object for parsing allowedValues" } diff --git a/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesOutput b/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesOutput index 6f988577..315ac262 100644 --- a/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesOutput +++ b/telemetry/jetbrains/src/test/resources/testGeneratorAllowedValuesOutput @@ -22,8 +22,8 @@ import software.aws.toolkits.jetbrains.services.telemetry.TelemetryService public enum class TestAllowedValues( private val `value`: String, ) { - TestSpacesAreReplaced("test_spaces_are_replaced"), - InAllowedValues("in_allowed_values"), + TestSpacesAreReplaced("test spaces are replaced"), + InAllowedValuesOutputKey("in allowed values output key"), Unknown("unknown"), ; diff --git a/telemetry/vscode/src/generate.ts b/telemetry/vscode/src/generate.ts index 980bf250..7e4242bd 100644 --- a/telemetry/vscode/src/generate.ts +++ b/telemetry/vscode/src/generate.ts @@ -81,10 +81,7 @@ function getArgsFromMetadata(m: MetadataType): string { name, kind: StructureKind.TypeAlias, isExported: true, - type: m.allowedValues.map(v => { - const modifiedVal = typeof v === "string" ? v.replace(/\s/g, "_") : v; - return `'${modifiedVal}'` - }).join(' | '), + type: m.allowedValues.map(v => `'${v}'`).join(' | '), }) } diff --git a/telemetry/vscode/test/resources/generatorAllowedValuesInput.json b/telemetry/vscode/test/resources/generatorAllowedValuesInput.json index 98a68fa0..870987d9 100644 --- a/telemetry/vscode/test/resources/generatorAllowedValuesInput.json +++ b/telemetry/vscode/test/resources/generatorAllowedValuesInput.json @@ -20,7 +20,7 @@ "name": "testAllowedValues", "allowedValues": [ "test spaces are replaced", - "in allowed values" + "in allowed values output key" ], "description": "A test object for parsing allowedValues" } diff --git a/telemetry/vscode/test/resources/generatorAllowedValuesOutput.ts b/telemetry/vscode/test/resources/generatorAllowedValuesOutput.ts index c019d310..718d1a14 100644 --- a/telemetry/vscode/test/resources/generatorAllowedValuesOutput.ts +++ b/telemetry/vscode/test/resources/generatorAllowedValuesOutput.ts @@ -22,7 +22,7 @@ export interface TestMetric extends MetricBase { export type Result = 'Succeeded' export type LambdaRuntime = 'dotnetcore2.1' | 'nodejs12.x' -export type TestAllowedValues = 'test_spaces_are_replaced' | 'in_allowed_values' +export type TestAllowedValues = 'test spaces are replaced' | 'in allowed values output key' export interface MetricDefinition { readonly unit: string