Bug #274760
diff --git a/bundles/org.eclipse.jst.ws.cxf.creation.ui/src/org/eclipse/jst/ws/internal/cxf/creation/ui/widgets/JAXWSAnnotateJavaWidget.java b/bundles/org.eclipse.jst.ws.cxf.creation.ui/src/org/eclipse/jst/ws/internal/cxf/creation/ui/widgets/JAXWSAnnotateJavaWidget.java
index 665ad76..394dd52 100644
--- a/bundles/org.eclipse.jst.ws.cxf.creation.ui/src/org/eclipse/jst/ws/internal/cxf/creation/ui/widgets/JAXWSAnnotateJavaWidget.java
+++ b/bundles/org.eclipse.jst.ws.cxf.creation.ui/src/org/eclipse/jst/ws/internal/cxf/creation/ui/widgets/JAXWSAnnotateJavaWidget.java
@@ -51,6 +51,7 @@
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ITreeSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.jface.viewers.TreeViewer;
@@ -194,8 +195,8 @@
javaTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
- if (event.getSelection() instanceof TreeSelection) {
- TreeSelection treeSelection = (TreeSelection) event.getSelection();
+ if (event.getSelection() instanceof ITreeSelection) {
+ ITreeSelection treeSelection = (TreeSelection) event.getSelection();
Object firstElement = treeSelection.getFirstElement();
IDocument document = annotationPreviewViewer.getDocument();
@@ -216,24 +217,25 @@
SourceMethod sourceMethod = (SourceMethod) firstElement;
String elementName = sourceMethod.getElementName();
- String regex = "\\bpublic\\W+(?:\\w+\\W+){1,3}?" + elementName + "\\s*+\\(.*";
-
+ String regex = "\\bpublic\\W+(?:\\w+\\W+){1,3}?" + elementName + "\\s*?\\(\\s*?.*?";
+
String[] parameterTypes = sourceMethod.getParameterTypes();
String[] paramterNames = sourceMethod.getParameterNames();
for (int i = 0; i < parameterTypes.length; i++) {
- String typeName = Signature.toString(Signature.getTypeErasure(
+ regex += "\\s*?";
+ String typeName = Signature.toString(Signature.getTypeErasure(
parameterTypes[i]));
regex += typeName;
- regex += "\\s*+";
+ regex += "\\s*?";
regex += paramterNames[i];
if (i < parameterTypes.length - 1) {
- regex += "\\s*+,.*";
+ regex += "\\s*?,\\s*?.*?";
}
}
- regex += "\\s*+\\)";
-
- IRegion region = findReplaceDocumentAdapter.find(0, regex, true, true, false,
+ regex += "\\s*?\\)";
+
+ IRegion region = findReplaceDocumentAdapter.find(0, regex, true, true, false,
true);
if (region != null) {