Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorpfullbright2011-10-19 21:21:33 +0000
committerpfullbright2011-10-19 21:21:33 +0000
commit7b2194e6e130ada0e52f41e0a58a31bf2716a981 (patch)
treeaa90f132b45a6487858cc10d59e4e759c7292239 /common
parentc0500c4abded713f7d619be246006359fbeb20d7 (diff)
downloadwebtools.dali-7b2194e6e130ada0e52f41e0a58a31bf2716a981.tar.gz
webtools.dali-7b2194e6e130ada0e52f41e0a58a31bf2716a981.tar.xz
webtools.dali-7b2194e6e130ada0e52f41e0a58a31bf2716a981.zip
fixed problem with arrays and illegal/unexpected expressions. return empty array rather than single element array with null.
Diffstat (limited to 'common')
-rw-r--r--common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java9
-rw-r--r--common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java2
2 files changed, 6 insertions, 5 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java
index e67ac839c2..9ecfd9e9e3 100644
--- a/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java
+++ b/common/plugins/org.eclipse.jpt.common.core/src/org/eclipse/jpt/common/core/internal/utility/jdt/AnnotationStringArrayExpressionConverter.java
@@ -66,10 +66,11 @@ public class AnnotationStringArrayExpressionConverter
*/
@Override
protected String[] convertExpression(Expression expression) {
- return (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) ?
- this.arrayConverter.convertArrayInitializer((ArrayInitializer) expression)
- :
- new String[] {this.elementConverter.convert(expression)};
+ if (expression.getNodeType() == ASTNode.ARRAY_INITIALIZER) {
+ return this.arrayConverter.convertArrayInitializer((ArrayInitializer) expression);
+ }
+ String result = this.elementConverter.convert(expression);
+ return (result == null) ? new String[0] : new String[] { result };
}
public Expression getSubexpression(int index, Expression expression) {
diff --git a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java
index 3aaf924cf6..b4f2fa7afa 100644
--- a/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java
+++ b/common/tests/org.eclipse.jpt.common.core.tests/src/org/eclipse/jpt/common/core/tests/internal/utility/jdt/MemberAnnotationElementAdapterTests.java
@@ -330,7 +330,7 @@ public class MemberAnnotationElementAdapterTests extends AnnotationTestCase {
DeclarationAnnotationAdapter daa = new SimpleDeclarationAnnotationAdapter("annot.Foo");
DeclarationAnnotationElementAdapter<String[]> daea = new ConversionDeclarationAnnotationElementAdapter<String[]>(daa, "bar", AnnotationStringArrayExpressionConverter.forStrings());
AnnotationElementAdapter<String[]> aea = new AnnotatedElementAnnotationElementAdapter<String[]>(this.idField(cu), daea);
- assertTrue(Arrays.equals(new String[] {null}, aea.getValue()));
+ assertTrue(Arrays.equals(new String[0], aea.getValue()));
}
public void testASTNode1() throws Exception {

Back to the top