Skip to content

Commit

Permalink
FORGE-2488: Created JMSFacet_2_0 and fixed JTAFacetImpl_2_0 prerequis…
Browse files Browse the repository at this point in the history
…ites
  • Loading branch information
gastaldi committed Sep 25, 2015
1 parent cacbca7 commit 7c6afc7
Show file tree
Hide file tree
Showing 11 changed files with 178 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
* @deprecated use {@link org.jboss.forge.addon.javaee.jms.JMSFacet} instead
*/
@Deprecated
public interface JMSFacet extends JavaEEFacet
{
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.addon.javaee.jms;

/**
* Installs the required JMS libraries
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
*/
public interface JMSFacet extends org.jboss.forge.addon.javaee.facets.JMSFacet
{
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.addon.javaee.jms;

/**
* Installs the required JMS libraries
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
*/
public interface JMSFacet_1_1 extends org.jboss.forge.addon.javaee.jms.JMSFacet
{
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.addon.javaee.jms;

/**
* Installs the required JMS libraries
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
*/
public interface JMSFacet_2_0 extends org.jboss.forge.addon.javaee.jms.JMSFacet
{
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import org.jboss.forge.addon.facets.FacetFactory;
import org.jboss.forge.addon.javaee.ejb.EJBOperations;
import org.jboss.forge.addon.javaee.ejb.JMSDestinationType;
import org.jboss.forge.addon.javaee.facets.JMSFacet;
import org.jboss.forge.addon.javaee.jms.JMSFacet;
import org.jboss.forge.addon.javaee.ui.AbstractJavaEECommand;
import org.jboss.forge.addon.parser.java.resources.JavaResource;
import org.jboss.forge.addon.projects.Project;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,23 @@
import org.jboss.forge.addon.dependencies.Dependency;
import org.jboss.forge.addon.dependencies.builder.DependencyBuilder;
import org.jboss.forge.addon.javaee.AbstractJavaEEFacet;
import org.jboss.forge.addon.javaee.facets.JMSFacet;
import org.jboss.forge.addon.projects.dependencies.DependencyInstaller;
import org.jboss.forge.furnace.versions.SingleVersion;
import org.jboss.forge.furnace.versions.Version;

/**
* Implementation of {@link JMSFacet}
* Implementation of {@link JMSFacet_1_1}
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
*/
public class JMSFacetImpl extends AbstractJavaEEFacet implements JMSFacet
public class JMSFacetImpl_1_1 extends AbstractJavaEEFacet implements JMSFacet_1_1
{
private static final Dependency JBOSS_JMS_API = DependencyBuilder
.create("org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec");

@Inject
public JMSFacetImpl(DependencyInstaller installer)
public JMSFacetImpl_1_1(DependencyInstaller installer)
{
super(installer);
}
Expand All @@ -54,7 +53,7 @@ public Version getSpecVersion()
protected Map<Dependency, List<Dependency>> getRequiredDependencyOptions()
{
Map<Dependency, List<Dependency>> result = new HashMap<>();
result.put(JBOSS_JMS_API, Arrays.asList(JBOSS_JMS_API));
result.put(JBOSS_JMS_API, Arrays.asList(JBOSS_JMS_API, JAVAEE6));
return result;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.addon.javaee.jms;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.inject.Inject;

import org.jboss.forge.addon.dependencies.Dependency;
import org.jboss.forge.addon.dependencies.builder.DependencyBuilder;
import org.jboss.forge.addon.javaee.AbstractJavaEEFacet;
import org.jboss.forge.addon.projects.dependencies.DependencyInstaller;
import org.jboss.forge.furnace.versions.SingleVersion;
import org.jboss.forge.furnace.versions.Version;

/**
* Implementation of {@link JMSFacet_2_0}
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
*/
public class JMSFacetImpl_2_0 extends AbstractJavaEEFacet implements JMSFacet_2_0
{
private static final Dependency JMS_API = DependencyBuilder
.create("javax.jms:javax.jms-api:2.0.1");

@Inject
public JMSFacetImpl_2_0(DependencyInstaller installer)
{
super(installer);
}

@Override
public String getSpecName()
{
return "JMS";
}

@Override
public Version getSpecVersion()
{
return SingleVersion.valueOf("2.0");
}

@Override
protected Map<Dependency, List<Dependency>> getRequiredDependencyOptions()
{
Map<Dependency, List<Dependency>> result = new HashMap<>();
result.put(JMS_API, Arrays.asList(JMS_API, JAVAEE7));
return result;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import org.jboss.forge.addon.facets.FacetFactory;
import org.jboss.forge.addon.facets.constraints.FacetConstraint;
import org.jboss.forge.addon.javaee.facets.JMSFacet;
import org.jboss.forge.addon.javaee.jms.JMSFacet;
import org.jboss.forge.addon.javaee.ui.AbstractJavaEECommand;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.projects.facets.DependencyFacet;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public Version getSpecVersion()
protected Map<Dependency, List<Dependency>> getRequiredDependencyOptions()
{
Map<Dependency, List<Dependency>> result = new HashMap<>();
result.put(JTA_API, Arrays.asList(JTA_API));
result.put(JTA_API, Arrays.asList(JTA_API, JAVAEE7));
return result;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import org.jboss.forge.addon.javaee.ejb.ui.EJBSetClassTransactionAttributeCommand;
import org.jboss.forge.addon.javaee.ejb.ui.EJBSetMethodTransactionAttributeCommand;
import org.jboss.forge.addon.javaee.ejb.ui.NewEJBCommand;
import org.jboss.forge.addon.javaee.facets.JMSFacet;
import org.jboss.forge.addon.javaee.jms.JMSFacet;
import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet;
import org.jboss.forge.addon.parser.java.resources.JavaResource;
import org.jboss.forge.addon.projects.Project;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/**
* Copyright 2013 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/

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

import javax.inject.Inject;

import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.forge.addon.facets.FacetFactory;
import org.jboss.forge.addon.facets.FacetIsAmbiguousException;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.projects.ProjectFactory;
import org.jboss.forge.arquillian.AddonDependencies;
import org.jboss.forge.arquillian.AddonDependency;
import org.jboss.forge.arquillian.archive.AddonArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;

/**
*
* @author <a href="ggastald@redhat.com">George Gastaldi</a>
*/
@RunWith(Arquillian.class)
public class JMSFacetTest
{
@Deployment
@AddonDependencies({
@AddonDependency(name = "org.jboss.forge.addon:javaee"),
@AddonDependency(name = "org.jboss.forge.addon:maven"),
@AddonDependency(name = "org.jboss.forge.furnace.container:cdi")
})
public static AddonArchive getDeployment()
{
return ShrinkWrap.create(AddonArchive.class).addBeansXML();
}

@Inject
private ProjectFactory projectFactory;

@Inject
private FacetFactory facetFactory;

@Test(expected = FacetIsAmbiguousException.class)
public void testCannotInstallAmbiguousFacetType() throws Exception
{
Project project = projectFactory.createTempProject();
Assert.assertNotNull(project);
facetFactory.install(project, JMSFacet.class);
}

}

0 comments on commit 7c6afc7

Please sign in to comment.