Author: dazarov
Date: 2011-06-06 18:26:03 -0400 (Mon, 06 Jun 2011)
New Revision: 31852
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/FirstBean.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.qfxresult
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/MarkerResolutionUtils.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.qfxresult
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
Log:
https://issues.jboss.org/browse/JBIDE-9078
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/MarkerResolutionUtils.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/MarkerResolutionUtils.java 2011-06-06
22:04:33 UTC (rev 31851)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.ui/src/org/jboss/tools/cdi/ui/marker/MarkerResolutionUtils.java 2011-06-06
22:26:03 UTC (rev 31852)
@@ -58,6 +58,8 @@
public static final String SPACE = " "; //$NON-NLS-1$
public static final String AT = "@"; //$NON-NLS-1$
public static final String IMPLEMENTS = "implements"; //$NON-NLS-1$
+ public static final String EXTENDS = "extends"; //$NON-NLS-1$
+ public static final String OPEN_BRACE = "{"; //$NON-NLS-1$
static final HashSet<String> primitives = new HashSet<String>();
static{
@@ -423,10 +425,20 @@
int namePosition = text.indexOf(workingType.getElementName());
if(namePosition >= 0){
int implementsPosition = text.indexOf(IMPLEMENTS,namePosition);
- if(implementsPosition < 0)
- buffer.replace(workingType.getSourceRange().getOffset()+namePosition+workingType.getElementName().length(),0,SPACE+IMPLEMENTS+SPACE+shortName);
- else
+ if(implementsPosition > 0){
buffer.replace(workingType.getSourceRange().getOffset()+implementsPosition+IMPLEMENTS.length(),0,SPACE+shortName+COMMA);
+ }else{
+ int extedsPosition = text.indexOf(EXTENDS,namePosition);
+ if(extedsPosition > 0){
+ int bracePosition = text.indexOf(OPEN_BRACE, extedsPosition);
+ String str = IMPLEMENTS+SPACE+shortName+SPACE;
+ if(!text.substring(bracePosition-1,bracePosition).equals(SPACE))
+ str = SPACE+str;
+ buffer.replace(workingType.getSourceRange().getOffset()+bracePosition,0,str);
+ }else{
+ buffer.replace(workingType.getSourceRange().getOffset()+namePosition+workingType.getElementName().length(),0,SPACE+IMPLEMENTS+SPACE+shortName);
+ }
+ }
}
}
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/FirstBean.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/FirstBean.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/FirstBean.java 2011-06-06
22:26:03 UTC (rev 31852)
@@ -0,0 +1,5 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+public class FirstBean {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/FirstBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.java 2011-06-06
22:04:33 UTC (rev 31851)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.java 2011-06-06
22:26:03 UTC (rev 31852)
@@ -6,4 +6,5 @@
@SessionScoped
class Hamina_Broken
{
+ private static final long serialVersionUID = 1L;
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.qfxresult
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.qfxresult 2011-06-06
22:04:33 UTC (rev 31851)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/Hamina_Broken.qfxresult 2011-06-06
22:26:03 UTC (rev 31852)
@@ -7,4 +7,5 @@
@SessionScoped
class Hamina_Broken implements Serializable
{
+ private static final long serialVersionUID = 1L;
}
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.java 2011-06-06
22:26:03 UTC (rev 31852)
@@ -0,0 +1,8 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.enterprise.context.SessionScoped;
+
+@SessionScoped
+public class SecondBean extends FirstBean {
+private static final long serialVersionUID = 1L;
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.qfxresult
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.qfxresult
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/quickfixes/SecondBean.qfxresult 2011-06-06
22:26:03 UTC (rev 31852)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.jbt.quickfixes;
+
+import javax.enterprise.context.SessionScoped;
+import java.io.Serializable;
+
+@SessionScoped
+public class SecondBean extends FirstBean implements Serializable {
+private static final long serialVersionUID = 1L;
+}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-06-06
22:04:33 UTC (rev 31851)
+++
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/marker/CDIMarkerResolutionTest.java 2011-06-06
22:26:03 UTC (rev 31852)
@@ -27,6 +27,7 @@
import org.jboss.tools.cdi.core.test.tck.validation.ValidationTest;
import org.jboss.tools.cdi.internal.core.validation.CDIValidationErrorManager;
import org.jboss.tools.cdi.ui.marker.AddLocalBeanMarkerResolution;
+import org.jboss.tools.cdi.ui.marker.AddSerializableInterfaceMarkerResolution;
import org.jboss.tools.cdi.ui.marker.DeleteAllDisposerDuplicantMarkerResolution;
import org.jboss.tools.cdi.ui.marker.DeleteAllInjectedConstructorsMarkerResolution;
import org.jboss.tools.cdi.ui.marker.MakeFieldStaticMarkerResolution;
@@ -180,7 +181,7 @@
String fileContent = FileUtil.readStream(file);
String resultContent = FileUtil.readStream(resultFile);
- assertEquals("Wrong result of resolution", resultContent, fileContent);
+ assertEquals("Wrong result of resolution", resultContent.trim(),
fileContent.trim());
}
}
@@ -359,5 +360,33 @@
CDIValidationErrorManager.MULTIPLE_INJECTION_CONSTRUCTORS_ID,
DeleteAllInjectedConstructorsMarkerResolution.class);
}
+
+ public void testAddSerializableInterfaceResolution() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/Hamina_Broken.java"
+ },
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/Hamina_Broken.qfxresult"
+ },
+ MARKER_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.NOT_PASSIVATION_CAPABLE_BEAN_ID,
+ AddSerializableInterfaceMarkerResolution.class);
+ }
+ public void testAddSerializableInterfaceResolution2() throws CoreException{
+ checkResolution(tckProject,
+ new String[]{
+ "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/SecondBean.java"
+ },
+// new String[]{
+// "JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/SecondBean.qfxresult"
+// },
+ MARKER_TYPE,
+ CDIValidationErrorManager.MESSAGE_ID_ATTRIBUTE_NAME,
+ CDIValidationErrorManager.NOT_PASSIVATION_CAPABLE_BEAN_ID,
+ AddSerializableInterfaceMarkerResolution.class);
+ }
+
}