Author: akazakov
Date: 2010-02-05 16:00:17 -0500 (Fri, 05 Feb 2010)
New Revision: 20160
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/lookup/typesafe/resolution/PetShop.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2708
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/core/CDICorePlugin.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -74,6 +74,20 @@
return imageDescriptorFromPlugin(PLUGIN_ID, path);
}
+ /**
+ * Returns CDI project.
+ * @param project
+ * @param resolve
+ * @return
+ */
+ public static ICDIProject getCDIProject(IProject project, boolean resolve) {
+ CDICoreNature nature = getCDI(project, resolve);
+ if(nature!=null) {
+ return nature.getDelegate();
+ }
+ return null;
+ }
+
public static CDICoreNature getCDI(IProject project, boolean resolve) {
if(project == null || !project.exists() || !project.isOpen()) return null;
try {
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDICoreValidator.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -124,10 +124,7 @@
@Override
public void init(IProject project, ContextValidationHelper validationHelper,
org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter
reporter) {
super.init(project, validationHelper, manager, reporter);
-
- CDICoreNature nature = CDICorePlugin.getCDI(project, false);
- cdiProject = nature != null ? nature.getDelegate() : null;
-
+ cdiProject = CDICorePlugin.getCDIProject(project, false);
projectName = project.getName();
}
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/validation/CDIValidationErrorManager.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -16,9 +16,12 @@
public class CDIValidationErrorManager extends ValidationErrorManager {
+ /*
+ * (non-Javadoc)
+ * @see
org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getPreference(org.eclipse.core.resources.IProject,
java.lang.String)
+ */
@Override
protected String getPreference(IProject project, String preferenceKey) {
return CDIPreferences.getInstance().getProjectPreference(project, preferenceKey);
}
-
-}
+}
\ No newline at end of file
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/lookup/typesafe/resolution/PetShop.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/lookup/typesafe/resolution/PetShop.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/lookup/typesafe/resolution/PetShop.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -5,6 +5,9 @@
public class PetShop
{
+ @Produces
+ @Typed(String.class)
+ private Dove brokenProducer = new Dove("charlie");
@Produces @Typed(Dove.class)
private Dove dove = new Dove("charlie");
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/CDICoreAllTests.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -14,6 +14,7 @@
import junit.framework.TestSuite;
import org.jboss.tools.cdi.core.test.tck.DefinitionTest;
+import org.jboss.tools.cdi.core.test.tck.ValidationTest;
import org.jboss.tools.tests.AbstractPluginsLoadTest;
/**
@@ -24,6 +25,7 @@
public static Test suite() {
TestSuite suite = new TestSuite("CDI Core Tests");
suite.addTestSuite(DefinitionTest.class);
+ suite.addTestSuite(ValidationTest.class);
return suite;
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/TCKTest.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -7,6 +7,7 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
@@ -17,6 +18,7 @@
public class TCKTest extends TestCase {
protected static String PLUGIN_ID = "org.jboss.tools.cdi.core.test";
+ protected static String PROJECT_NAME = "tck";
protected static String PROJECT_PATH = "/projects/tck";
protected static String JAVA_SOURCE_SUFFIX = "/JavaSource";
@@ -32,8 +34,10 @@
public IProject importPreparedProject(String packPath) throws Exception {
Bundle b = Platform.getBundle(PLUGIN_ID);
-
- IProject project = ResourcesUtils.importProject(b, PROJECT_PATH);
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(project==null || !project.exists()) {
+ project = ResourcesUtils.importProject(b, PROJECT_PATH);
+ }
String projectPath = project.getLocation().toOSString();
String resourcePath = FileLocator.resolve(b.getEntry(TCK_RESOURCES_PREFIX)).getFile();
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.core.test.tck;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.jboss.tools.tests.AbstractResourceMarkerTest;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class ValidationTest extends TCKTest {
+
+ public void testLegalTypesInTyped() throws Exception {
+ IProject p = importPreparedProject("/lookup/typesafe/resolution");
+ IFile petShopFile =
p.getFile("JavaSource/org/jboss/jsr299/tck/tests/lookup/typesafe/resolution/PetShop.java");
+ AbstractResourceMarkerTest.assertMarkerIsCreated(petShopFile,
AbstractResourceMarkerTest.MARKER_TYPE, "Bean class or producer method or field
specifies a @Typed annotation, and the value member specifies a class which does not
correspond to a type in the unrestricted set of bean types of a bean", 9);
+ int markerNumbers = getMarkersNumber(petShopFile);
+ assertEquals("PetShop.java should has the only error marker.", markerNumbers,
1);
+ // TODO
+ cleanProject("/lookup/typesafe/resolution");
+ }
+
+ public static int getMarkersNumber(IResource resource) {
+ return AbstractResourceMarkerTest.getMarkersNumberByGroupName(resource, null);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/ValidationTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java
===================================================================
---
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java 2010-02-05
21:00:11 UTC (rev 20159)
+++
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java 2010-02-05
21:00:17 UTC (rev 20160)
@@ -44,7 +44,6 @@
IProject project = null;
- public static final String MARKER_TYPE =
"org.eclipse.wst.validation.problemmarker";
public static SeamMarkerFilter SEAM_MARKER_FILTER = new SeamMarkerFilter();
public SeamValidatorsTest() {
@@ -180,14 +179,14 @@
public void testVarAttributes() throws CoreException {
// Test for
http://jira.jboss.com/jira/browse/JBIDE-999
IFile file = project.getFile("WebContent/varAttributes.xhtml");
- int number = getMarkersNumber(file);
+ int number = getMarkersNumberByGroupName(file,
SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);
assertEquals("Problem marker was found in varAttributes.xhtml file. Validator did
not recognize 'var' attribute.", 0, number);
}
public void testMessageBundles() throws CoreException {
// Test for
https://jira.jboss.org/jira/browse/JBIDE-5089
IFile file = project.getFile("WebContent/messagesValidation.jsp");
- int number = getMarkersNumber(file);
+ int number = getMarkersNumberByGroupName(file,
SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);
assertEquals("Problem marker was found in messagesValidation.jsp file. Validator
did not recognize a message bundle.", 0, number);
}
@@ -202,7 +201,7 @@
copyContentsFile(superclassComponentFile,
"src/action/org/domain/SeamWebWarTestProject/session/SuperclassTestComponent.withRemove");
refreshProject(project);
- int number = getMarkersNumber(subclassComponentFile);
+ int number = getMarkersNumberByGroupName(subclassComponentFile,
SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);
assertTrue("We changed super class of component but it still don't see
changes.", number == 0);
}
@@ -459,7 +458,7 @@
public void testDuplicateRemoveMethodInComponent_Validator() {
getSeamProject(project);
IFile componentFile =
project.getFile("src/action/org/domain/SeamWebWarTestProject/session/UsualComponent.java");
- int number = getMarkersNumber(componentFile);
+ int number = getMarkersNumberByGroupName(componentFile,
SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);
assertEquals("Problem marker was found in UsualComponent.java file", 0,
number);
}
@@ -760,6 +759,10 @@
JSFModelPlugin.getDefault().getPreferenceStore().setValue(JSFSeverityPreferences.UNKNOWN_EL_VARIABLE_NAME,
SeamPreferences.IGNORE);
}
+ public static int getMarkersNumber(IResource resource) {
+ return getMarkersNumberByGroupName(resource,
SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP);
+ }
+
private static boolean findLine(Integer[] lines, int number) {
for (int i = 0; i < lines.length; i++) {
if(lines[i]==number) {
@@ -806,26 +809,6 @@
}
}
- public static int getMarkersNumber(IResource resource){
- try{
- IMarker[] markers = resource.findMarkers(MARKER_TYPE, true,
IResource.DEPTH_INFINITE);
-// for(int i=0;i<markers.length;i++){
-// System.out.println("Marker - "+markers[i].getAttribute(IMarker.MESSAGE,
""));
-// }
- int length = markers.length;
- for (int i = 0; i < markers.length; i++) {
- String groupName = markers[i].getAttribute("groupName", null);
- if(groupName==null ||
(!groupName.equals(SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP)
&& !groupName.equals(IValidator.MARKED_RESOURCE_MESSAGE_GROUP))) {
- length--;
- }
- }
- return length;
- }catch(CoreException ex){
- JUnitUtils.fail("Can'r get problem markers", ex);
- }
- return -1;
- }
-
public static class SeamMarkerFilter implements IMarkerFilter {
public boolean accept(IMarker marker) {
String groupName = marker.getAttribute("groupName", null);