Package org.jboss.forge.addon.addons.facets

Source Code of org.jboss.forge.addon.addons.facets.ForgeAddonTestFacet

/*
* 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.addons.facets;

import java.io.FileNotFoundException;

import org.jboss.forge.addon.facets.AbstractFacet;
import org.jboss.forge.addon.facets.constraints.RequiresFacet;
import org.jboss.forge.addon.parser.java.facets.JavaSourceFacet;
import org.jboss.forge.addon.projects.Project;
import org.jboss.forge.addon.projects.ProjectFacet;
import org.jboss.forge.addon.projects.facets.MetadataFacet;
import org.jboss.forge.parser.JavaParser;
import org.jboss.forge.parser.java.JavaClass;

/**
* Configures the project as an Addon Test project
*
* @author <a href="mailto:ggastald@redhat.com">George Gastaldi</a>
*
*/
@RequiresFacet({ ForgeContainerAddonFacet.class })
public class ForgeAddonTestFacet extends AbstractFacet<Project> implements ProjectFacet
{

   @Override
   public boolean install()
   {
      Project project = getFaceted();
      String topLevelPackage = project.getFacet(MetadataFacet.class).getTopLevelPackage();
      JavaClass testClass = JavaParser.create(JavaClass.class).setPackage(topLevelPackage);
      testClass.setName("AbstractTestCase").setAbstract(true);
      JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class);
      try
      {
         facet.saveTestJavaSource(testClass.getEnclosingType());
      }
      catch (FileNotFoundException ffe)
      {
         ffe.printStackTrace();
         return false;
      }

      return true;
   }

   @SuppressWarnings("unchecked")
   @Override
   public boolean isInstalled()
   {
      return getFaceted().hasAllFacets(ForgeContainerAddonFacet.class);
   }

}
TOP

Related Classes of org.jboss.forge.addon.addons.facets.ForgeAddonTestFacet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.