Author: akazakov
Date: 2011-07-28 00:41:31 -0400 (Thu, 28 Jul 2011)
New Revision: 33294
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.classpath
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.project
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/bin/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/cdi-api.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/javax.inject.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/jboss-interceptor-api.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/seam-servlet-api.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/seam-servlet-impl.jar
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/META-INF/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/META-INF/beans.xml
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean1.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean2.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/Validation.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamCoreTestSetup.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/BundleModelTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/SeamResourceBundlesTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/servlet/
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/servlet/SeamServletValidationTest.java
Removed:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/BundleModelTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamResourceBundlesTest.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.faces.core.test/projects/SeamFacesTest/.settings/
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/servlet/SeamServletExtension.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/build.properties
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/CDISeamCoreAllTests.java
Log:
https://issues.jboss.org/browse/JBIDE-9389
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/servlet/SeamServletExtension.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/servlet/SeamServletExtension.java 2011-07-28
01:37:59 UTC (rev 33293)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.core/src/org/jboss/tools/cdi/seam/core/servlet/SeamServletExtension.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -12,8 +12,10 @@
import org.eclipse.jdt.core.IType;
import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInjectionPointParameter;
import org.jboss.tools.cdi.core.extension.ICDIExtension;
import org.jboss.tools.cdi.core.extension.feature.IInjectionPointValidatorFeature;
+import org.jboss.tools.common.java.IAnnotated;
/**
* @author Alexey Kazakov
@@ -32,8 +34,14 @@
*/
@Override
public boolean shouldIgnoreInjection(IType typeOfInjectionPoint, IInjectionPoint
injection) {
- return injection.getAnnotation(SEAM_SERVLET_COOKIE_PARAM_TYPE_NAME) != null
- || injection.getAnnotation(SEAM_SERVLET_HEADER_PARAM_TYPE_NAME) != null
- || injection.getAnnotation(SEAM_SERVLET_REQUEST_PARAM_TYPE_NAME) != null;
+ IAnnotated annotated = injection;
+ if(injection instanceof IInjectionPointParameter) {
+ IInjectionPointParameter param = (IInjectionPointParameter)injection;
+ annotated = param.getBeanMethod();
+ }
+
+ return annotated.getAnnotation(SEAM_SERVLET_COOKIE_PARAM_TYPE_NAME) != null
+ || annotated.getAnnotation(SEAM_SERVLET_HEADER_PARAM_TYPE_NAME) != null
+ || annotated.getAnnotation(SEAM_SERVLET_REQUEST_PARAM_TYPE_NAME) != null;
}
}
\ No newline at end of file
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/build.properties
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/build.properties 2011-07-28
01:37:59 UTC (rev 33293)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/build.properties 2011-07-28
04:41:31 UTC (rev 33294)
@@ -2,4 +2,5 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- resources/
+ resources/,\
+ projects/
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.classpath
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.classpath
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.classpath 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="lib" path="lib/cdi-api.jar"/>
+ <classpathentry kind="lib" path="lib/javax.inject.jar"/>
+ <classpathentry kind="lib"
path="lib/jboss-interceptor-api.jar"/>
+ <classpathentry kind="lib" path="lib/seam-servlet-impl.jar"/>
+ <classpathentry kind="lib" path="lib/seam-servlet-api.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.project
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.project
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.project 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>SeamCoreTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.jst.web.kb.kbbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.cdi.core.cdibuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ <nature>org.jboss.tools.cdi.core.cdinature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/cdi-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/cdi-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/javax.inject.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/javax.inject.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/jboss-interceptor-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/jboss-interceptor-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/seam-servlet-api.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/seam-servlet-api.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/seam-servlet-impl.jar
===================================================================
(Binary files differ)
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/lib/seam-servlet-impl.jar
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/META-INF/beans.xml
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/META-INF/beans.xml
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/META-INF/beans.xml 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<beans>
+</beans>
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/META-INF/beans.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean1.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean1.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean1.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,5 @@
+package org.jboss.tools.seam.servlet.validation.test;
+
+public class MyBean1 {
+
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean1.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean2.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean2.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean2.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,5 @@
+package org.jboss.tools.seam.servlet.validation.test;
+
+public class MyBean2 extends MyBean1 {
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/MyBean2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/Validation.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/Validation.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/Validation.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,44 @@
+package org.jboss.tools.seam.servlet.validation.test;
+
+import javax.inject.Inject;
+
+import org.jboss.seam.servlet.http.CookieParam;
+import org.jboss.seam.servlet.http.DefaultValue;
+import org.jboss.seam.servlet.http.HeaderParam;
+import org.jboss.seam.servlet.http.RequestParam;
+
+public class Validation {
+
+ @Inject @RequestParam("id") String bookId;
+ @Inject @RequestParam String id;
+ @Inject @RequestParam @DefaultValue("25") String pageSize;
+ @Inject @HeaderParam("User-Agent") String userAgent;
+ @Inject @HeaderParam String userAgent2;
+ @Inject @HeaderParam @DefaultValue("25") String userAgent3;
+ @Inject @CookieParam("User-Agent") String userAgent4;
+ @Inject @CookieParam String userAgent5;
+ @Inject @CookieParam @DefaultValue("25") String userAgent6;
+ @Inject @RequestParam("id") MyBean1 bookId1;
+ @Inject @RequestParam MyBean1 id1;
+ @Inject @RequestParam @DefaultValue("25") MyBean1 pageSize1;
+ @Inject @HeaderParam("User-Agent") MyBean1 userAgent7;
+ @Inject @HeaderParam MyBean1 userAgent8;
+ @Inject @HeaderParam @DefaultValue("25") MyBean1 userAgent9;
+ @Inject @CookieParam("User-Agent") MyBean1 userAgent10;
+ @Inject @CookieParam MyBean1 userAgent11;
+ @Inject @CookieParam @DefaultValue("25") MyBean1 userAgent12;
+ @Inject @RequestParam public void setMyBeanOk(MyBean1 bean, String bean2) {}
+ @Inject @RequestParam("id") public void setMyBeanOk1(MyBean1 bean, String
bean2) {}
+ @Inject @RequestParam @DefaultValue("25") public void setMyBeanOk2(MyBean1
bean, String bean2) {}
+ @Inject @HeaderParam public void setMyBeanOk3(MyBean1 bean, String bean2) {}
+ @Inject @HeaderParam("id") public void setMyBeanOk4(MyBean1 bean, String
bean2) {}
+ @Inject @HeaderParam @DefaultValue("25") public void setMyBeanOk5(MyBean1
bean, String bean2) {}
+ @Inject @CookieParam public void setMyBeanOk6(MyBean1 bean, String bean2) {}
+ @Inject @CookieParam("id") public void setMyBeanOk7(MyBean1 bean, String
bean2) {}
+ @Inject @CookieParam @DefaultValue("25") public void setMyBeanOk8(MyBean1
bean, String bean2) {}
+
+ @Inject MyBean1 beanBroken;
+ @Inject String bean2Broken;
+ @Inject public void setMyBeanBroken(MyBean1 bean) {}
+ @Inject public void setMyBeanBroken(String bean) {}
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/projects/SeamCoreTest/src/org/jboss/tools/seam/servlet/validation/test/Validation.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/BundleModelTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/BundleModelTest.java 2011-07-28
01:37:59 UTC (rev 33293)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/BundleModelTest.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -1,37 +0,0 @@
-package org.jboss.tools.cdi.seam.core.test;
-
-import java.util.Set;
-
-import org.jboss.tools.cdi.core.test.tck.TCKTest;
-import org.jboss.tools.cdi.seam.core.international.BundleModelFactory;
-import org.jboss.tools.cdi.seam.core.international.IBundle;
-import org.jboss.tools.cdi.seam.core.international.IBundleModel;
-import org.jboss.tools.cdi.seam.core.international.ILocalizedValue;
-import org.jboss.tools.cdi.seam.core.international.IProperty;
-
-public class BundleModelTest extends TCKTest {
-
- public void testBundleModel() throws Exception {
- IBundleModel bundleModel = BundleModelFactory.getBundleModel(tckProject);
- assertNotNull(bundleModel);
-
- Set<String> bundles = bundleModel.getAllAvailableBundles();
- assertTrue(bundles.contains("messages"));
-
- IBundle bundle = bundleModel.getBundle("messages");
- assertNotNull(bundle);
-
- IProperty property = bundle.getProperty("home_header1");
- assertNotNull(property);
-
- ILocalizedValue value = property.getValue("de");
- assertNotNull(value);
- assertEquals("Über dieses Beispiel-Anwendung", value.getValue());
-
- value = property.getValue();
- assertNotNull(value);
- assertEquals("About this example application", value.getValue());
-
- }
-
-}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/CDISeamCoreAllTests.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/CDISeamCoreAllTests.java 2011-07-28
01:37:59 UTC (rev 33293)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/CDISeamCoreAllTests.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -14,20 +14,27 @@
import junit.framework.TestSuite;
import org.eclipse.jdt.internal.core.JavaModelManager;
+import org.jboss.tools.cdi.seam.core.test.international.BundleModelTest;
+import org.jboss.tools.cdi.seam.core.test.international.SeamResourceBundlesTest;
+import org.jboss.tools.cdi.seam.core.test.servlet.SeamServletValidationTest;
/**
* @author Alexey Kazakov
*/
public class CDISeamCoreAllTests {
- protected static String PLUGIN_ID = "org.jboss.tools.cdi.seam.core.test";
+ public static String PLUGIN_ID = "org.jboss.tools.cdi.seam.core.test";
public static Test suite() {
JavaModelManager.getIndexManager().disable();
- TestSuite suite = new TestSuite("Seam Core Tests");
+ TestSuite suiteAll = new TestSuite("Seam Core Tests");
- suite.addTestSuite(SeamResourceBundlesTest.class);
- suite.addTestSuite(BundleModelTest.class);
- return suite;
+ suiteAll.addTestSuite(SeamResourceBundlesTest.class);
+ suiteAll.addTestSuite(BundleModelTest.class);
+
+ TestSuite suite = new TestSuite("Seam Core Project Tests");
+ suiteAll.addTest(new SeamCoreTestSetup(suite));
+ suiteAll.addTestSuite(SeamServletValidationTest.class);
+ return suiteAll;
}
}
\ No newline at end of file
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamCoreTestSetup.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamCoreTestSetup.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamCoreTestSetup.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.seam.core.test;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class SeamCoreTestSetup extends TestSetup {
+
+ public static final String PLUGIN_ID = "org.jboss.tools.cdi.seam.core.test";
+ public static final String PROJECT_NAME = "SeamCoreTest";
+ public static final String PROJECT_PATH = "/projects/SeamCoreTest";
+
+ protected IProject project;
+
+ public SeamCoreTestSetup(Test test) {
+ super(test);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(!project.exists()) {
+ project = ResourcesUtils.importProject(PLUGIN_ID, PROJECT_PATH);
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ JobUtils.waitForIdle();
+ project.delete(true, true, null);
+ JobUtils.waitForIdle();
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamCoreTestSetup.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamResourceBundlesTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamResourceBundlesTest.java 2011-07-28
01:37:59 UTC (rev 33293)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamResourceBundlesTest.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -1,197 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 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.seam.core.test;
-
-import java.io.File;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.jboss.tools.cdi.core.CDICorePlugin;
-import org.jboss.tools.cdi.core.test.tck.TCKTest;
-import org.jboss.tools.cdi.seam.core.CDISeamCorePlugin;
-import
org.jboss.tools.cdi.seam.core.international.el.CDIInternationalMessagesELResolver;
-import org.jboss.tools.common.el.core.resolver.ELContext;
-import org.jboss.tools.common.el.core.resolver.ELResolver;
-import org.jboss.tools.common.text.TextProposal;
-import org.jboss.tools.common.text.ext.util.Utils;
-import org.jboss.tools.common.util.FileUtil;
-import org.jboss.tools.jst.jsp.test.TestUtil;
-import org.jboss.tools.jst.jsp.test.ca.ContentAssistantTestCase;
-import org.jboss.tools.jst.web.kb.PageContextFactory;
-import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
-import org.jboss.tools.test.util.JobUtils;
-import org.osgi.framework.Bundle;
-
-/**
- * @author Alexey Kazakov
- * @author Victor Rubezhny
- */
-public class SeamResourceBundlesTest extends TCKTest {
- protected static final String SEAM_INTERNATIONAL_LIB_SUFFIX =
"/seam-international.jar";
- protected static final String SEAM_INTERNATIONAL_PAGE_SUFFIX =
"/seam-international.xhtml";
- protected static final String DEFAULT_RESOURCE_BUNDLE_SUFFIX =
"/messages.properties";
- protected static final String DE_RESOURCE_BUNDLE_SUFFIX =
"/messages_de.properties";
- protected static final String RESOURCES_SUFFIX = "/resources";
-
- protected static String LIB_SUFFIX = "/lib";
-
- private ContentAssistantTestCase caTest = new ContentAssistantTestCase();
- private static final String PAGE_NAME =
"WebContent/seam-international.xhtml";
- private String[] resourceBundleNames = new String[] {"bundles.messages"};
- private String[] defaultResourceBundleNameProperties = new String[]
{"bundles.messages.home_header", "bundles.messages.home_body",
"bundles.messages.home_note"};
- private String[] germanResourceBundleNameProperties = new String[]
{"bundles.messages.de_home_header", "bundles.messages.de_home_body",
"bundles.messages.de_home_note"};
- private String[] textDefaultResourceBundleNameProperties = new String[]
{"home_header", "home_body", "home_note"};
- private String[] textGermanResourceBundleNameProperties = new String[]
{"de_home_header", "de_home_body", "de_home_note"};
-
- boolean bReadyForTesting = false;
- String errMessage = null;
-
- public SeamResourceBundlesTest () {
- super();
-
- boolean setupOK = true;
- // Set up seam-international.jar library into the project's WEB-INF/lib folder
- try {
- setupOK = setUpSeamInternationalLibraryAndResourceBundle();
- if (!setupOK)
- errMessage = "Cannot set up SEAM International module and resource bundles into
a test project";
- } catch (Exception e) {
- setupOK = false;
- errMessage = "Cannot set up SEAM International module and resource bundles into a
test project: "
- + e.getLocalizedMessage();
- }
-
- if (!setupOK)
- return;
-
- // Test that seam-international module is successfully installed on the CDI project
- setupOK = CDICorePlugin.getCDI(tckProject, true).getExtensionManager()
- .isCDIExtensionAvailable(CDISeamCorePlugin.CDI_INTERNATIONAL_RUNTIME_EXTENTION);
- if (!setupOK)
- errMessage = "SEAM International module is not installed or incorrectly
installed";
-
- bReadyForTesting = setupOK;
- }
-
-
- /**
- * The method checks if CDIInternationalMessagesELResolver present among the EL
Resolvers,
- * then if the required resolver found uses it to retrieve and test proposals for bundle
and their properties
- */
- public void testCDIInternationalMessages () {
- assertTrue(errMessage, bReadyForTesting);
-
- IFile page = tckProject.getFile(PAGE_NAME);
- assertTrue("Test page not found: " + PAGE_NAME, (page != null &&
page.exists()));
- ELContext elContext = PageContextFactory.createPageContext(page);
-
- ELResolver[] elResolvers = elContext.getElResolvers();
- ELResolver cdiInternationalModuleResolver = null;
- if (elResolvers != null) {
- for (ELResolver r : elResolvers) {
- if (r instanceof CDIInternationalMessagesELResolver) {
- cdiInternationalModuleResolver = r;
- break;
- }
- }
- }
- assertNotNull("Seam International module resolver is not set up on the
project", cdiInternationalModuleResolver);
-
- List<TextProposal> bundleProposals =
cdiInternationalModuleResolver.getProposals(elContext, "value=\"#{", 1);
- assertTrue("Seam International module resolver didn't return proposals for
bundles",
- (bundleProposals != null && bundleProposals.size() > 0));
- proposalsExist(bundleProposals, resourceBundleNames);
-
- List<TextProposal> bundlePropertyProposals =
cdiInternationalModuleResolver.getProposals(elContext,
"value=\"#{bundles.messages.", 1);
- assertTrue("Seam International module resolver didn't return proposals for
bundles",
- (bundlePropertyProposals != null && bundlePropertyProposals.size() > 0));
- proposalsExist(bundlePropertyProposals, textDefaultResourceBundleNameProperties);
- proposalsExist(bundlePropertyProposals, textGermanResourceBundleNameProperties);
- }
-
- public void proposalsExist(List<TextProposal> res, String[] proposals) {
- TextProposal[] result = res.toArray(new TextProposal[res.size()]);
- for (int i = 0; i < proposals.length; i++) {
- boolean found = compareTextProposal(proposals[i], result);
- assertTrue("Proposal " + proposals[i] + " not found!",
found ); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- public boolean compareTextProposal(String proposal, TextProposal[] proposals){
- for (int i = 0; i < proposals.length; i++) {
- String replacementString = proposals[i].getReplacementString().toLowerCase();
- if (replacementString.equalsIgnoreCase(proposal)) return true;
- // For an attribute value proposal there will be the quote characters
-
- replacementString = Utils.trimQuotes(replacementString);
- if (replacementString.equalsIgnoreCase(proposal)) return true;
-
- }
- return false;
- }
-
- /**
- * The method tests CA on CDI Seam International Module Resource Bundles
- */
- public void testResourceBundles() {
- assertTrue(errMessage, bReadyForTesting);
-
- // Perform CA test
- caTest.checkProposals(PAGE_NAME, "value=\"#{", 9, resourceBundleNames,
false);
- caTest.checkProposals(PAGE_NAME, "value=\"#{bundles.messages.", 26,
defaultResourceBundleNameProperties, false);
- caTest.checkProposals(PAGE_NAME, "value=\"#{bundles.messages.", 26,
germanResourceBundleNameProperties, false);
-
- }
-
- private boolean setUpSeamInternationalLibraryAndResourceBundle() throws Exception {
- Bundle b = Platform.getBundle(CDISeamCoreAllTests.PLUGIN_ID);
- String projectPath = tckProject.getLocation().toOSString();
- String resourcePath = FileLocator.resolve(b.getEntry(RESOURCES_SUFFIX)).getFile();
-
- File seamInternationalLibFrom = new File(resourcePath +
SEAM_INTERNATIONAL_LIB_SUFFIX);
- File seamInternationalLibTo = new File(projectPath + WEB_CONTENT_SUFFIX +
WEB_INF_SUFFIX
- + LIB_SUFFIX + SEAM_INTERNATIONAL_LIB_SUFFIX);
- if (!FileUtil.copyFile(seamInternationalLibFrom, seamInternationalLibTo))
- return false;
-
- File defaultResourceBundleFrom = new File(resourcePath +
DEFAULT_RESOURCE_BUNDLE_SUFFIX);
- File defaultResourceBundleTo = new File(projectPath + JAVA_SOURCE_SUFFIX +
DEFAULT_RESOURCE_BUNDLE_SUFFIX);
- if (!FileUtil.copyFile(defaultResourceBundleFrom, defaultResourceBundleTo))
- return false;
-
- File germanResourceBundleFrom = new File(resourcePath + DE_RESOURCE_BUNDLE_SUFFIX);
- File germanResourceBundleTo = new File(projectPath + JAVA_SOURCE_SUFFIX +
DE_RESOURCE_BUNDLE_SUFFIX);
- if (!FileUtil.copyFile(germanResourceBundleFrom, germanResourceBundleTo))
- return false;
-
- File seamInternationalPageFrom = new File(resourcePath +
SEAM_INTERNATIONAL_PAGE_SUFFIX);
- File seamInternationalPageTo = new File(projectPath + WEB_CONTENT_SUFFIX
- + SEAM_INTERNATIONAL_PAGE_SUFFIX);
- if (!FileUtil.copyFile(seamInternationalPageFrom, seamInternationalPageTo))
- return false;
-
- ValidatorManager.setStatus(ValidatorManager.RUNNING);
- tckProject.refreshLocal(IResource.DEPTH_INFINITE, null);
- JobUtils.waitForIdle();
- tckProject.build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
- JobUtils.waitForIdle();
- tckProject.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
- TestUtil.waitForValidation();
-
- caTest.setProject(tckProject);
- return true;
- }
-}
\ No newline at end of file
Copied:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/BundleModelTest.java
(from rev 33276,
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/BundleModelTest.java)
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/BundleModelTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/BundleModelTest.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,37 @@
+package org.jboss.tools.cdi.seam.core.test.international;
+
+import java.util.Set;
+
+import org.jboss.tools.cdi.core.test.tck.TCKTest;
+import org.jboss.tools.cdi.seam.core.international.BundleModelFactory;
+import org.jboss.tools.cdi.seam.core.international.IBundle;
+import org.jboss.tools.cdi.seam.core.international.IBundleModel;
+import org.jboss.tools.cdi.seam.core.international.ILocalizedValue;
+import org.jboss.tools.cdi.seam.core.international.IProperty;
+
+public class BundleModelTest extends TCKTest {
+
+ public void testBundleModel() throws Exception {
+ IBundleModel bundleModel = BundleModelFactory.getBundleModel(tckProject);
+ assertNotNull(bundleModel);
+
+ Set<String> bundles = bundleModel.getAllAvailableBundles();
+ assertTrue(bundles.contains("messages"));
+
+ IBundle bundle = bundleModel.getBundle("messages");
+ assertNotNull(bundle);
+
+ IProperty property = bundle.getProperty("home_header1");
+ assertNotNull(property);
+
+ ILocalizedValue value = property.getValue("de");
+ assertNotNull(value);
+ assertEquals("Über dieses Beispiel-Anwendung", value.getValue());
+
+ value = property.getValue();
+ assertNotNull(value);
+ assertEquals("About this example application", value.getValue());
+
+ }
+
+}
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/BundleModelTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Copied:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/SeamResourceBundlesTest.java
(from rev 33276,
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/SeamResourceBundlesTest.java)
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/SeamResourceBundlesTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/SeamResourceBundlesTest.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,197 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.seam.core.test.international;
+
+import java.io.File;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.test.tck.TCKTest;
+import org.jboss.tools.cdi.seam.core.CDISeamCorePlugin;
+import
org.jboss.tools.cdi.seam.core.international.el.CDIInternationalMessagesELResolver;
+import org.jboss.tools.cdi.seam.core.test.CDISeamCoreAllTests;
+import org.jboss.tools.common.el.core.resolver.ELContext;
+import org.jboss.tools.common.el.core.resolver.ELResolver;
+import org.jboss.tools.common.text.TextProposal;
+import org.jboss.tools.common.text.ext.util.Utils;
+import org.jboss.tools.common.util.FileUtil;
+import org.jboss.tools.jst.jsp.test.TestUtil;
+import org.jboss.tools.jst.jsp.test.ca.ContentAssistantTestCase;
+import org.jboss.tools.jst.web.kb.PageContextFactory;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
+import org.jboss.tools.test.util.JobUtils;
+import org.osgi.framework.Bundle;
+
+/**
+ * @author Victor Rubezhny
+ */
+public class SeamResourceBundlesTest extends TCKTest {
+ protected static final String SEAM_INTERNATIONAL_LIB_SUFFIX =
"/seam-international.jar";
+ protected static final String SEAM_INTERNATIONAL_PAGE_SUFFIX =
"/seam-international.xhtml";
+ protected static final String DEFAULT_RESOURCE_BUNDLE_SUFFIX =
"/messages.properties";
+ protected static final String DE_RESOURCE_BUNDLE_SUFFIX =
"/messages_de.properties";
+ protected static final String RESOURCES_SUFFIX = "/resources";
+
+ protected static String LIB_SUFFIX = "/lib";
+
+ private ContentAssistantTestCase caTest = new ContentAssistantTestCase();
+ private static final String PAGE_NAME =
"WebContent/seam-international.xhtml";
+ private String[] resourceBundleNames = new String[] {"bundles.messages"};
+ private String[] defaultResourceBundleNameProperties = new String[]
{"bundles.messages.home_header", "bundles.messages.home_body",
"bundles.messages.home_note"};
+ private String[] germanResourceBundleNameProperties = new String[]
{"bundles.messages.de_home_header", "bundles.messages.de_home_body",
"bundles.messages.de_home_note"};
+ private String[] textDefaultResourceBundleNameProperties = new String[]
{"home_header", "home_body", "home_note"};
+ private String[] textGermanResourceBundleNameProperties = new String[]
{"de_home_header", "de_home_body", "de_home_note"};
+
+ boolean bReadyForTesting = false;
+ String errMessage = null;
+
+ public SeamResourceBundlesTest () {
+ super();
+
+ boolean setupOK = true;
+ // Set up seam-international.jar library into the project's WEB-INF/lib folder
+ try {
+ setupOK = setUpSeamInternationalLibraryAndResourceBundle();
+ if (!setupOK)
+ errMessage = "Cannot set up SEAM International module and resource bundles into
a test project";
+ } catch (Exception e) {
+ setupOK = false;
+ errMessage = "Cannot set up SEAM International module and resource bundles into a
test project: "
+ + e.getLocalizedMessage();
+ }
+
+ if (!setupOK)
+ return;
+
+ // Test that seam-international module is successfully installed on the CDI project
+ setupOK = CDICorePlugin.getCDI(tckProject, true).getExtensionManager()
+ .isCDIExtensionAvailable(CDISeamCorePlugin.CDI_INTERNATIONAL_RUNTIME_EXTENTION);
+ if (!setupOK)
+ errMessage = "SEAM International module is not installed or incorrectly
installed";
+
+ bReadyForTesting = setupOK;
+ }
+
+
+ /**
+ * The method checks if CDIInternationalMessagesELResolver present among the EL
Resolvers,
+ * then if the required resolver found uses it to retrieve and test proposals for bundle
and their properties
+ */
+ public void testCDIInternationalMessages () {
+ assertTrue(errMessage, bReadyForTesting);
+
+ IFile page = tckProject.getFile(PAGE_NAME);
+ assertTrue("Test page not found: " + PAGE_NAME, (page != null &&
page.exists()));
+ ELContext elContext = PageContextFactory.createPageContext(page);
+
+ ELResolver[] elResolvers = elContext.getElResolvers();
+ ELResolver cdiInternationalModuleResolver = null;
+ if (elResolvers != null) {
+ for (ELResolver r : elResolvers) {
+ if (r instanceof CDIInternationalMessagesELResolver) {
+ cdiInternationalModuleResolver = r;
+ break;
+ }
+ }
+ }
+ assertNotNull("Seam International module resolver is not set up on the
project", cdiInternationalModuleResolver);
+
+ List<TextProposal> bundleProposals =
cdiInternationalModuleResolver.getProposals(elContext, "value=\"#{", 1);
+ assertTrue("Seam International module resolver didn't return proposals for
bundles",
+ (bundleProposals != null && bundleProposals.size() > 0));
+ proposalsExist(bundleProposals, resourceBundleNames);
+
+ List<TextProposal> bundlePropertyProposals =
cdiInternationalModuleResolver.getProposals(elContext,
"value=\"#{bundles.messages.", 1);
+ assertTrue("Seam International module resolver didn't return proposals for
bundles",
+ (bundlePropertyProposals != null && bundlePropertyProposals.size() > 0));
+ proposalsExist(bundlePropertyProposals, textDefaultResourceBundleNameProperties);
+ proposalsExist(bundlePropertyProposals, textGermanResourceBundleNameProperties);
+ }
+
+ public void proposalsExist(List<TextProposal> res, String[] proposals) {
+ TextProposal[] result = res.toArray(new TextProposal[res.size()]);
+ for (int i = 0; i < proposals.length; i++) {
+ boolean found = compareTextProposal(proposals[i], result);
+ assertTrue("Proposal " + proposals[i] + " not found!",
found ); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ public boolean compareTextProposal(String proposal, TextProposal[] proposals){
+ for (int i = 0; i < proposals.length; i++) {
+ String replacementString = proposals[i].getReplacementString().toLowerCase();
+ if (replacementString.equalsIgnoreCase(proposal)) return true;
+ // For an attribute value proposal there will be the quote characters
+
+ replacementString = Utils.trimQuotes(replacementString);
+ if (replacementString.equalsIgnoreCase(proposal)) return true;
+
+ }
+ return false;
+ }
+
+ /**
+ * The method tests CA on CDI Seam International Module Resource Bundles
+ */
+ public void testResourceBundles() {
+ assertTrue(errMessage, bReadyForTesting);
+
+ // Perform CA test
+ caTest.checkProposals(PAGE_NAME, "value=\"#{", 9, resourceBundleNames,
false);
+ caTest.checkProposals(PAGE_NAME, "value=\"#{bundles.messages.", 26,
defaultResourceBundleNameProperties, false);
+ caTest.checkProposals(PAGE_NAME, "value=\"#{bundles.messages.", 26,
germanResourceBundleNameProperties, false);
+
+ }
+
+ private boolean setUpSeamInternationalLibraryAndResourceBundle() throws Exception {
+ Bundle b = Platform.getBundle(CDISeamCoreAllTests.PLUGIN_ID);
+ String projectPath = tckProject.getLocation().toOSString();
+ String resourcePath = FileLocator.resolve(b.getEntry(RESOURCES_SUFFIX)).getFile();
+
+ File seamInternationalLibFrom = new File(resourcePath +
SEAM_INTERNATIONAL_LIB_SUFFIX);
+ File seamInternationalLibTo = new File(projectPath + WEB_CONTENT_SUFFIX +
WEB_INF_SUFFIX
+ + LIB_SUFFIX + SEAM_INTERNATIONAL_LIB_SUFFIX);
+ if (!FileUtil.copyFile(seamInternationalLibFrom, seamInternationalLibTo))
+ return false;
+
+ File defaultResourceBundleFrom = new File(resourcePath +
DEFAULT_RESOURCE_BUNDLE_SUFFIX);
+ File defaultResourceBundleTo = new File(projectPath + JAVA_SOURCE_SUFFIX +
DEFAULT_RESOURCE_BUNDLE_SUFFIX);
+ if (!FileUtil.copyFile(defaultResourceBundleFrom, defaultResourceBundleTo))
+ return false;
+
+ File germanResourceBundleFrom = new File(resourcePath + DE_RESOURCE_BUNDLE_SUFFIX);
+ File germanResourceBundleTo = new File(projectPath + JAVA_SOURCE_SUFFIX +
DE_RESOURCE_BUNDLE_SUFFIX);
+ if (!FileUtil.copyFile(germanResourceBundleFrom, germanResourceBundleTo))
+ return false;
+
+ File seamInternationalPageFrom = new File(resourcePath +
SEAM_INTERNATIONAL_PAGE_SUFFIX);
+ File seamInternationalPageTo = new File(projectPath + WEB_CONTENT_SUFFIX
+ + SEAM_INTERNATIONAL_PAGE_SUFFIX);
+ if (!FileUtil.copyFile(seamInternationalPageFrom, seamInternationalPageTo))
+ return false;
+
+ ValidatorManager.setStatus(ValidatorManager.RUNNING);
+ tckProject.refreshLocal(IResource.DEPTH_INFINITE, null);
+ JobUtils.waitForIdle();
+ tckProject.build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ tckProject.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
+ TestUtil.waitForValidation();
+
+ caTest.setProject(tckProject);
+ return true;
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/international/SeamResourceBundlesTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/servlet/SeamServletValidationTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/servlet/SeamServletValidationTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/servlet/SeamServletValidationTest.java 2011-07-28
04:41:31 UTC (rev 33294)
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.seam.core.test.servlet;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.jboss.tools.cdi.internal.core.validation.CDIValidationMessages;
+import org.jboss.tools.cdi.seam.core.test.SeamCoreTestSetup;
+import org.jboss.tools.jst.jsp.test.TestUtil;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
+import org.jboss.tools.test.util.ResourcesUtils;
+import org.jboss.tools.tests.AbstractResourceMarkerTest;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class SeamServletValidationTest extends TestCase {
+
+ protected IProject project;
+
+ public IProject getTestProject() throws IOException, CoreException,
InvocationTargetException, InterruptedException {
+ if(project==null) {
+ ValidatorManager.setStatus("INIT");
+ project =
ResourcesPlugin.getWorkspace().getRoot().getProject(SeamCoreTestSetup.PROJECT_NAME);
+ if(!project.exists()) {
+ project = ResourcesUtils.importProject(SeamCoreTestSetup.PLUGIN_ID,
SeamCoreTestSetup.PROJECT_PATH);
+ }
+ TestUtil.waitForValidation();
+ }
+ return project;
+ }
+
+ /**
+ * CDI validator should ignore injection points annotated
@RequestParam/@HeaderParam/@CookieParam
+ * See
https://issues.jboss.org/browse/JBIDE-9389
+ * @throws Exception
+ */
+ public void testInjectionValidationForField() throws Exception {
+ IFile file =
getTestProject().getFile("src/org/jboss/tools/seam/servlet/validation/test/Validation.java");
+ for (int i = 12; i < 30; i++) {
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, i);
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, i);
+ }
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, 40, 42);
+ AbstractResourceMarkerTest.assertMarkerIsCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, 41, 43);
+ }
+
+ /**
+ * CDI validator should ignore injection points annotated
@RequestParam/@HeaderParam/@CookieParam
+ * See
https://issues.jboss.org/browse/JBIDE-9389
+ * @throws Exception
+ */
+ public void testInjectionValidationForParam() throws Exception {
+ IFile file =
getTestProject().getFile("src/org/jboss/tools/seam/servlet/validation/test/Validation.java");
+ for (int i = 30; i < 39; i++) {
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.AMBIGUOUS_INJECTION_POINTS, i);
+ AbstractResourceMarkerTest.assertMarkerIsNotCreated(file,
CDIValidationMessages.UNSATISFIED_INJECTION_POINTS, i);
+ }
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.seam.core.test/src/org/jboss/tools/cdi/seam/core/test/servlet/SeamServletValidationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain