Skip to content

Commit 818770c

Browse files
committed
supress unchecked cast warnings
1 parent a06a2bb commit 818770c

File tree

1 file changed

+21
-20
lines changed
  • instrumentation/nocode/src/main/java/com/splunk/opentelemetry/instrumentation/nocode

1 file changed

+21
-20
lines changed

instrumentation/nocode/src/main/java/com/splunk/opentelemetry/instrumentation/nocode/YamlParser.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ private static Map<String, MatcherParser> makeParsers(MatcherParser... extras) {
136136
return answer;
137137
}
138138

139+
@SuppressWarnings("unchecked")
139140
private static <E extends NamedElement> List<ElementMatcher<E>> matcherListFromYaml(
140141
Object yamlObject, Map<String, MatcherParser> parsers) {
141142
if (!(yamlObject instanceof List)) {
@@ -154,6 +155,7 @@ private static <E extends NamedElement> ElementMatcher<E> matcherFromYaml(
154155
if (!(yamlObject instanceof Map)) {
155156
throw new IllegalArgumentException("Bare yaml value not expected: " + yamlObject);
156157
}
158+
@SuppressWarnings("unchecked")
157159
Map<String, Object> yaml = (Map<String, Object>) yamlObject;
158160
if (yaml.size() != 1) {
159161
throw new IllegalArgumentException("Multiple yaml elements not allowed without and:/or:");
@@ -163,86 +165,85 @@ private static <E extends NamedElement> ElementMatcher<E> matcherFromYaml(
163165
return matcherFromKeyAndYamlValue(key, value, parsers);
164166
}
165167

168+
@SuppressWarnings("unchecked")
166169
private static <E extends NamedElement> ElementMatcher<E> matcherFromKeyAndYamlValue(
167170
String key, Object value, Map<String, MatcherParser> parsers) {
168171
MatcherParser parser = parsers.get(key);
169172
if (parser == null) {
170173
throw new IllegalArgumentException("Unknown yaml element: " + key);
171174
}
172-
return parser.parse(value, parsers);
175+
return (ElementMatcher<E>) parser.parse(value, parsers);
173176
}
174177

175178
enum MatcherParser {
176179
not {
177-
<E extends NamedElement> ElementMatcher<E> parse(
180+
ElementMatcher<? extends NamedElement> parse(
178181
Object value, Map<String, MatcherParser> parsers) {
179182
return ElementMatchers.not(matcherFromYaml(value, parsers));
180183
}
181184
},
182185
and {
183-
<E extends NamedElement> ElementMatcher<E> parse(
186+
ElementMatcher<? extends NamedElement> parse(
184187
Object value, Map<String, MatcherParser> parsers) {
185-
ElementMatcher.Junction<E> matcher = ElementMatchers.any();
188+
ElementMatcher.Junction<NamedElement> matcher = ElementMatchers.any();
186189
for (ElementMatcher<NamedElement> sub : matcherListFromYaml(value, parsers)) {
187190
matcher = matcher.and(sub);
188191
}
189192
return matcher;
190193
}
191194
},
192195
or {
193-
<E extends NamedElement> ElementMatcher<E> parse(
196+
ElementMatcher<? extends NamedElement> parse(
194197
Object value, Map<String, MatcherParser> parsers) {
195-
ElementMatcher.Junction<E> matcher = ElementMatchers.none();
198+
ElementMatcher.Junction<NamedElement> matcher = ElementMatchers.none();
196199
for (ElementMatcher<NamedElement> sub : matcherListFromYaml(value, parsers)) {
197200
matcher = matcher.or(sub);
198201
}
199202
return matcher;
200203
}
201204
},
202205
name {
203-
<E extends NamedElement> ElementMatcher<E> parse(
206+
ElementMatcher<? extends NamedElement> parse(
204207
Object value, Map<String, MatcherParser> parsers) {
205208
return ElementMatchers.named(value.toString());
206209
}
207210
},
208211
name_regex {
209-
<E extends NamedElement> ElementMatcher<E> parse(
212+
ElementMatcher<? extends NamedElement> parse(
210213
Object value, Map<String, MatcherParser> parsers) {
211214
return ElementMatchers.nameMatches(value.toString());
212215
}
213216
},
214217
super_type {
215-
<E extends NamedElement> ElementMatcher<E> parse(
218+
ElementMatcher<? extends NamedElement> parse(
216219
Object value, Map<String, MatcherParser> parsers) {
217-
return (ElementMatcher<E>)
218-
AgentElementMatchers.hasSuperType(ElementMatchers.named(value.toString()));
220+
return AgentElementMatchers.hasSuperType(ElementMatchers.named(value.toString()));
219221
}
220222
},
221223
parameter_count {
222-
<E extends NamedElement> ElementMatcher<E> parse(
224+
ElementMatcher<? extends NamedElement> parse(
223225
Object value, Map<String, MatcherParser> parsers) {
224-
return (ElementMatcher<E>)
225-
ElementMatchers.takesArguments(Integer.parseInt(value.toString()));
226+
return ElementMatchers.takesArguments(Integer.parseInt(value.toString()));
226227
}
227228
},
228229
parameter {
229-
<E extends NamedElement> ElementMatcher<E> parse(
230+
ElementMatcher<? extends NamedElement> parse(
230231
Object value, Map<String, MatcherParser> parsers) {
231232
if (!(value instanceof Map)) {
232233
throw new IllegalArgumentException("Expected index: and type: for parameter:");
233234
}
235+
@SuppressWarnings("unchecked")
234236
Map<String, Object> yamlVal = (Map<String, Object>) value;
235237
if (yamlVal.size() != 2 || !yamlVal.containsKey("index") || !yamlVal.containsKey("type")) {
236238
throw new IllegalArgumentException("Expected index: and type: for parameter:");
237239
}
238-
return (ElementMatcher<E>)
239-
ElementMatchers.takesArgument(
240-
Integer.parseInt(yamlVal.get("index").toString()),
241-
ElementMatchers.named(yamlVal.get("type").toString()));
240+
return ElementMatchers.takesArgument(
241+
Integer.parseInt(yamlVal.get("index").toString()),
242+
ElementMatchers.named(yamlVal.get("type").toString()));
242243
}
243244
};
244245

245-
abstract <E extends NamedElement> ElementMatcher<E> parse(
246+
abstract ElementMatcher<? extends NamedElement> parse(
246247
Object value, Map<String, MatcherParser> parsers);
247248
}
248249

0 commit comments

Comments
 (0)