Author: scabanovich
Date: 2011-04-01 19:18:12 -0400 (Fri, 01 Apr 2011)
New Revision: 30240
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/BeanNameFeature.java
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/CDISolderCoreExtension.java
Log:
JBIDE-3120
https://issues.jboss.org/browse/JBIDE-3120
JBIDE-8196
https://issues.jboss.org/browse/JBIDE-8196
JBIDE-8197
https://issues.jboss.org/browse/JBIDE-8197
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/BeanNameFeature.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/BeanNameFeature.java 2011-04-01
23:16:35 UTC (rev 30239)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/BeanNameFeature.java 2011-04-01
23:18:12 UTC (rev 30240)
@@ -10,9 +10,9 @@
******************************************************************************/
package org.jboss.tools.cdi.solder.core;
+
import java.beans.Introspector;
-import org.eclipse.jdt.core.IMemberValuePair;
import org.jboss.tools.cdi.core.CDIConstants;
import org.jboss.tools.cdi.core.CDIUtil;
import org.jboss.tools.cdi.core.IAnnotationDeclaration;
@@ -76,11 +76,8 @@
private String getStringValue(IAnnotationDeclaration a) {
if(a == null) return null;
- IMemberValuePair[] ps = a.getMemberValuePairs();
- if(ps != null && ps.length > 0 && ps[0].getValue() != null) {
- return ps[0].getValue().toString();
- }
- return null;
+ Object o = a.getMemberValue(null);
+ return o == null ? null : o.toString();
}
private String resolvePackageName(AnnotationDeclaration fullyQualified,
AnnotationDeclaration fullyQualifiedOnPackage, AbstractTypeDefinition t, PackageDefinition
p) {
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/CDISolderCoreExtension.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/CDISolderCoreExtension.java 2011-04-01
23:16:35 UTC (rev 30239)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.solder.core/src/org/jboss/tools/cdi/solder/core/CDISolderCoreExtension.java 2011-04-01
23:18:12 UTC (rev 30240)
@@ -1,20 +1,18 @@
package org.jboss.tools.cdi.solder.core;
-import java.util.Arrays;
+import java.util.ArrayList;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMemberValuePair;
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.cdi.core.IAnnotated;
import org.jboss.tools.cdi.core.IAnnotationDeclaration;
import org.jboss.tools.cdi.core.extension.ICDIExtension;
import org.jboss.tools.cdi.core.extension.feature.IBeanNameFeature;
import org.jboss.tools.cdi.core.extension.feature.IProcessAnnotatedTypeFeature;
-import org.jboss.tools.cdi.internal.core.impl.AnnotationDeclaration;
import org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext;
-import org.jboss.tools.cdi.internal.core.impl.definition.PackageDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.TypeDefinition;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.common.util.EclipseJavaUtil;
@@ -37,10 +35,10 @@
}
Set<String> requiredClasses = new HashSet<String>();
- String[] typeRequiredClasses = getRequiredClasses(typeDefinition);
- if(typeRequiredClasses != null)
requiredClasses.addAll(Arrays.asList(typeRequiredClasses));
- String[] packageRequiredClasses =
getRequiredClasses(typeDefinition.getPackageDefinition());;
- if(packageRequiredClasses != null)
requiredClasses.addAll(Arrays.asList(packageRequiredClasses));
+ List<String> typeRequiredClasses = getRequiredClasses(typeDefinition);
+ if(typeRequiredClasses != null) requiredClasses.addAll(typeRequiredClasses);
+ List<String> packageRequiredClasses =
getRequiredClasses(typeDefinition.getPackageDefinition());;
+ if(packageRequiredClasses != null) requiredClasses.addAll(packageRequiredClasses);
IJavaProject jp =
EclipseResourceUtil.getJavaProject(context.getProject().getProject());
if (!requiredClasses.isEmpty() && jp != null) {
for (String c : requiredClasses) {
@@ -58,26 +56,24 @@
}
}
- private String[] getRequiredClasses(IAnnotated d) {
+ private List<String> getRequiredClasses(IAnnotated d) {
if(d == null) return null;
IAnnotationDeclaration requires =
d.getAnnotation(CDISolderConstants.REQUIRES_ANNOTATION_TYPE_NAME);
return requires != null ? getArrayValue(requires) : null;
}
- private String[] getArrayValue(IAnnotationDeclaration d) {
- IMemberValuePair[] ps = d.getMemberValuePairs();
- if(ps != null && ps.length > 0) {
- Object value = ps[0].getValue();
- if(value instanceof Object[]) {
- Object[] array = (Object[])value;
- String[] s = new String[array.length];
- for (int i = 0; i < array.length; i++) {
- s[i] = array[i] == null ? "" : array[i].toString();
- }
- return s;
+ private List<String> getArrayValue(IAnnotationDeclaration d) {
+ Object value = d.getMemberValue(null);
+ List<String> result = new ArrayList<String>();
+ if(value instanceof Object[]) {
+ Object[] array = (Object[])value;
+ for (int i = 0; i < array.length; i++) {
+ if(array[i] != null) result.add(array[i].toString());
}
- }
- return null;
+ } else if(value instanceof String) {
+ result.add(value.toString());
+ }
+ return result;
}
}