Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbchilds2007-05-31 23:37:58 +0000
committerbchilds2007-05-31 23:37:58 +0000
commit29077fed7d1a2c74ba4028333302d63ca5deb766 (patch)
tree662ab25f2eac449f3f30d0287a88b31f55b328f1
parentd5b9b8248644d33ba37e2703134b9ced98bb32d6 (diff)
downloadwebtools.sourceediting-29077fed7d1a2c74ba4028333302d63ca5deb766.tar.gz
webtools.sourceediting-29077fed7d1a2c74ba4028333302d63ca5deb766.tar.xz
webtools.sourceediting-29077fed7d1a2c74ba4028333302d63ca5deb766.zip
Some bug fixes for search in html .
-rw-r--r--bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/internal/java/NodeHelper.java3
-rw-r--r--bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/contentoutline/JFaceNodeAdapterForJs.java38
2 files changed, 22 insertions, 19 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/internal/java/NodeHelper.java b/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/internal/java/NodeHelper.java
index 5e543e93f3..fb43e93e6c 100644
--- a/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/internal/java/NodeHelper.java
+++ b/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/internal/java/NodeHelper.java
@@ -231,7 +231,8 @@ public class NodeHelper {
if (region == null) {
return false;
}
- return (getTagName().equalsIgnoreCase(name));
+ String tagName;
+ return ((tagName = getTagName())!=null && tagName.equalsIgnoreCase(name));
}
public String stripEndQuotes(String text) {
diff --git a/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/contentoutline/JFaceNodeAdapterForJs.java b/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/contentoutline/JFaceNodeAdapterForJs.java
index e64a6bd5d6..31b9c25ea9 100644
--- a/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/contentoutline/JFaceNodeAdapterForJs.java
+++ b/bundles/org.eclipse.wst.jsdt.web.ui/src/org/eclipse/wst/jsdt/web/ui/views/contentoutline/JFaceNodeAdapterForJs.java
@@ -88,18 +88,31 @@ public class JFaceNodeAdapterForJs extends JFaceNodeAdapterForHTML {
return false;
}
- private Object[] getJSElementsFromNode(Node node) {
+ private synchronized Object[] getJSElementsFromNode(Node node) {
+ int startOffset = 0;
- IJavaElement[] result = getJavaElementsInRange(node);
- if (result == null) return null;
- Object[] newResults = new Object[result.length];
- for (int i = 0; i < result.length; i++) {
+ int endOffset = 0;
+ int type = node.getNodeType();
+ IJavaElement[] result = null;
+ JSPTranslation translation = null;
+ if (node.getNodeType() == Node.TEXT_NODE && (node instanceof NodeImpl)) {
+ startOffset = ((NodeImpl) node).getStartOffset();
+ endOffset = ((NodeImpl) node).getEndOffset();
+ translation = getTranslation(node);
+ result = translation.getAllElementsInJsRange(startOffset, endOffset);
+ }
+
+
+
+ if (result == null) return null;
+ Object[] newResults = new Object[result.length];
+ for (int i = 0; i < result.length; i++) {
int htmllength = 0;
int htmloffset = 0;
Position position = null;
try {
htmllength = ((SourceRefElement) (result[i])).getSourceRange().getLength();
- htmloffset = getTranslation(node).getJspOffset(((SourceRefElement) (result[i])).getSourceRange().getOffset());
+ htmloffset = translation.getJspOffset(((SourceRefElement) (result[i])).getSourceRange().getOffset());
position = new Position(htmloffset, htmllength);
} catch (JavaModelException e) {
e.printStackTrace();
@@ -138,18 +151,7 @@ public class JFaceNodeAdapterForJs extends JFaceNodeAdapterForHTML {
return translationAdapter.getJSPTranslation();
}
- private IJavaElement[] getJavaElementsInRange(Node node) {
- int startOffset = 0;
- int endOffset = 0;
- int type = node.getNodeType();
- IJavaElement[] result = null;
- if (node.getNodeType() == Node.TEXT_NODE && (node instanceof NodeImpl)) {
- startOffset = ((NodeImpl) node).getStartOffset();
- endOffset = ((NodeImpl) node).getEndOffset();
- result = getTranslation(node).getAllElementsInJsRange(startOffset, endOffset);
- }
- return result;
- }
+
private Object getJsNode(Node parent, IJavaElement root, Position position) {
JsJfaceNode instance = new JsJfaceNode(parent, root, position);

Back to the top