Enhances prototyical ASTUtils
diff --git a/org.eclipse.babel.tapiji.tools.java.ui/src/org/eclipse/babel/tapiji/tools/java/ui/util/ASTutilsUI.java b/org.eclipse.babel.tapiji.tools.java.ui/src/org/eclipse/babel/tapiji/tools/java/ui/util/ASTutilsUI.java
index 493d58f..d799870 100644
--- a/org.eclipse.babel.tapiji.tools.java.ui/src/org/eclipse/babel/tapiji/tools/java/ui/util/ASTutilsUI.java
+++ b/org.eclipse.babel.tapiji.tools.java.ui/src/org/eclipse/babel/tapiji/tools/java/ui/util/ASTutilsUI.java
@@ -38,18 +38,12 @@
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IOpenable;
import org.eclipse.jdt.core.ITypeRoot;
import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.AnonymousClassDeclaration;
import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.ExpressionStatement;
import org.eclipse.jdt.core.dom.ImportDeclaration;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
import org.eclipse.jdt.ui.SharedASTProvider;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
@@ -98,33 +92,35 @@
createRBReference = true;
}
- //try {
+ try {
reference = ASTutils.createResourceReference(resourceBundleId, key,
null, resource, startPos, variableName, ast, rewriter, cu);
- if (startPos > 0 && document.get().charAt(startPos - 1) == '\"') {
- startPos--;
- endPos++;
+ if (reference != null) {
+ if (startPos > 0 && document.get().charAt(startPos - 1) == '\"') {
+ startPos--;
+ endPos++;
+ }
+
+ if ((startPos + endPos) < document.getLength()
+ && document.get().charAt(startPos + endPos) == '\"') {
+ endPos++;
+ }
+
+ if ((startPos + endPos) < document.getLength()
+ && document.get().charAt(startPos + endPos - 1) == ';') {
+ endPos--;
+ }
+
+ document.replace(startPos, endPos, reference);
+
}
-
- if ((startPos + endPos) < document.getLength()
- && document.get().charAt(startPos + endPos) == '\"') {
- endPos++;
- }
-
- if ((startPos + endPos) < document.getLength()
- && document.get().charAt(startPos + endPos - 1) == ';') {
- endPos--;
- }
-
- //document.replace(startPos, endPos, reference);
-
// create non-internationalisation-comment
//ASTutils.createReplaceNonInternationalisationComment(cu, document,
// startPos);
- //} catch (BadLocationException e) {
- // e.printStackTrace();
- //}
+ } catch (BadLocationException e) {
+ e.printStackTrace();
+ }
if (createRBReference) {
ASTutils.createResourceBundleReference(resource, startPos,
@@ -167,12 +163,14 @@
reference = ASTutils.createResourceReference(resourceBundleId, key,
locale, resource, offset, variableName, ast, rewriter, cu);
- //try {
- // document.replace(offset, length, reference);
- //} catch (BadLocationException e) {
- // Logger.logError(e);
- // return null;
- //}
+ if (reference != null) {
+ try {
+ document.replace(offset, length, reference);
+ } catch (BadLocationException e) {
+ Logger.logError(e);
+ return null;
+ }
+ }
// create non-internationalisation-comment
//ASTutils.createReplaceNonInternationalisationComment(cu, document,
// offset);
diff --git a/org.eclipse.babel.tapiji.tools.java/src/org/eclipse/babel/tapiji/tools/java/util/ASTutils.java b/org.eclipse.babel.tapiji.tools.java/src/org/eclipse/babel/tapiji/tools/java/util/ASTutils.java
index 4b53a01..5eb9901 100644
--- a/org.eclipse.babel.tapiji.tools.java/src/org/eclipse/babel/tapiji/tools/java/util/ASTutils.java
+++ b/org.eclipse.babel.tapiji.tools.java/src/org/eclipse/babel/tapiji/tools/java/util/ASTutils.java
@@ -559,17 +559,20 @@
final MethodInvocation methodInvocation = referenceResource(ast, accessorName,
key, locale);
- astRewrite.replace(literal, methodInvocation, null);
-
- String exp = methodInvocation.toString();
-
- // remove semicolon and line break at the end of this expression
- // statement
- if (exp.endsWith(";\n")) {
- exp = exp.substring(0, exp.length() - 2);
+ if (literal != null) {
+ astRewrite.replace(literal, methodInvocation, null);
+ return null;
+ } else {
+ String exp = methodInvocation.toString();
+
+ // remove semicolon and line break at the end of this expression
+ // statement
+ if (exp.endsWith(";\n")) {
+ exp = exp.substring(0, exp.length() - 2);
+ }
+
+ return exp;
}
-
- return exp;
}
private static int findNonInternationalisationPosition(CompilationUnit cu,