JBoss Tools SVN: r30631 - trunk/documentation/guides/GettingStartedGuide/en-US.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2011-04-18 00:15:56 -0400 (Mon, 18 Apr 2011)
New Revision: 30631
Modified:
trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml
Log:
updated with automated installation info for JBDS
Modified: trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml 2011-04-17 21:20:45 UTC (rev 30630)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml 2011-04-18 04:15:56 UTC (rev 30631)
@@ -231,13 +231,104 @@
</section>
</section>
- <section id="Installing_JBoss_Developer_Studio">
+ <section id="Installing_JBoss_Developer_Studio" condition="jbds">
<?dbhtml filename="InstallingRHDS.html"?>
<title>JBoss Developer Studio Installation</title>
<para>
This chapter will provide you with detailed information on how to install <property>JBoss Developer Studio</property>.
</para>
-
+ <section id="Installing_JBoss_Developer_Studio-Automated_Installation">
+ <title>Automated Installation</title>
+ <para>
+ Parameters for automated installation are defined in the <filename>InstallConfigRecord.xml</filename> file. Defined in this file is the path to the installation folder, the packages to be installed and the shortcuts to be created.
+ </para>
+ <para>
+ Within the <filename>InstallConfigRecord.xml</filename> file are three parameters that can be modified for specific installation options:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <property>AutomatedInstallation/com.jboss.jbds.installer.PathInputPanel/installpath</property>: Installation folder
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <property>AutomatedInstallation/com.jboss.jbds.installer.JBossAsSelectPanel/installgroup</property>: Software components to be installed
+ </para>
+ <para>
+ Options:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ jbds: JBoss Developer Studio only installation
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ jbosseap: JBoss Developer Studio with JBoss Enterprise Application Platform
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ <listitem>
+ <para>
+ <property>com.izforge.izpack.panels.ShortcutPanel</property>: Shortcut menu for installation
+ </para>
+ </listitem>
+ </itemizedlist>
+ <note>
+ <para>
+ If you change the installation folder path, you must update the <property>com.izforge.izpack.panels.ShortcutPanel</property> parameter to reflect the new path.
+ </para>
+ </note>
+ <para>
+ Once you have configured the <filename>InstallConfigRecord.xml</filename> file for your needs, the following command can be run on the command line to begin installation:
+ </para>
+<programlisting>
+java -jar /path/to/installer.jar /path/to/InstallConfigRecord.xml
+</programlisting>
+ <formalpara>
+ <title>Current limitations</title>
+ <para>
+ The following limitations currently exist when using the automated method of installation:
+ </para>
+ </formalpara>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Desktop shortcuts are not supported.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Creation of shoortcuts for all users on a system has not been tested.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Automated installation does not check if the specified installation path already exists. If the path does exist, any files will be overwritten without notice.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The Java Virtual Manchine to be used with JBoss Developer Studio is automatically chosen and cannot be specified.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ No verification exists to ensure the installer you are using is correct for your platform.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <warning>
+ <para>
+ Automated installation does not check if the specified installation path already exists. If the path does exist, any files will be overwritten without notice.
+ </para>
+ </warning>
+ </section>
+ <section id="Installing_JBoss_Developer_Studio-Manual_Installation">
+ <title>Manual Installation</title>
<para>
JBoss Developer Studio comes with a simple installer, bundled with tested and preconfigured versions of Eclipse, WTP, JBossEAP, Seam, and SpringIDE. The following steps show you how to install JBoss Developer Studio:
</para>
@@ -491,6 +582,7 @@
</imageobject>
</mediaobject>
</figure>
+</section>
</section>
<section id="tech_previews">
14 years, 12 months
JBoss Tools SVN: r30630 - trunk/jst/plugins/org.jboss.tools.jst.jsp.
by jbosstools-commits@lists.jboss.org
Author: yradtsevich
Date: 2011-04-17 17:20:45 -0400 (Sun, 17 Apr 2011)
New Revision: 30630
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml
Log:
https://issues.jboss.org/browse/JBIDE-8686: ClassNotFoundExceptions when opening XHTML with VPE.
- the references to the comment handlers were removed
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml 2011-04-17 18:12:52 UTC (rev 30629)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/plugin.xml 2011-04-17 21:20:45 UTC (rev 30630)
@@ -295,31 +295,6 @@
</extension>
<extension
point="org.eclipse.ui.menus">
- <menuContribution locationURI="menu:sourceMenuId?after=sourceBegin">
- <command commandId="org.eclipse.wst.sse.ui.toggle.comment"
- id="ToggleComment"
- mnemonic="%command.toggle.comment.mnemonic">
- <visibleWhen checkEnabled="false">
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </visibleWhen>
- </command>
- <command commandId="org.eclipse.wst.sse.ui.add.block.comment"
- id="AddBlockComment"
- mnemonic="%command.add.block.comment.mnemonic"
- style="push">
- <visibleWhen checkEnabled="false">
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </visibleWhen>
- </command>
- <command commandId="org.eclipse.wst.sse.ui.remove.block.comment"
- id="RemoveBlockComment"
- mnemonic="%command.remove.block.comment.mnemonic"
- style="push">
- <visibleWhen checkEnabled="false">
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </visibleWhen>
- </command>
- </menuContribution>
<menuContribution
locationURI="menu:navigate?endof=show.ext">
<command label="%Toggle.Selection.Bar"
@@ -462,36 +437,6 @@
<extension
point="org.eclipse.ui.handlers">
<handler
- class="org.eclipse.wst.xml.ui.internal.handlers.ToggleCommentHandler"
- commandId="org.eclipse.wst.sse.ui.toggle.comment">
- <activeWhen>
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </activeWhen>
- <enabledWhen>
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </enabledWhen>
- </handler>
- <handler
- class="org.eclipse.wst.xml.ui.internal.handlers.AddBlockCommentHandler"
- commandId="org.eclipse.wst.sse.ui.add.block.comment">
- <activeWhen>
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </activeWhen>
- <enabledWhen>
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </enabledWhen>
- </handler>
- <handler
- class="org.eclipse.wst.xml.ui.internal.handlers.RemoveBlockCommentHandler"
- commandId="org.eclipse.wst.sse.ui.remove.block.comment">
- <activeWhen>
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </activeWhen>
- <enabledWhen>
- <reference definitionId="org.jboss.tools.ui.structuredEditor"/>
- </enabledWhen>
- </handler>
- <handler
class="org.eclipse.jst.jsp.ui.internal.handlers.JSPFindOccurrencesHandler"
commandId="org.eclipse.wst.sse.ui.search.find.occurrences">
<activeWhen>
@@ -1106,4 +1051,30 @@
parentId="org.eclipse.ui.contexts.window">
</context>
</extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.wst.jsp.ui.jspSourceContributions.definition">
+ <with variable="activeContexts">
+ <iterate operator="or">
+ <equals value="org.eclipse.jst.jsp.core.jspsource"/>
+ </iterate>
+ </with>
+ </definition>
+ </extension>
+
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="menu:refactorMenuId">
+ <separator name="jspRefactorBegin" visible="false"></separator>
+ <command commandId="org.eclipse.jst.jsp.ui.refactor.rename" id="RenameElement" label="%command.jsp.refactor.rename.name" style="push">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.wst.jsp.ui.jspSourceContributions.definition"></reference>
+ </visibleWhen>
+ </command>
+ <command commandId="org.eclipse.jst.jsp.ui.refactor.move" id="MoveElement" label="%command.jsp.refactor.move.name" style="push">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.wst.jsp.ui.jspSourceContributions.definition"></reference>
+ </visibleWhen>
+ </command>
+ <separator name="jspRefactorBegin" visible="false"></separator>
+ </menuContribution>
+ </extension>
</plugin>
14 years, 12 months
JBoss Tools SVN: r30628 - in trunk/cdi: tests/org.jboss.tools.cdi.ui.test/META-INF and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2011-04-15 21:16:25 -0400 (Fri, 15 Apr 2011)
New Revision: 30628
Added:
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.ui/META-INF/MANIFEST.MF
trunk/cdi/tests/org.jboss.tools.cdi.ui.test/META-INF/MANIFEST.MF
Log:
https://issues.jboss.org/browse/JBIDE-8705
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.ui/META-INF/MANIFEST.MF 2011-04-16 01:12:25 UTC (rev 30627)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.ui/META-INF/MANIFEST.MF 2011-04-16 01:16:25 UTC (rev 30628)
@@ -40,4 +40,5 @@
org.jboss.tools.cdi.ui.ca,
org.jboss.tools.cdi.ui.marker,
org.jboss.tools.cdi.ui.preferences,
+ org.jboss.tools.cdi.ui.search,
org.jboss.tools.cdi.ui.wizard
Modified: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/META-INF/MANIFEST.MF 2011-04-16 01:12:25 UTC (rev 30627)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/META-INF/MANIFEST.MF 2011-04-16 01:16:25 UTC (rev 30628)
@@ -23,5 +23,6 @@
org.eclipse.jdt.ui,
org.eclipse.ui.ide,
org.jboss.tools.jst.jsp.base.test,
- org.eclipse.ltk.core.refactoring
+ org.eclipse.ltk.core.refactoring,
+ org.eclipse.search;bundle-version="3.7.0"
Export-Package: org.jboss.tools.cdi.ui.test
Added: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java 2011-04-16 01:16:25 UTC (rev 30628)
@@ -0,0 +1,126 @@
+package org.jboss.tools.cdi.ui.test.search;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.search.IJavaSearchConstants;
+import org.eclipse.jdt.core.search.IJavaSearchScope;
+import org.eclipse.jdt.internal.ui.search.JavaSearchScopeFactory;
+import org.eclipse.jdt.ui.search.ElementQuerySpecification;
+import org.eclipse.jdt.ui.search.IQueryParticipant;
+import org.eclipse.jdt.ui.search.ISearchRequestor;
+import org.eclipse.jdt.ui.search.QuerySpecification;
+import org.eclipse.search.ui.text.Match;
+import org.jboss.tools.cdi.core.test.tck.TCKTest;
+import org.jboss.tools.cdi.ui.marker.MarkerResolutionUtils;
+import org.jboss.tools.cdi.ui.search.CDIMatch;
+import org.jboss.tools.common.EclipseUtil;
+
+public class CDISearchParticipantTest extends TCKTest {
+ private static final int FIELD_SEARCH = 1;
+ private static final int METHOD_SEARCH = 2;
+ private static final int TYPE_SEARCH = 3;
+ private static final int PARAMETER_SEARCH = 4;
+
+ private void testSearchParticipant(IFile file, int searchType, String elementName, String parameterName, IQueryParticipant participant, List<MatchStructure> matches){
+ try{
+ ICompilationUnit compilationUnit = EclipseUtil.getCompilationUnit(file);
+ IJavaElement element = null;
+
+ IType type = compilationUnit.findPrimaryType();
+
+ if(searchType == FIELD_SEARCH){
+ element = type.getField(elementName);
+ }else if(searchType == METHOD_SEARCH){
+ element = type.getMethod(elementName, new String[]{});
+ }else if(searchType == TYPE_SEARCH){
+ element = type;
+ }else if(searchType == PARAMETER_SEARCH){
+ IMethod method = type.getMethod(elementName, new String[]{});
+ element = MarkerResolutionUtils.getParameter(method, parameterName);
+ }
+
+ if(element != null){
+ CDISearchRequestor requestor = new CDISearchRequestor();
+
+ JavaSearchScopeFactory factory= JavaSearchScopeFactory.getInstance();
+ IJavaSearchScope scope= factory.createWorkspaceScope(true);
+ String description= factory.getWorkspaceScopeDescription(true);
+ QuerySpecification specification = new ElementQuerySpecification(element, IJavaSearchConstants.REFERENCES, scope, description);
+
+ participant.search(requestor, specification, new NullProgressMonitor());
+
+ List<Match> matchesForCheck = requestor.getMatches();
+
+ checkMatches(matchesForCheck, matches);
+ }else
+ fail("Java Element not found");
+ }catch(CoreException ex){
+ fail("Core exception");
+ }
+ }
+
+ private void checkMatches(List<Match> matchesForCheck, List<MatchStructure> matchList) throws CoreException {
+ assertEquals("There is unexpected number of matches",matchList.size(), matchesForCheck.size());
+
+ for(Match match : matchesForCheck){
+ assertTrue("Match must be CDIMatch", match instanceof CDIMatch);
+ MatchStructure ms = findMatch(matchList, (CDIMatch)match);
+ assertNotNull("Match not found", ms);
+ ms.checked = true;
+ }
+
+ for(MatchStructure ms : matchList){
+ assertTrue("Not all matches found", ms.checked);
+ }
+ }
+
+ protected MatchStructure findMatch(List<MatchStructure> matchList, CDIMatch match){
+ for(MatchStructure ms : matchList){
+ if(!ms.checked && ms.type.equals(match.getCDIElement().getClass()) && ms.name.equals(match.getLabel()))
+ return ms;
+ }
+ return null;
+ }
+
+
+ class CDISearchRequestor implements ISearchRequestor{
+ ArrayList<Match> matches = new ArrayList<Match>();
+
+ public void reportMatch(Match match){
+ matches.add(match);
+ }
+
+ public List<Match> getMatches(){
+ return matches;
+ }
+ }
+
+ class MatchStructure{
+ String type; // CDIElement.getClass()
+ String name; // label
+ boolean checked;
+
+ public MatchStructure(String type, String name){
+ this.type = type;
+ this.name = name;
+ checked = false;
+ }
+ }
+
+ public void testInjectionPointQueryParticipant(){
+
+ //testSearchParticipant();
+ }
+
+ public void testCDIBeanQueryParticipant(){
+
+ }
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.ui.test/src/org/jboss/tools/cdi/ui/test/search/CDISearchParticipantTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 12 months
JBoss Tools SVN: r30627 - in trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core: src/org/jboss/tools/cdi/seam/solder/core and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-04-15 21:12:25 -0400 (Fri, 15 Apr 2011)
New Revision: 30627
Added:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderDefaultBeanExtension.java
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java
trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java
Log:
JBIDE-8716
https://issues.jboss.org/browse/JBIDE-8716
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml 2011-04-16 01:11:58 UTC (rev 30626)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/plugin.xml 2011-04-16 01:12:25 UTC (rev 30627)
@@ -7,6 +7,7 @@
class="org.jboss.tools.cdi.seam.solder.core.CDISeamSolderCoreExtension"
runtime="org.jboss.seam.solder.core.CoreExtension">
</cdiextension>
+
<cdiextension
class="org.jboss.tools.cdi.seam.solder.core.CDISeamSolderLoggerExtension"
runtime="org.jboss.seam.solder.logging.TypedMessageLoggerExtension">
@@ -16,5 +17,10 @@
class="org.jboss.tools.cdi.seam.solder.core.CDISeamSolderServiceHandlerExtension"
runtime="org.jboss.seam.solder.serviceHandler.ServiceHandlerExtension">
</cdiextension>
+
+ <cdiextension
+ class="org.jboss.tools.cdi.seam.solder.core.CDISeamSolderDefaultBeanExtension"
+ runtime="org.jboss.seam.solder.bean.defaultbean.DefaultBeanExtension">
+ </cdiextension>
</extension>
</plugin>
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java 2011-04-16 01:11:58 UTC (rev 30626)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderConstants.java 2011-04-16 01:12:25 UTC (rev 30627)
@@ -14,4 +14,5 @@
public String SERVICE_HANDLER_TYPE_ANNOTATION_TYPE_NAME = "org.jboss.seam.solder.serviceHandler.ServiceHandlerType";
public String SERVICE_ANNOTATION_KIND = "serviceAnnotation";
+ public String DEFAULT_BEAN_ANNOTATION_TYPE_NAME = "org.jboss.seam.solder.bean.defaultbean.DefaultBean";
}
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java 2011-04-16 01:11:58 UTC (rev 30626)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderCoreExtension.java 2011-04-16 01:12:25 UTC (rev 30627)
@@ -1,6 +1,15 @@
+/*******************************************************************************
+ * 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.solder.core;
-
import java.beans.Introspector;
import java.util.ArrayList;
import java.util.HashSet;
@@ -10,12 +19,9 @@
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IMemberValuePair;
import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.SourceRange;
-import org.eclipse.jdt.internal.core.MemberValuePair;
import org.jboss.tools.cdi.core.CDIConstants;
import org.jboss.tools.cdi.core.IAnnotated;
import org.jboss.tools.cdi.core.IAnnotationDeclaration;
-import org.jboss.tools.cdi.core.IDefinitionContext;
import org.jboss.tools.cdi.core.IRootDefinitionContext;
import org.jboss.tools.cdi.core.extension.ICDIExtension;
import org.jboss.tools.cdi.core.extension.feature.IProcessAnnotatedTypeFeature;
@@ -25,7 +31,6 @@
import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.AbstractTypeDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.AnnotationDefinition;
-import org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext;
import org.jboss.tools.cdi.internal.core.impl.definition.FieldDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.MethodDefinition;
import org.jboss.tools.cdi.internal.core.impl.definition.PackageDefinition;
@@ -35,6 +40,18 @@
import org.jboss.tools.common.util.BeanUtil;
import org.jboss.tools.common.util.EclipseJavaUtil;
+/**
+ * Implements support for org.jboss.seam.solder.core.CoreExtension
+ *
+ * For @Veto and @Requires marks bean definition as vetoed.
+ *
+ * For @FullyQualified and @Named on packages, adds fake @Named to bean
+ *
+ * For @Exact marks parameter or field type as overridden.
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
public class CDISeamSolderCoreExtension implements ICDIExtension, IProcessAnnotatedTypeFeature {
public Object getAdapter(Class adapter) {
@@ -148,10 +165,9 @@
}
if(beanName != null) {
- IMemberValuePair[] pairs = new IMemberValuePair[]{new MemberValuePair("value", beanName, IMemberValuePair.K_STRING)};
AnnotationDefinition n = context.getAnnotation(CDIConstants.NAMED_QUALIFIER_TYPE_NAME);
if(n != null) {
- AnnotationLiteral l = new AnnotationLiteral(d.getResource(), "", new SourceRange(0, 0), pairs, n.getType());
+ AnnotationLiteral l = new AnnotationLiteral(d.getResource(), 0, 0, beanName, IMemberValuePair.K_STRING, n.getType());
if(named != null) d.removeAnnotation(named);
d.addAnnotation(l, context);
}
Added: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderDefaultBeanExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderDefaultBeanExtension.java (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderDefaultBeanExtension.java 2011-04-16 01:12:25 UTC (rev 30627)
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * 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.solder.core;
+
+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.IType;
+import org.eclipse.jdt.core.JavaModelException;
+import org.jboss.tools.cdi.core.CDIConstants;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IAnnotationDeclaration;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IJavaAnnotation;
+import org.jboss.tools.cdi.core.IProducer;
+import org.jboss.tools.cdi.core.IRootDefinitionContext;
+import org.jboss.tools.cdi.core.extension.ICDIExtension;
+import org.jboss.tools.cdi.core.extension.feature.IAmbiguousBeanResolverFeature;
+import org.jboss.tools.cdi.core.extension.feature.IProcessAnnotatedTypeFeature;
+import org.jboss.tools.cdi.internal.core.impl.AnnotationLiteral;
+import org.jboss.tools.cdi.internal.core.impl.definition.AbstractMemberDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.FieldDefinition;
+import org.jboss.tools.cdi.internal.core.impl.definition.MethodDefinition;
+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;
+
+/**
+ * Implements support for org.jboss.seam.solder.bean.defaultbean.DefaultBeanExtension.
+ *
+ * In processing annotated type adds to each bean definition, which is a default bean,
+ * faked @Typed annotation with type set by @DefaultBean.
+ *
+ * In resolving ambiguous beans removes default beans out of the result set if it
+ * contains at least one non-default bean;
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class CDISeamSolderDefaultBeanExtension implements ICDIExtension, IProcessAnnotatedTypeFeature, IAmbiguousBeanResolverFeature {
+
+ public Object getAdapter(Class adapter) {
+ return null;
+ }
+
+ public void processAnnotatedType(TypeDefinition typeDefinition, IRootDefinitionContext context) {
+ boolean defaultBean = typeDefinition.isAnnotationPresent(CDISeamSolderConstants.DEFAULT_BEAN_ANNOTATION_TYPE_NAME);
+ IJavaAnnotation beanTyped = null;
+ if(defaultBean) {
+ beanTyped = createFakeTypedAnnotation(typeDefinition, context);
+ if(beanTyped != null) {
+ typeDefinition.addAnnotation(beanTyped, context);
+ }
+ }
+ List<MethodDefinition> ms = typeDefinition.getMethods();
+ for (MethodDefinition m: ms) {
+ if(m.isAnnotationPresent(CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME)) {
+ if(defaultBean || m.isAnnotationPresent(CDISeamSolderConstants.DEFAULT_BEAN_ANNOTATION_TYPE_NAME)) {
+ IJavaAnnotation methodTyped = createFakeTypedAnnotation(m, context);
+ if(methodTyped != null) {
+ m.addAnnotation(methodTyped, context);
+ }
+ }
+ }
+ }
+ List<FieldDefinition> fs = typeDefinition.getFields();
+ for (FieldDefinition f: fs) {
+ if(f.isAnnotationPresent(CDIConstants.PRODUCES_ANNOTATION_TYPE_NAME)) {
+ if(defaultBean || f.isAnnotationPresent(CDISeamSolderConstants.DEFAULT_BEAN_ANNOTATION_TYPE_NAME)) {
+ IJavaAnnotation fieldTyped = createFakeTypedAnnotation(f, context);
+ if(fieldTyped != null) {
+ f.addAnnotation(fieldTyped, context);
+ }
+ }
+ }
+ }
+ }
+
+ IJavaAnnotation createFakeTypedAnnotation(AbstractMemberDefinition def, IRootDefinitionContext context) {
+ IAnnotationDeclaration a = def.getAnnotation(CDISeamSolderConstants.DEFAULT_BEAN_ANNOTATION_TYPE_NAME);
+ if(a == null) return null;
+ Object n = a.getMemberValue(null);
+ String defaultType = null;
+ if(n != null && n.toString().length() > 0) {
+ IJavaProject jp = EclipseResourceUtil.getJavaProject(context.getProject().getProject());
+ IType typedAnnotation = null;
+ try {
+ typedAnnotation = EclipseJavaUtil.findType(jp, CDIConstants.TYPED_ANNOTATION_TYPE_NAME);
+ } catch (JavaModelException e) {
+ CDICorePlugin.getDefault().logError(e);
+ return null;
+ }
+ defaultType = n.toString();
+ return new AnnotationLiteral(def.getResource(), a.getStartPosition(), a.getLength(), defaultType, IMemberValuePair.K_CLASS, typedAnnotation);
+ }
+ return null;
+
+ }
+
+ public Set<IBean> getResolvedBeans(Set<IBean> result) {
+ Set<IBean> defaultBeans = new HashSet<IBean>();
+ for (IBean b: result) {
+ if(b.getAnnotation(CDISeamSolderConstants.DEFAULT_BEAN_ANNOTATION_TYPE_NAME) != null) {
+ defaultBeans.add(b);
+ } else if(b instanceof IProducer) {
+ IProducer producer = (IProducer)b;
+ IClassBean parent = producer.getClassBean();
+ if(parent != null && parent.getAnnotation(CDISeamSolderConstants.DEFAULT_BEAN_ANNOTATION_TYPE_NAME) != null) {
+ defaultBeans.add(b);
+ }
+ }
+ }
+ if(!defaultBeans.isEmpty() && defaultBeans.size() < result.size()) {
+ result.removeAll(defaultBeans);
+ }
+ return result;
+ }
+
+}
Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderDefaultBeanExtension.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java 2011-04-16 01:11:58 UTC (rev 30626)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.solder.core/src/org/jboss/tools/cdi/seam/solder/core/CDISeamSolderServiceHandlerExtension.java 2011-04-16 01:12:25 UTC (rev 30627)
@@ -35,7 +35,14 @@
import org.jboss.tools.common.model.XModelObject;
/**
+ * Implements support for org.jboss.seam.solder.serviceHandler.ServiceHandlerExtension.
*
+ * During building definitions
+ * 1) participates in recognizing annotations type annotated with @ServiceHandlerType and stores them;
+ * 2) builds and stores definitions annotated with those annotation types.
+ *
+ * During building beans creates beans of stored definitions.
+ *
* @author Viacheslav Kabanovich
*
*/
14 years, 12 months
JBoss Tools SVN: r30626 - trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-04-15 21:11:58 -0400 (Fri, 15 Apr 2011)
New Revision: 30626
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java
Log:
JBIDE-8716
https://issues.jboss.org/browse/JBIDE-8716
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java 2011-04-16 01:10:52 UTC (rev 30625)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/impl/AnnotationLiteral.java 2011-04-16 01:11:58 UTC (rev 30626)
@@ -15,6 +15,8 @@
import org.eclipse.jdt.core.IMemberValuePair;
import org.eclipse.jdt.core.ISourceRange;
import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.SourceRange;
+import org.eclipse.jdt.internal.core.MemberValuePair;
import org.jboss.tools.cdi.core.IJavaAnnotation;
public class AnnotationLiteral implements IJavaAnnotation {
@@ -33,6 +35,17 @@
this.annotationType = annotationType;
}
+ public AnnotationLiteral(IResource declaringResource, int offset, int length, Object value, int valueType, IType annotationType) {
+ this.declaringResource = declaringResource;
+ this.range = new SourceRange(offset, length);
+ if(value != null) {
+ this.memberValues = new IMemberValuePair[]{
+ new MemberValuePair("value", value, valueType)
+ };
+ }
+ this.annotationType = annotationType;
+ }
+
public int getStartPosition() {
return range == null ? -1 : range.getOffset();
}
14 years, 12 months
JBoss Tools SVN: r30625 - in trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test: projects/CDISolderTest/src/org/jboss/defaultbean and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2011-04-15 21:10:52 -0400 (Fri, 15 Apr 2011)
New Revision: 30625
Added:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Big.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Cozy.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Home.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Huge.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/KingsHome.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyDefaultHome.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyNewHome.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Palace.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Small.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Town.java
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/CDISeamSolderCoreAllTests.java
Log:
JBIDE-8716
https://issues.jboss.org/browse/JBIDE-8716
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Big.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Big.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Big.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,21 @@
+package org.jboss.defaultbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface Big {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Big.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Cozy.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Cozy.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Cozy.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,21 @@
+package org.jboss.defaultbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface Cozy {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Cozy.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Home.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Home.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Home.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,5 @@
+package org.jboss.defaultbean;
+
+public interface Home {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Home.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Huge.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Huge.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Huge.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,21 @@
+package org.jboss.defaultbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface Huge {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Huge.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/KingsHome.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/KingsHome.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/KingsHome.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,24 @@
+package org.jboss.defaultbean;
+
+import javax.enterprise.inject.Produces;
+
+import org.jboss.seam.solder.bean.defaultbean.DefaultBean;
+
+public class KingsHome implements Home {
+
+ @Produces
+ @Big
+ @DefaultBean(Home.class)
+ KingsHome getDefault() {
+ return this;
+ }
+
+ @Produces
+ @Huge
+ @DefaultBean(Home.class)
+ KingsHome getExclusive() {
+ return this;
+ }
+
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/KingsHome.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyDefaultHome.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyDefaultHome.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyDefaultHome.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,18 @@
+package org.jboss.defaultbean;
+
+import javax.enterprise.inject.Produces;
+
+import org.jboss.seam.solder.bean.defaultbean.DefaultBean;
+
+(a)DefaultBean(Home.class)
+@Small
+public class MyDefaultHome implements Home {
+
+ @Produces
+ @Cozy
+ Home cozy = new MyDefaultHome();
+
+ @Produces
+ Home old = new MyDefaultHome();
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyDefaultHome.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyNewHome.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyNewHome.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyNewHome.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,6 @@
+package org.jboss.defaultbean;
+
+@Cozy
+public class MyNewHome implements Home {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/MyNewHome.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Palace.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Palace.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Palace.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,6 @@
+package org.jboss.defaultbean;
+
+@Huge
+public class Palace implements Home {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Palace.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Small.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Small.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Small.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,21 @@
+package org.jboss.defaultbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+@Qualifier
+@Target({ TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+public @interface Small {
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Small.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Town.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Town.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Town.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,26 @@
+package org.jboss.defaultbean;
+
+import javax.inject.Inject;
+
+public class Town {
+
+ @Inject
+ @Small
+ Home small;
+
+ @Inject
+ @Big
+ Home big;
+
+ @Inject
+ @Huge
+ Home huge;
+
+ @Inject
+ @Cozy
+ Home cozy;
+
+ @Inject
+ Home ruins;
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/projects/CDISolderTest/src/org/jboss/defaultbean/Town.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/CDISeamSolderCoreAllTests.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/CDISeamSolderCoreAllTests.java 2011-04-16 01:07:34 UTC (rev 30624)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/CDISeamSolderCoreAllTests.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -30,6 +30,7 @@
suiteAll.addTestSuite(ExactTest.class);
suiteAll.addTestSuite(MessageLoggerTest.class);
suiteAll.addTestSuite(ServiceHandlerTest.class);
+ suiteAll.addTestSuite(DefaultBeanTest.class);
SeamSolderTestSetup suite = new SeamSolderTestSetup(suiteAll);
Added: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java 2011-04-16 01:10:52 UTC (rev 30625)
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * 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.solder.core.test;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IMember;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
+import org.jboss.tools.cdi.core.CDICorePlugin;
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.ICDIProject;
+import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IInjectionPointField;
+import org.jboss.tools.cdi.core.IProducerField;
+import org.jboss.tools.cdi.core.IProducerMethod;
+
+/**
+ *
+ * @author Viacheslav Kabanovich
+ *
+ */
+public class DefaultBeanTest extends SeamSolderTest {
+
+ public DefaultBeanTest() {}
+
+ public void testDefaultBeanTest() throws CoreException {
+ ICDIProject cdi = CDICorePlugin.getCDIProject(project, true);
+
+ // 1. For injection point with qualifier @Small, the only eligible bean is
+ // default class bean with qualifier @Small
+ IInjectionPointField injection = getInjectionPointField(cdi, "src/org/jboss/defaultbean/Town.java", "small");
+
+ Set<IBean> bs = cdi.getBeans(false, injection);
+ assertEquals(1, bs.size());
+ IBean b = bs.iterator().next();
+ assertTrue(b instanceof IClassBean);
+ IType t = b.getBeanClass();
+ assertNotNull(t);
+ assertEquals("org.jboss.defaultbean.MyDefaultHome", t.getFullyQualifiedName());
+ bs = cdi.getBeans(true, injection);
+ assertEquals(1, bs.size());
+ assertTrue(bs.contains(b));
+
+ // 2. For injection point with qualifier @Big, the only eligible bean is
+ // default producer bean method with qualifier @Big
+ injection = getInjectionPointField(cdi, "src/org/jboss/defaultbean/Town.java", "big");
+
+ bs = cdi.getBeans(false, injection);
+ assertEquals(1, bs.size());
+ b = bs.iterator().next();
+ assertTrue(b instanceof IProducerMethod);
+ IMethod m = ((IProducerMethod)b).getMethod();
+ assertNotNull(m);
+ assertEquals("getDefault", m.getElementName());
+ bs = cdi.getBeans(true, injection);
+ assertEquals(1, bs.size());
+ assertTrue(bs.contains(b));
+
+ // 3. For injection point with qualifier @Huge, two beans are eligible
+ // a) Default producer method bean with qualifier @Huge,
+ // b) one more bean with qualifier @Huge
+ // default bean is filtered out at resolving beans.
+ injection = getInjectionPointField(cdi, "src/org/jboss/defaultbean/Town.java", "huge");
+
+ bs = cdi.getBeans(false, injection);
+ assertEquals(2, bs.size());
+ Iterator<IBean> it = bs.iterator();
+ b = null;
+ while(!(b instanceof IProducerMethod) && it.hasNext()) {
+ b = it.next();
+ };
+ assertTrue(b instanceof IProducerMethod);
+ m = ((IProducerMethod)b).getMethod();
+ assertNotNull(m);
+ assertEquals("getExclusive", m.getElementName());
+ bs = cdi.getBeans(true, injection);
+ assertEquals(1, bs.size());
+ assertTrue(!bs.contains(b));
+
+ // 4. For injection point with qualifier @Cozy, two beans are eligible
+ // a) Default producer field bean has qualifier @Cozy, producer inherits @DefaultBean from parent class;
+ // b) One more bean with qualifier @Cozy.
+ // default bean is filtered out at resolving beans.
+ injection = getInjectionPointField(cdi, "src/org/jboss/defaultbean/Town.java", "cozy");
+
+ bs = cdi.getBeans(false, injection);
+ assertEquals(2, bs.size());
+ it = bs.iterator();
+ b = null;
+ while(!(b instanceof IProducerField) && it.hasNext()) {
+ b = it.next();
+ };
+ assertTrue(b instanceof IProducerField);
+ IField f = ((IProducerField)b).getField();
+ assertNotNull(f);
+ assertEquals("cozy", f.getElementName());
+ bs = cdi.getBeans(true, injection);
+ assertEquals(1, bs.size());
+ assertTrue(!bs.contains(b));
+
+ // 5. For injection point without qualifier (= with @Default), two beans are eligible
+ // a) Default producer field bean without qualifier, producer inherits @DefaultBean from parent class;
+ // b) One more bean without qualifier.
+ // default bean is filtered out at resolving beans.
+ injection = getInjectionPointField(cdi, "src/org/jboss/defaultbean/Town.java", "ruins");
+
+ bs = cdi.getBeans(false, injection);
+ assertEquals(2, bs.size());
+ it = bs.iterator();
+ b = null;
+ while(!(b instanceof IProducerField) && it.hasNext()) {
+ b = it.next();
+ }
+ assertTrue(b instanceof IProducerField);
+ f = ((IProducerField)b).getField();
+ assertNotNull(f);
+ assertEquals("old", f.getElementName());
+ bs = cdi.getBeans(true, injection);
+ assertEquals(1, bs.size());
+ assertTrue(!bs.contains(b));
+
+ }
+
+}
Property changes on: trunk/cdi/tests/org.jboss.tools.cdi.seam.solder.core.test/src/org/jboss/tools/cdi/seam/solder/core/test/DefaultBeanTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 12 months
JBoss Tools SVN: r30624 - in trunk/jst/tests/org.jboss.tools.jst.web.kb.test: META-INF and 6 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2011-04-15 21:07:34 -0400 (Fri, 15 Apr 2011)
New Revision: 30624
Added:
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java
Modified:
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties
trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java
Log:
https://issues.jboss.org/browse/JBIDE-8726
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2011-04-16 00:59:09 UTC (rev 30623)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2011-04-16 01:07:34 UTC (rev 30624)
@@ -1,8 +1,9 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.jboss.tools.jst.web.kb.test
-Bundle-Version: 3.2.0.qualifier
+Bundle-SymbolicName: org.jboss.tools.jst.web.kb.test;singleton:=true
+Bundle-Localization: plugin
+Bundle-Version: 3.3.0.qualifier
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources,
@@ -12,8 +13,10 @@
org.jboss.tools.common.el.core,
org.jboss.tools.common.model.test,
org.jboss.tools.common,
- org.eclipse.jst.standard.schemas
+ org.eclipse.jst.standard.schemas,
+ org.eclipse.wst.validation
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %Bundle-Vendor.0
-Export-Package: org.jboss.tools.jst.web.kb.test
+Export-Package: org.jboss.tools.jst.web.kb.test,
+ org.jboss.tools.jst.web.kb.test.validation
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties 2011-04-16 00:59:09 UTC (rev 30623)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties 2011-04-16 01:07:34 UTC (rev 30624)
@@ -2,7 +2,8 @@
bin.includes = META-INF/,\
projects/,\
.,\
- plugin.properties
+ plugin.properties,\
+ plugin.xml
src.includes = src/,\
projects/,\
build.properties,\
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+ <extension
+ point="org.jboss.tools.jst.web.kb.validator">
+ <validator
+ class="org.jboss.tools.jst.web.kb.test.validation.TestValidator"
+ id="org.jboss.tools.jst.web.kb.test.TestValidator"
+ dependent="true">
+ </validator>
+ </extension>
+
+</plugin>
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,6 @@
+<?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="output" path="bin"/>
+</classpath>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>KBValidationTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ </natures>
+</projectDescription>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,12 @@
+#Thu Apr 14 12:03:49 PDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test></test>
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java 2011-04-16 00:59:09 UTC (rev 30623)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java 2011-04-16 01:07:34 UTC (rev 30624)
@@ -14,6 +14,7 @@
import junit.framework.TestSuite;
import org.jboss.tools.common.model.util.test.XProjectImportTestSetUp;
+import org.jboss.tools.jst.web.kb.test.validation.KBValidationTest;
import org.jboss.tools.test.util.ProjectImportTestSetup;
/**
@@ -32,6 +33,9 @@
"org.jboss.tools.jst.web.kb.test",
new String[]{"projects/TestKbModel", "projects/MyFaces", "projects/MyFaces2", "projects/TestKbModel2"},
new String[]{"TestKbModel", "MyFaces", "MyFaces2", "TestKbModel2"});
- return testSetup;
+ TestSuite suiteAll = new TestSuite("KB Tests");
+ suiteAll.addTest(testSetup);
+ suiteAll.addTestSuite(KBValidationTest.class);
+ return suiteAll;
}
}
\ No newline at end of file
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,120 @@
+package org.jboss.tools.jst.web.kb.test.validation;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidationResourceRegister;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
+import org.jboss.tools.jst.web.kb.validation.IValidationContextManager;
+import org.jboss.tools.jst.web.kb.validation.IValidator;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+import org.osgi.framework.Bundle;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class KBValidationTest extends TestCase {
+
+ protected static String PLUGIN_ID = "org.jboss.tools.jst.web.kb.test";
+ protected static String PROJECT_NAME = "KBValidationTest";
+ protected static String PROJECT_PATH = "/projects/KBValidationTest";
+
+ private IProject importProject() throws IOException, CoreException, InvocationTargetException, InterruptedException {
+ Bundle b = Platform.getBundle(PLUGIN_ID);
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(project==null || !project.exists()) {
+ project = ResourcesUtils.importProject(b, PROJECT_PATH);
+ }
+ project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ return project;
+ }
+
+ private void deleteProject() throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(project!=null && project.exists()) {
+ project.delete(true, new NullProgressMonitor());
+ }
+ JobUtils.waitForIdle();
+ }
+
+ public void testValidationContextCleanedUpIntegration() throws IOException, CoreException, InvocationTargetException, InterruptedException {
+ try {
+ TestValidator.validated = false;
+ importProject();
+ assertTrue(TestValidator.validated);
+ deleteProject();
+ TestValidator.validated = false;
+ importProject();
+ assertTrue(TestValidator.validated);
+ } finally {
+ deleteProject();
+ }
+ }
+
+ public void testValidationContextCleanedUpUnit() {
+ ContextValidationHelper helper = new ContextValidationHelper();
+ helper.setValidationContextManager(new IValidationContextManager() {
+ public IValidatingProjectTree getValidatingProjectTree(
+ IValidator validator) {
+ return null;
+ }
+ public void addProject(IProject project) {
+ }
+ public void clearAll() {
+ }
+ public void clearRegisteredFiles() {
+ }
+ public void clearAllResourceLinks() {
+ }
+ public Set<IFile> getRemovedFiles() {
+ return null;
+ }
+ public void addRemovedFile(IFile file) {
+ }
+ public Set<IFile> getRegisteredFiles() {
+ return null;
+ }
+ public void registerFile(IFile file) {
+ }
+ public List<IValidator> getValidators() {
+ return null;
+ }
+ public Set<IProject> getRootProjects() {
+ return null;
+ }
+ public void addValidatedProject(IValidator validator,
+ IProject project) {
+ }
+ public boolean projectHasBeenValidated(IValidator validator,
+ IProject project) {
+ return false;
+ }
+ public void clearValidatedProjectsList() {
+ }
+ public void setValidationResourceRegister(
+ ValidationResourceRegister validationResourceRegister) {
+ }
+ public void init(IProject project) {
+ }
+ public boolean isObsolete() {
+ return false;
+ }
+ });
+ helper.cleanup();
+ assertNull(helper.getValidationContextManager(false));
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java 2011-04-16 01:07:34 UTC (rev 30624)
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * 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.jst.web.kb.test.validation;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.validation.internal.core.ValidationException;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.jboss.tools.jst.web.kb.IKbProject;
+import org.jboss.tools.jst.web.kb.KbProjectFactory;
+import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
+import org.jboss.tools.jst.web.kb.internal.validation.SimpleValidatingProjectTree;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatingProjectSet;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
+import org.jboss.tools.jst.web.kb.validation.IProjectValidationContext;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectSet;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
+import org.jboss.tools.jst.web.kb.validation.IValidator;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class TestValidator implements IValidator {
+
+ public static boolean validated = false;
+
+ protected IStatus OK_STATUS = new Status(IStatus.OK,
+ "org.eclipse.wst.validation", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#getId()
+ */
+ public String getId() {
+ return "org.jboss.tools.jst.web.kb.test.TestValidator";
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#getValidatingProjects(org.eclipse.core.resources.IProject)
+ */
+ public IValidatingProjectTree getValidatingProjects(IProject project) {
+ Set<IProject> projects = new HashSet<IProject>();
+ projects.add(project);
+ IKbProject kbProject = KbProjectFactory.getKbProject(project, false);
+ if(kbProject!=null) {
+ IProjectValidationContext rootContext = kbProject.getValidationContext();
+ IValidatingProjectSet projectSet = new ValidatingProjectSet(project, projects, rootContext);
+ return new SimpleValidatingProjectTree(projectSet);
+ }
+ return new SimpleValidatingProjectTree(project);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#shouldValidate(org.eclipse.core.resources.IProject)
+ */
+ public boolean shouldValidate(IProject project) {
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#isEnabled(org.eclipse.core.resources.IProject)
+ */
+ public boolean isEnabled(IProject project) {
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#validate(java.util.Set, org.eclipse.core.resources.IProject, org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper, org.jboss.tools.jst.web.kb.validation.IProjectValidationContext, org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager, org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ public IStatus validate(Set<IFile> changedFiles, IProject project,
+ ContextValidationHelper validationHelper,
+ IProjectValidationContext validationContext,
+ ValidatorManager manager, IReporter reporter)
+ throws ValidationException {
+ return OK_STATUS;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#validateAll(org.eclipse.core.resources.IProject, org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper, org.jboss.tools.jst.web.kb.validation.IProjectValidationContext, org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager, org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ public IStatus validateAll(IProject project,
+ ContextValidationHelper validationHelper,
+ IProjectValidationContext validationContext,
+ ValidatorManager manager, IReporter reporter)
+ throws ValidationException {
+ validated = true;
+ return OK_STATUS;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 12 months
JBoss Tools SVN: r30623 - in branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test: META-INF and 6 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2011-04-15 20:59:09 -0400 (Fri, 15 Apr 2011)
New Revision: 30623
Added:
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java
Modified:
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties
branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java
Log:
https://issues.jboss.org/browse/JBIDE-8726
Modified: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2011-04-16 00:58:08 UTC (rev 30622)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/META-INF/MANIFEST.MF 2011-04-16 00:59:09 UTC (rev 30623)
@@ -1,7 +1,8 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.jboss.tools.jst.web.kb.test
+Bundle-SymbolicName: org.jboss.tools.jst.web.kb.test;singleton:=true
+Bundle-Localization: plugin
Bundle-Version: 3.2.0.qualifier
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
@@ -12,8 +13,10 @@
org.jboss.tools.common.el.core,
org.jboss.tools.common.model.test,
org.jboss.tools.common,
- org.eclipse.jst.standard.schemas
+ org.eclipse.jst.standard.schemas,
+ org.eclipse.wst.validation
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: %Bundle-Vendor.0
-Export-Package: org.jboss.tools.jst.web.kb.test
+Export-Package: org.jboss.tools.jst.web.kb.test,
+ org.jboss.tools.jst.web.kb.test.validation
Modified: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties 2011-04-16 00:58:08 UTC (rev 30622)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/build.properties 2011-04-16 00:59:09 UTC (rev 30623)
@@ -2,7 +2,8 @@
bin.includes = META-INF/,\
projects/,\
.,\
- plugin.properties
+ plugin.properties,\
+ plugin.xml
src.includes = src/,\
projects/,\
build.properties,\
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+ <extension
+ point="org.jboss.tools.jst.web.kb.validator">
+ <validator
+ class="org.jboss.tools.jst.web.kb.test.validation.TestValidator"
+ id="org.jboss.tools.jst.web.kb.test.TestValidator"
+ dependent="true">
+ </validator>
+ </extension>
+
+</plugin>
\ No newline at end of file
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/plugin.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,6 @@
+<?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="output" path="bin"/>
+</classpath>
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>KBValidationTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.jboss.tools.jst.web.kb.kbnature</nature>
+ </natures>
+</projectDescription>
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,12 @@
+#Thu Apr 14 12:03:49 PDT 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test></test>
\ No newline at end of file
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/projects/KBValidationTest/src/test.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java 2011-04-16 00:58:08 UTC (rev 30622)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/JstWebKbAllTests.java 2011-04-16 00:59:09 UTC (rev 30623)
@@ -14,6 +14,7 @@
import junit.framework.TestSuite;
import org.jboss.tools.common.model.util.test.XProjectImportTestSetUp;
+import org.jboss.tools.jst.web.kb.test.validation.KBValidationTest;
import org.jboss.tools.test.util.ProjectImportTestSetup;
/**
@@ -32,6 +33,9 @@
"org.jboss.tools.jst.web.kb.test",
new String[]{"projects/TestKbModel", "projects/MyFaces", "projects/MyFaces2", "projects/TestKbModel2"},
new String[]{"TestKbModel", "MyFaces", "MyFaces2", "TestKbModel2"});
- return testSetup;
+ TestSuite suiteAll = new TestSuite("KB Tests");
+ suiteAll.addTest(testSetup);
+ suiteAll.addTestSuite(KBValidationTest.class);
+ return suiteAll;
}
}
\ No newline at end of file
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,120 @@
+package org.jboss.tools.jst.web.kb.test.validation;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidationResourceRegister;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
+import org.jboss.tools.jst.web.kb.validation.IValidationContextManager;
+import org.jboss.tools.jst.web.kb.validation.IValidator;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+import org.osgi.framework.Bundle;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class KBValidationTest extends TestCase {
+
+ protected static String PLUGIN_ID = "org.jboss.tools.jst.web.kb.test";
+ protected static String PROJECT_NAME = "KBValidationTest";
+ protected static String PROJECT_PATH = "/projects/KBValidationTest";
+
+ private IProject importProject() throws IOException, CoreException, InvocationTargetException, InterruptedException {
+ Bundle b = Platform.getBundle(PLUGIN_ID);
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(project==null || !project.exists()) {
+ project = ResourcesUtils.importProject(b, PROJECT_PATH);
+ }
+ project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ return project;
+ }
+
+ private void deleteProject() throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ if(project!=null && project.exists()) {
+ project.delete(true, new NullProgressMonitor());
+ }
+ JobUtils.waitForIdle();
+ }
+
+ public void testValidationContextCleanedUpIntegration() throws IOException, CoreException, InvocationTargetException, InterruptedException {
+ try {
+ TestValidator.validated = false;
+ importProject();
+ assertTrue(TestValidator.validated);
+ deleteProject();
+ TestValidator.validated = false;
+ importProject();
+ assertTrue(TestValidator.validated);
+ } finally {
+ deleteProject();
+ }
+ }
+
+ public void testValidationContextCleanedUpUnit() {
+ ContextValidationHelper helper = new ContextValidationHelper();
+ helper.setValidationContextManager(new IValidationContextManager() {
+ public IValidatingProjectTree getValidatingProjectTree(
+ IValidator validator) {
+ return null;
+ }
+ public void addProject(IProject project) {
+ }
+ public void clearAll() {
+ }
+ public void clearRegisteredFiles() {
+ }
+ public void clearAllResourceLinks() {
+ }
+ public Set<IFile> getRemovedFiles() {
+ return null;
+ }
+ public void addRemovedFile(IFile file) {
+ }
+ public Set<IFile> getRegisteredFiles() {
+ return null;
+ }
+ public void registerFile(IFile file) {
+ }
+ public List<IValidator> getValidators() {
+ return null;
+ }
+ public Set<IProject> getRootProjects() {
+ return null;
+ }
+ public void addValidatedProject(IValidator validator,
+ IProject project) {
+ }
+ public boolean projectHasBeenValidated(IValidator validator,
+ IProject project) {
+ return false;
+ }
+ public void clearValidatedProjectsList() {
+ }
+ public void setValidationResourceRegister(
+ ValidationResourceRegister validationResourceRegister) {
+ }
+ public void init(IProject project) {
+ }
+ public boolean isObsolete() {
+ return false;
+ }
+ });
+ helper.cleanup();
+ assertNull(helper.getValidationContextManager(false));
+ }
+}
\ No newline at end of file
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/KBValidationTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java
===================================================================
--- branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java (rev 0)
+++ branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java 2011-04-16 00:59:09 UTC (rev 30623)
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * 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.jst.web.kb.test.validation;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.wst.validation.internal.core.ValidationException;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.jboss.tools.jst.web.kb.IKbProject;
+import org.jboss.tools.jst.web.kb.KbProjectFactory;
+import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
+import org.jboss.tools.jst.web.kb.internal.validation.SimpleValidatingProjectTree;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatingProjectSet;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager;
+import org.jboss.tools.jst.web.kb.validation.IProjectValidationContext;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectSet;
+import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
+import org.jboss.tools.jst.web.kb.validation.IValidator;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class TestValidator implements IValidator {
+
+ public static boolean validated = false;
+
+ protected IStatus OK_STATUS = new Status(IStatus.OK,
+ "org.eclipse.wst.validation", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#getId()
+ */
+ public String getId() {
+ return "org.jboss.tools.jst.web.kb.test.TestValidator";
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#getValidatingProjects(org.eclipse.core.resources.IProject)
+ */
+ public IValidatingProjectTree getValidatingProjects(IProject project) {
+ Set<IProject> projects = new HashSet<IProject>();
+ projects.add(project);
+ IKbProject kbProject = KbProjectFactory.getKbProject(project, false);
+ if(kbProject!=null) {
+ IProjectValidationContext rootContext = kbProject.getValidationContext();
+ IValidatingProjectSet projectSet = new ValidatingProjectSet(project, projects, rootContext);
+ return new SimpleValidatingProjectTree(projectSet);
+ }
+ return new SimpleValidatingProjectTree(project);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#shouldValidate(org.eclipse.core.resources.IProject)
+ */
+ public boolean shouldValidate(IProject project) {
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#isEnabled(org.eclipse.core.resources.IProject)
+ */
+ public boolean isEnabled(IProject project) {
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#validate(java.util.Set, org.eclipse.core.resources.IProject, org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper, org.jboss.tools.jst.web.kb.validation.IProjectValidationContext, org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager, org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ public IStatus validate(Set<IFile> changedFiles, IProject project,
+ ContextValidationHelper validationHelper,
+ IProjectValidationContext validationContext,
+ ValidatorManager manager, IReporter reporter)
+ throws ValidationException {
+ return OK_STATUS;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidator#validateAll(org.eclipse.core.resources.IProject, org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper, org.jboss.tools.jst.web.kb.validation.IProjectValidationContext, org.jboss.tools.jst.web.kb.internal.validation.ValidatorManager, org.eclipse.wst.validation.internal.provisional.core.IReporter)
+ */
+ public IStatus validateAll(IProject project,
+ ContextValidationHelper validationHelper,
+ IProjectValidationContext validationContext,
+ ValidatorManager manager, IReporter reporter)
+ throws ValidationException {
+ validated = true;
+ return OK_STATUS;
+ }
+}
\ No newline at end of file
Property changes on: branches/jbosstools-3.2.x/jst/tests/org.jboss.tools.jst.web.kb.test/src/org/jboss/tools/jst/web/kb/test/validation/TestValidator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 12 months
JBoss Tools SVN: r30622 - in trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb: validation and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2011-04-15 20:58:08 -0400 (Fri, 15 Apr 2011)
New Revision: 30622
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ContextValidationHelper.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ELValidator.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/SimpleValidatingProjectTree.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationContext.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationResourceRegister.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatorManager.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/validation/IValidationContextManager.java
Log:
https://issues.jboss.org/browse/JBIDE-8726
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ContextValidationHelper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ContextValidationHelper.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ContextValidationHelper.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -22,6 +22,7 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.ui.editors.text.TextFileDocumentProvider;
import org.eclipse.wst.validation.internal.operations.WorkbenchContext;
+import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
import org.jboss.tools.jst.web.kb.validation.IValidatingProjectTree;
import org.jboss.tools.jst.web.kb.validation.IValidationContextManager;
import org.jboss.tools.jst.web.kb.validation.IValidator;
@@ -41,6 +42,34 @@
*/
@Override
public void initialize() {
+ super.initialize();
+ cleanup();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.wst.validation.internal.operations.WorkbenchContext#deleting()
+ */
+ @Override
+ public void deleting() {
+ super.deleting();
+ cleanup();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.wst.validation.internal.operations.WorkbenchContext#cleanup(org.eclipse.wst.validation.internal.operations.WorkbenchReporter)
+ */
+ @Override
+ public void cleanup(WorkbenchReporter reporter) {
+ super.cleanup(reporter);
+ cleanup();
+ }
+
+ public void cleanup() {
+ if(validationContextManager!=null) {
+ validationContextManager.setValidationResourceRegister(null);
+ }
validationContextManager = null;
}
@@ -54,6 +83,8 @@
IFile file = (IFile)resource;
if(validationContextManager == null) {
validationContextManager = new ValidationContext(file.getProject());
+ } else if(validationContextManager.isObsolete()) {
+ validationContextManager.init(file.getProject()); // https://issues.jboss.org/browse/JBIDE-8726
}
validationContextManager.addProject(file.getProject());
if(!file.exists()) {
@@ -89,7 +120,7 @@
public Set<IFile> getProjectSetRegisteredFiles() {
Set<IFile> result = new HashSet<IFile>();
- Set<IFile> files = validationContextManager.getRegisteredFiles();
+ Set<IFile> files = getValidationContextManager().getRegisteredFiles();
Set<IProject> projects = getAllProjects();
for (IFile file : files) {
if(projects.contains(file.getProject())) {
@@ -110,6 +141,13 @@
}
public IValidationContextManager getValidationContextManager() {
+ return getValidationContextManager(true);
+ }
+
+ public IValidationContextManager getValidationContextManager(boolean initialize) {
+ if(!initialize) {
+ return validationContextManager;
+ }
if(validationContextManager==null) {
validationContextManager = new ValidationContext(getProject());
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ELValidator.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ELValidator.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ELValidator.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -396,6 +396,9 @@
c.setAllVars(vars);
}
+ if(resolution==null) {
+ return;
+ }
if(!resolution.isResolved()) {
Set<String> names = findVariableNames(operandToken);
for (String name : names) {
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/SimpleValidatingProjectTree.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/SimpleValidatingProjectTree.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/SimpleValidatingProjectTree.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -79,7 +79,7 @@
if(project!=null && !validatingProjects.contains(project)) {
Set<IProject> allProjects = new HashSet<IProject>();
allProjects.add(project);
- IValidatingProjectSet brunch = new ValidatingProjectSet(project, allProjects, new ProjectValidationContext());
+ brunch = new ValidatingProjectSet(project, allProjects, new ProjectValidationContext());
brunches.put(brunch.getRootProject(), brunch);
validatingProjects.add(project);
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationContext.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationContext.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationContext.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -44,6 +44,13 @@
private Map<IValidator, Set<IProject>> validatedProjects = new HashMap<IValidator, Set<IProject>>();
public ValidationContext(IProject project) {
+ init(project);
+ }
+
+ public void init(IProject project) {
+ projectTree.clear();
+ validators.clear();
+ validationResourceRegister = null;
if(ALL_VALIDATORS == null) {
// Load all the validators
ALL_VALIDATORS = new ArrayList<IValidator>();
@@ -84,6 +91,14 @@
}
}
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidationContextManager#isObsolete()
+ */
+ public boolean isObsolete() {
+ return validationResourceRegister!=null && validationResourceRegister.isObsolete();
+ }
+
private ValidationResourceRegister getValidationResourceRegister() {
if(validationResourceRegister==null && !projectTree.isEmpty()) {
// Initialize the register
@@ -118,6 +133,15 @@
/*
* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.validation.IValidationContextManager#setValidationResourceRegister(org.jboss.tools.jst.web.kb.internal.validation.ValidationResourceRegister)
+ */
+ public void setValidationResourceRegister(
+ ValidationResourceRegister validationResourceRegister) {
+ this.validationResourceRegister = validationResourceRegister;
+ }
+
+ /*
+ * (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.validation.IValidationContext#getValidators()
*/
public List<IValidator> getValidators() {
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationResourceRegister.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationResourceRegister.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidationResourceRegister.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -21,6 +21,7 @@
public class ValidationResourceRegister {
private Set<IFile> removedFiles = new HashSet<IFile>();
private Set<IFile> registeredResources = new HashSet<IFile>();
+ private boolean obsolete = false;
public void clear() {
synchronized (removedFiles) {
@@ -29,6 +30,7 @@
synchronized (registeredResources) {
registeredResources.clear();
}
+ obsolete = true;
}
public Set<IFile> getRemovedFiles() {
@@ -48,8 +50,16 @@
}
public void registerFile(IFile file) {
+ obsolete = false;
synchronized (registeredResources) {
registeredResources.add(file);
}
}
+
+ /**
+ * @return the obsolete
+ */
+ public boolean isObsolete() {
+ return obsolete;
+ }
}
\ No newline at end of file
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatorManager.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatorManager.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/validation/ValidatorManager.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -90,6 +90,7 @@
if(validationContextManager!=null) {
validationContextManager.clearRegisteredFiles();
}
+ validationHelper.cleanup(); // See https://issues.jboss.org/browse/JBIDE-8726
for (IProject rootProject : rootProjects) {
validatingProjects.remove(rootProject);
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/validation/IValidationContextManager.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/validation/IValidationContextManager.java 2011-04-16 00:50:33 UTC (rev 30621)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/validation/IValidationContextManager.java 2011-04-16 00:58:08 UTC (rev 30622)
@@ -15,6 +15,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.jboss.tools.jst.web.kb.internal.validation.ValidationResourceRegister;
/**
* @author Alexey Kazakov
@@ -39,7 +40,16 @@
void registerFile(IFile file);
+ void init(IProject project);
+
/**
+ * If the context is obsolete then it should be re-initialized.
+ * See https://issues.jboss.org/browse/JBIDE-8726
+ * @return
+ */
+ boolean isObsolete();
+
+ /**
* @return a list of validators which are associated with this context.
*/
List<IValidator> getValidators();
@@ -51,4 +61,6 @@
boolean projectHasBeenValidated(IValidator validator, IProject project);
void clearValidatedProjectsList();
+
+ void setValidationResourceRegister(ValidationResourceRegister validationResourceRegister);
}
\ No newline at end of file
14 years, 12 months