Skip to content

Commit 379efda

Browse files
authored
Cleanup enum generation (#52)
1 parent fb6ec6a commit 379efda

File tree

58 files changed

+101
-69
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+101
-69
lines changed

buildscripts/templates/SemanticAttributes.java.j2

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@
2828
{{type | to_camelcase(False)}}Key
2929
{%- endif -%}
3030
{%- endmacro %}
31-
{%- macro stable_class_ref(const_name) -%}
32-
{{stablePkg}}.{{ root_namespace | to_camelcase(True) }}Attributes#{{const_name}}
31+
{%- macro stable_class_ref(const_name, separator) -%}
32+
{{stablePkg}}.{{ root_namespace | to_camelcase(True) }}Attributes{{separator}}{{const_name}}
3333
{%- endmacro %}
3434
{%- if filter != 'any' %}
3535
{%- set filtered_attributes = attributes_and_templates | select(filter) | list %}
3636
{%- else %}
3737
{%- set filtered_attributes = attributes_and_templates | list %}
3838
{%- endif %}
39+
{%- set filtered_enums = filtered_attributes | selectattr('is_enum', 'equalto', true) | list %}
3940
{%- if filtered_attributes | count > 0 %}
4041
/*
4142
* Copyright The OpenTelemetry Authors
@@ -73,11 +74,11 @@ public final class {{ root_namespace | to_camelcase(True) }}{{ classPrefix }}Att
7374
<ul> {{attribute.note | replace("> ", "") | render_markdown(code="{{@code {0}}}", paragraph="<li>{0}</li>", list="{0}")}} </ul>
7475

7576
{%- endif %}
76-
{%- if attribute | is_deprecated %}
7777
*
78+
{%- if attribute | is_deprecated %}
7879
* @deprecated {{attribute.brief | to_doc_brief}}.
7980
{%- elif attribute | is_stable and stablePkg != "" %}
80-
* @deprecated deprecated in favor of stable {@link {{stable_class_ref(attribute_const_name)}}} attribute.
81+
* @deprecated deprecated in favor of stable {@link {{stable_class_ref(attribute_const_name, '#')}}} attribute.
8182
{%- endif %}
8283
*/
8384
{%- if attribute | is_deprecated or attribute | is_stable and stablePkg != "" %}
@@ -90,14 +91,28 @@ public final class {{ root_namespace | to_camelcase(True) }}{{ classPrefix }}Att
9091
{%- endif %}
9192
{%- endfor %}
9293

94+
{%- if filtered_enums | count > 0 %}
9395
// Enum definitions
94-
{%- for attribute in filtered_attributes if attribute.is_enum %}
95-
{%- set class_name = attribute.fqn | to_camelcase(True) ~ "Values" %}
96-
{%- set type = to_java_return_type(attribute.attr_type.enum_type) %}
96+
{%- endif %}
97+
{%- for enum_attribute in filtered_enums %}
98+
{%- set class_name = enum_attribute.fqn | to_camelcase(True) ~ "Values" %}
99+
{%- set type = to_java_return_type(enum_attribute.attr_type.enum_type) %}
100+
/**
101+
* Values for {@link #{{ enum_attribute.fqn | to_const_name }}}.
102+
*
103+
{%- if enum_attribute | is_deprecated %}
104+
* @deprecated {{enum_attribute.brief | to_doc_brief}}.
105+
{%- elif enum_attribute | is_stable and stablePkg != "" %}
106+
* @deprecated deprecated in favor of stable {@link {{stable_class_ref(class_name, '.')}}} attribute.
107+
{%- endif %}
108+
*/
109+
{%- if enum_attribute | is_deprecated or enum_attribute | is_stable and stablePkg != "" %}
110+
@Deprecated
111+
{%- endif %}
97112
public static final class {{class_name}} {
98-
{%- for member in attribute.attr_type.members %}
113+
{%- for member in enum_attribute.attr_type.members %}
99114
/** {% filter escape %}{{member.brief | to_doc_brief}}.{% endfilter %} */
100-
public static final {{ type }} {{ member.member_id | to_const_name }} = {{ attribute | print_member_value(member) }};
115+
public static final {{ type }} {{ member.member_id | to_const_name }} = {{ enum_attribute | print_member_value(member) }};
101116

102117
{%- endfor %}
103118

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/AndroidIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public final class AndroidIncubatingAttributes {
3636
public static final AttributeKey<String> ANDROID_STATE = stringKey("android.state");
3737

3838
// Enum definitions
39+
/** Values for {@link #ANDROID_STATE}. */
3940
public static final class AndroidStateValues {
4041
/**
4142
* Any time before Activity.onResume() or, if the app has no Activity, Context.startService()

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/AwsIncubatingAttributes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ public final class AwsIncubatingAttributes {
344344
public static final AttributeKey<String> AWS_S3_UPLOAD_ID = stringKey("aws.s3.upload_id");
345345

346346
// Enum definitions
347+
/** Values for {@link #AWS_ECS_LAUNCHTYPE}. */
347348
public static final class AwsEcsLaunchtypeValues {
348349
/** ec2. */
349350
public static final String EC2 = "ec2";

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/BrowserIncubatingAttributes.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,5 @@ public final class BrowserIncubatingAttributes {
7474
*/
7575
public static final AttributeKey<String> BROWSER_PLATFORM = stringKey("browser.platform");
7676

77-
// Enum definitions
78-
7977
private BrowserIncubatingAttributes() {}
8078
}

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ClientIncubatingAttributes.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,5 @@ public final class ClientIncubatingAttributes {
4848
*/
4949
@Deprecated public static final AttributeKey<Long> CLIENT_PORT = longKey("client.port");
5050

51-
// Enum definitions
52-
5351
private ClientIncubatingAttributes() {}
5452
}

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CloudIncubatingAttributes.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ public final class CloudIncubatingAttributes {
9696
public static final AttributeKey<String> CLOUD_RESOURCE_ID = stringKey("cloud.resource_id");
9797

9898
// Enum definitions
99+
/** Values for {@link #CLOUD_PLATFORM}. */
99100
public static final class CloudPlatformValues {
100101
/** Alibaba Cloud Elastic Compute Service. */
101102
public static final String ALIBABA_CLOUD_ECS = "alibaba_cloud_ecs";
@@ -181,6 +182,7 @@ public static final class CloudPlatformValues {
181182
private CloudPlatformValues() {}
182183
}
183184

185+
/** Values for {@link #CLOUD_PROVIDER}. */
184186
public static final class CloudProviderValues {
185187
/** Alibaba Cloud. */
186188
public static final String ALIBABA_CLOUD = "alibaba_cloud";

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CloudeventsIncubatingAttributes.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,5 @@ public final class CloudeventsIncubatingAttributes {
5353
public static final AttributeKey<String> CLOUDEVENTS_EVENT_TYPE =
5454
stringKey("cloudevents.event_type");
5555

56-
// Enum definitions
57-
5856
private CloudeventsIncubatingAttributes() {}
5957
}

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/CodeIncubatingAttributes.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,5 @@ public final class CodeIncubatingAttributes {
4545
*/
4646
public static final AttributeKey<String> CODE_NAMESPACE = stringKey("code.namespace");
4747

48-
// Enum definitions
49-
5048
private CodeIncubatingAttributes() {}
5149
}

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/ContainerIncubatingAttributes.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,5 @@ public final class ContainerIncubatingAttributes {
104104
/** The container runtime managing this container. */
105105
public static final AttributeKey<String> CONTAINER_RUNTIME = stringKey("container.runtime");
106106

107-
// Enum definitions
108-
109107
private ContainerIncubatingAttributes() {}
110108
}

semconv-incubating/src/main/java/io/opentelemetry/semconv/incubating/DbIncubatingAttributes.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ public final class DbIncubatingAttributes {
222222
public static final AttributeKey<String> DB_USER = stringKey("db.user");
223223

224224
// Enum definitions
225+
/** Values for {@link #DB_CASSANDRA_CONSISTENCY_LEVEL}. */
225226
public static final class DbCassandraConsistencyLevelValues {
226227
/** all. */
227228
public static final String ALL = "all";
@@ -259,6 +260,7 @@ public static final class DbCassandraConsistencyLevelValues {
259260
private DbCassandraConsistencyLevelValues() {}
260261
}
261262

263+
/** Values for {@link #DB_COSMOSDB_CONNECTION_MODE}. */
262264
public static final class DbCosmosdbConnectionModeValues {
263265
/** Gateway (HTTP) connections mode. */
264266
public static final String GATEWAY = "gateway";
@@ -269,6 +271,7 @@ public static final class DbCosmosdbConnectionModeValues {
269271
private DbCosmosdbConnectionModeValues() {}
270272
}
271273

274+
/** Values for {@link #DB_COSMOSDB_OPERATION_TYPE}. */
272275
public static final class DbCosmosdbOperationTypeValues {
273276
/** invalid. */
274277
public static final String INVALID = "Invalid";
@@ -318,6 +321,7 @@ public static final class DbCosmosdbOperationTypeValues {
318321
private DbCosmosdbOperationTypeValues() {}
319322
}
320323

324+
/** Values for {@link #DB_SYSTEM}. */
321325
public static final class DbSystemValues {
322326
/** Some other SQL database. Fallback only. See notes. */
323327
public static final String OTHER_SQL = "other_sql";

0 commit comments

Comments
 (0)