[430838] Test failing after platform pre-req change.
diff --git a/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/internal/jaxws/core/annotations/validation/UniqueNamesRule.java b/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/internal/jaxws/core/annotations/validation/UniqueNamesRule.java
index 300073e..25de988 100644
--- a/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/internal/jaxws/core/annotations/validation/UniqueNamesRule.java
+++ b/bundles/org.eclipse.jst.ws.jaxws.core/src/org/eclipse/jst/ws/internal/jaxws/core/annotations/validation/UniqueNamesRule.java
@@ -419,31 +419,35 @@
}
for (MethodDeclaration methodDeclaration : methods) {
- List<AnnotationValue> names = new ArrayList<AnnotationValue>();
+ Map<AnnotationValue, SourcePosition> values = new HashMap<AnnotationValue, SourcePosition>();
+ List<AnnotationValue> names = new ArrayList<AnnotationValue>();
List<ParameterDeclaration> parameters = (List<ParameterDeclaration>) methodDeclaration.getParameters();
for (ParameterDeclaration parameterDeclaration : parameters) {
AnnotationMirror webParam = AnnotationUtils.getAnnotation(parameterDeclaration, WebParam.class);
if (webParam != null) {
AnnotationValue name = AnnotationUtils.getAnnotationValue(webParam, NAME);
if (name != null) {
- names.add(name);
+ values.put(name, name.getPosition());
+ names.add(name);
testForGeneratedNameClash(name, parameterDeclaration, parameters);
}
}
}
-
+
for (int i = 0; i < names.size(); i++) {
AnnotationValue name = names.get(i);
for (int j = i + 1; j < names.size(); j++) {
AnnotationValue otherName = names.get(j);
if (name.toString().equals(otherName.toString())) {
- printError(name.getPosition(), JAXWSCoreMessages.bind(
+ printError(values.get(name), JAXWSCoreMessages.bind(
JAXWSCoreMessages.PARAMETER_NAME_CLASH, name.getValue().toString()));
- printError(otherName.getPosition(), JAXWSCoreMessages.bind(
+ printError(values.get(otherName), JAXWSCoreMessages.bind(
JAXWSCoreMessages.PARAMETER_NAME_CLASH, otherName.getValue().toString()));
}
}
}
+ values.clear();
+ values = null;
}
}
diff --git a/tests/org.eclipse.jst.ws.jaxws.dom.runtime.tests/src/org/eclipse/jst/ws/jaxws/dom/runtime/tests/dom/validation/WpValidationTest.java b/tests/org.eclipse.jst.ws.jaxws.dom.runtime.tests/src/org/eclipse/jst/ws/jaxws/dom/runtime/tests/dom/validation/WpValidationTest.java
index a302810..c7fd19d 100755
--- a/tests/org.eclipse.jst.ws.jaxws.dom.runtime.tests/src/org/eclipse/jst/ws/jaxws/dom/runtime/tests/dom/validation/WpValidationTest.java
+++ b/tests/org.eclipse.jst.ws.jaxws.dom.runtime.tests/src/org/eclipse/jst/ws/jaxws/dom/runtime/tests/dom/validation/WpValidationTest.java
@@ -58,7 +58,6 @@
validateResourceMarkers(seiType.getResource(), markerData);
}
- /*
public void testNameIsUniqe() throws CoreException
{
setContents(seiType.getCompilationUnit(),
@@ -79,7 +78,6 @@
final MarkerData marker2_Data = new MarkerData(seiType.getResource(), VALIDATION_PROBLEM_MARKER_ID, marker2_Attributes);
validateResourceMarkers(seiType.getResource(), marker2_Data, marker1_Data);
}
- */
public void testNameNotRedundant() throws CoreException
{