Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.maven.facets;
  
  import java.io.File;
 import java.util.List;
 
 
 import  org.jboss.forge.parser.java.util.Strings;

Author(s):
Lincoln Baxter, III
 
 @Alias("forge.maven.MavenCoreFacet")
 public class MavenCoreFacetImpl extends BaseFacet implements MavenCoreFacetFacet
 {
 
    @Inject
    private MavenContainer container;
 
    @Inject
    private ShellPrintWriter writer;
 
    @Inject
    private BeanManager manager;
 
    @Inject
    private ResourceFactory factory;
 
    public MavenCoreFacetImpl()
    {}
 
    /*
     * POM manipulation methods
     */
    @Override
    {
       if (this. == null)
       {
          ProjectBuildingRequest request = null;
          File pomFile = getPOMFile().getUnderlyingResourceObject();
          try
          {
             // Attempt partial build first
             request = .getRequest();
              = .getBuilder().build(pomFilerequest);
          }
          catch (ProjectBuildingException partial)
          {
             // try full build if that fails
             if (request != null)
             {
                try
                {
                   request.setResolveDependencies(true);
                    = .getBuilder().build(pomFilerequest);
                    = ;
                }
                catch (Exception full)
               {
                  throw new ProjectModelException(full);
               }
            }
            else
            {
               throw new ProjectModelException(partial);
            }
         }
      }
      return ;
   }
   /*
    * POM manipulation methods
    */
   {
      if (this. == null)
      {
         ProjectBuildingRequest request = null;
         request = .getRequest();
         File pomFile = getPOMFile().getUnderlyingResourceObject();
         if (request != null)
         {
            try
            {
               request.setResolveDependencies(true);
                = .getBuilder().build(pomFilerequest);
                = ;
            }
            catch (Exception full)
            {
               throw new ProjectModelException(full);
            }
         }
         else
         {
            throw new ProjectModelException("Project building request was null");
         }
      }
      return ;
   }
   private void invalidateBuildingResults()
   {
      this. = null;
      this. = null;
   }
   public Model getPOM()
   {
      try
      {
         Model result = new Model();
         // FIXME this should/can-not use the Maven Native file writer if we are going to abstract file APIs
         MavenXpp3Reader reader = new MavenXpp3Reader();
         if (stream.available() > 0)
         {
            result = reader.read(stream);
         }
         stream.close();
         return result;
      }
      catch (IOException e)
      {
         throw new ProjectModelException("Could not open POM file: " + getPOMFile(), e);
      }
      catch (XmlPullParserException e)
      {
         throw new ProjectModelException("Could not parse POM file: " + getPOMFile(), e);
      }
   }
   public void setPOM(final Model pom)
   {
      try
      {
         // FIXME this should/can-not use the Maven Native file writer if we are going to abstract file APIs
         MavenXpp3Writer writer = new MavenXpp3Writer();
         FileWriter fw = new FileWriter(getPOMFile().getUnderlyingResourceObject());
         writer.write(fwpom);
         fw.close();
         .fireEvent(new ResourceModified(getPOMFile()), new Annotation[] {});
      }
      catch (IOException e)
      {
         throw new ProjectModelException("Could not write POM file: " + getPOMFile(), e);
      }
   }
   private Model createPOM()
   {
      FileResource<?> pomFile = getPOMFile();
      if (!pomFile.exists())
      {
         pomFile.createNewFile();
      }
      Model pom = getPOM();
      pom.setGroupId("org.jboss.forge.generated");
      pom.setArtifactId("generated-pom");
      pom.setVersion("1.0.0-SNAPSHOT");
      pom.setModelVersion("4.0.0");
      setPOM(pom);
      return pom;
   }
   public FileResource<?> getPOMFile()
   {
      Resource<?> file = .getProjectRoot().getChild("pom.xml");
      return (FileResource<?>) file;
   }
   public boolean isInstalled()
   {
      return getPOMFile().exists();
   }
   public boolean install()
   {
      createPOM();
      return true;
   }
   {
   }
   public boolean executeMavenEmbedded(final String[] parms)
   {
      return executeMavenEmbedded(..parms);
   }
   public boolean executeMavenEmbedded(final PrintStream outfinal PrintStream errString[] parms)
   {
      if ((parms == null) || (parms.length == 0))
      {
         parms = new String[] { "" };
      }
      MavenCli cli = new MavenCli();
      int i = cli.doMain(parms.getProjectRoot().getFullyQualifiedName(),
               outerr);
      return i == 0;
   }
   public boolean executeMaven(final List<Stringparameters)
   {
      return executeMaven(parameters.toArray(new String[] {}));
   }
   public boolean executeMaven(final String[] selected)
   {
      return executeMaven(selected);
   }
   public boolean executeMaven(final ShellPrintWriter outfinal String[] parms)
   {
      try
      {
         return 0 == NativeSystemCall.execFromPath(getMvnCommand(), parmsout.getProjectRoot());
      }
      catch (IOException e)
      {
         return executeMavenEmbedded(parms);
      }
   }
   private String getMvnCommand()
   {
      return OSUtils.isWindows() ? "mvn.bat" : "mvn";
   }
   {
               DirectoryResource.class);
   }
   public String resolveProperties(final String input)
   {
      String result = input;
      if (!Strings.isNullOrEmpty(input))
      {
         for (Entry<ObjectObjecte : properties.entrySet())
         {
            String key = "\\$\\{" + e.getKey().toString() + "\\}";
            Object value = e.getValue();
            result = result.replaceAll(keyvalue.toString());
         }
      }
      return result;
   }
New to GrepCode? Check out our FAQ X