Skip to content

Commit

Permalink
FORGE-1322: versioned CDIFacet now checks for version in descriptor
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi committed Nov 20, 2013
1 parent 8accc8c commit 53028a4
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package org.jboss.forge.addon.javaee.cdi;

import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
Expand All @@ -17,6 +18,7 @@
import org.jboss.forge.addon.dependencies.Dependency;
import org.jboss.forge.addon.dependencies.builder.DependencyBuilder;
import org.jboss.forge.addon.javaee.Descriptors;
import org.jboss.forge.addon.parser.xml.resources.XMLResource;
import org.jboss.forge.addon.projects.dependencies.DependencyInstaller;
import org.jboss.forge.furnace.versions.SingleVersion;
import org.jboss.forge.furnace.versions.Version;
Expand Down Expand Up @@ -59,6 +61,25 @@ public Version getSpecVersion()
return new SingleVersion("1.0");
}

@Override
public boolean isInstalled()
{
// CDI 1.0 doesn't have a version attribute
if (super.isInstalled())
{
XMLResource xmlResource = (XMLResource) getConfigFile();
try
{
return xmlResource.getXmlSource().getAttribute("version") == null;
}
catch (FileNotFoundException e)
{
return true;
}
}
return false;
}

@Override
protected String getDescriptorContent()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,20 @@ protected String getDescriptorContent()
return Descriptors.create(BeansDescriptor.class).beanDiscoveryMode("all").exportAsString();
}

@Override
public boolean isInstalled()
{
return super.isInstalled() && "1.1".equals(getConfig().getVersion());
}

@Override
protected Map<Dependency, List<Dependency>> getRequiredDependencyOptions()
{
Map<Dependency, List<Dependency>> result = new LinkedHashMap<Dependency, List<Dependency>>();

result.put(CDI_API, Arrays.asList(CDI_API));
result.put(JAVAX_ANNOTATION_API, Arrays.asList(JAVAX_ANNOTATION_API, JBOSS_ANNOTATION_API_1_1, JBOSS_ANNOTATION_API_1_2));
result.put(JAVAX_ANNOTATION_API,
Arrays.asList(JAVAX_ANNOTATION_API, JBOSS_ANNOTATION_API_1_1, JBOSS_ANNOTATION_API_1_2));
result.put(JAVAX_INJECT, Arrays.asList(JAVAX_INJECT));
result.put(JAVAX_INTERCEPTOR_API, Arrays.asList(JAVAX_INTERCEPTOR_API));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,24 @@ public void testBeansXMLCreatedWhenInstalled_1_1() throws Exception
assertNotNull(config);
}

@Test
public void testCDIFacet1_1OnlyInProject() throws Exception
{
Project project = projectFactory.createTempProject();
facetFactory.install(project, CDIFacet_1_1.class);
project = projectFactory.findProject(project.getProjectRoot());
Assert.assertTrue(project.hasFacet(CDIFacet_1_1.class));
Assert.assertFalse(project.hasFacet(CDIFacet_1_0.class));
}

@Test
public void testCDIFacet1_0OnlyInProject() throws Exception
{
Project project = projectFactory.createTempProject();
facetFactory.install(project, CDIFacet_1_0.class);
project = projectFactory.findProject(project.getProjectRoot());
Assert.assertFalse(project.hasFacet(CDIFacet_1_1.class));
Assert.assertTrue(project.hasFacet(CDIFacet_1_0.class));
}

}

0 comments on commit 53028a4

Please sign in to comment.