continuum-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r481425 - in /maven/continuum/trunk/continuum-webapp/src: main/java/org/apache/maven/continuum/web/action/admin/ main/java/org/apache/maven/continuum/web/action/component/ main/resources/ main/webapp/WEB-INF/jsp/admin/ main/webapp/WEB-INF/j...
Date Fri, 01 Dec 2006 22:11:49 GMT
Author: brett
Date: Fri Dec  1 14:11:47 2006
New Revision: 481425

URL: http://svn.apache.org/viewvc?view=rev&rev=481425
Log:
complete configuration of company POM. Next step is to move this to maven-shared

Added:
    maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandler.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/DefaultCompanyPomHandler.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp   (with props)
    maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/TestSettingsBuilder.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/
    maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.java   (with props)
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/
    maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.xml   (with props)
Modified:
    maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
    maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/companyLogo.jsp
    maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/DefaultTop.jsp

Added: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandler.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandler.java?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandler.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandler.java Fri Dec  1 14:11:47 2006
@@ -0,0 +1,63 @@
+package org.apache.maven.continuum.web.action.admin;
+
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.continuum.configuration.CompanyPom;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.ProjectBuildingException;
+
+import java.io.IOException;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Holds a company POM to avoid re-reading it.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ */
+public interface CompanyPomHandler
+{
+    String ROLE = CompanyPomHandler.class.getName();
+
+    /**
+     * Retrieve the company model (may be cached).
+     *
+     * @param companyPom the configuration holding the required group and artifact ID
+     * @return the model
+     * @throws org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException
+     *          if there is a problem locating the existing POM from the repository
+     * @throws org.apache.maven.project.ProjectBuildingException
+     *          if the existing POM in the repository is invalid
+     */
+    Model getCompanyPomModel( CompanyPom companyPom )
+        throws ProjectBuildingException, ArtifactMetadataRetrievalException;
+
+    /**
+     * Save a company POM in the repository. At present, it does not deploy it to any remote repositories.
+     * The version in the model will be incremented to the next sequential single digit.
+     *
+     * @param companyModel the company model to save. This is likely to be the same instance already cached, but will replace the cached version regardless
+     * @throws java.io.IOException if there is a problem saving the model to the local repository
+     * @throws org.apache.maven.artifact.installer.ArtifactInstallationException
+     *                             if there is a problem saving to the local repository
+     */
+    void save( Model companyModel )
+        throws IOException, ArtifactInstallationException;
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java?view=diff&rev=481425&r1=481424&r2=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/ConfigureAppearanceAction.java Fri Dec  1 14:11:47 2006
@@ -20,34 +20,22 @@
  */
 
 import com.opensymphony.xwork.ModelDriven;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
-import org.apache.maven.continuum.configuration.CompanyPom;
 import org.apache.maven.continuum.configuration.Configuration;
 import org.apache.maven.continuum.configuration.ConfigurationChangeException;
 import org.apache.maven.continuum.configuration.ConfigurationStore;
 import org.apache.maven.continuum.configuration.ConfigurationStoreException;
 import org.apache.maven.continuum.configuration.InvalidConfigurationException;
-import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
 import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.web.action.ContinuumActionSupport;
 import org.apache.maven.model.Model;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
 import org.codehaus.plexus.security.rbac.Resource;
 import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
 import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
 import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
-import org.codehaus.plexus.util.StringUtils;
 
 import java.io.IOException;
-import java.util.Collections;
-import java.util.List;
 
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -69,30 +57,12 @@
      */
     private Configuration configuration;
 
-    /**
-     * The company POM.
-     */
     private Model companyModel;
 
     /**
      * @plexus.requirement
      */
-    private MavenProjectBuilder projectBuilder;
-
-    /**
-     * @plexus.requirement
-     */
-    private ArtifactFactory artifactFactory;
-
-    /**
-     * @plexus.requirement
-     */
-    private MavenBuilderHelper helper;
-
-    /**
-     * @plexus.requirement
-     */
-    private ArtifactMetadataSource artifactMetadataSource;
+    private CompanyPomHandler companyPomHandler;
 
     public String execute()
         throws IOException, ConfigurationStoreException, InvalidConfigurationException, ConfigurationChangeException
@@ -112,45 +82,7 @@
     {
         configuration = configurationStore.getConfigurationFromStore();
 
-        CompanyPom companyPom = configuration.getCompanyPom();
-        if ( companyPom != null )
-        {
-            if ( StringUtils.isNotEmpty( companyPom.getGroupId() ) &&
-                StringUtils.isNotEmpty( companyPom.getArtifactId() ) )
-            {
-                Artifact artifact = artifactFactory.createProjectArtifact( companyPom.getGroupId(),
-                                                                           companyPom.getArtifactId(),
-                                                                           Artifact.RELEASE_VERSION );
-
-                ArtifactRepository localRepository = helper.getLocalRepository();
-
-                List repositories =
-                    projectBuilder.buildStandaloneSuperProject( localRepository ).getRemoteArtifactRepositories();
-                List versions =
-                    artifactMetadataSource.retrieveAvailableVersions( artifact, localRepository, repositories );
-
-                if ( !versions.isEmpty() )
-                {
-                    Collections.sort( versions );
-
-                    DefaultArtifactVersion artifactVersion =
-                        (DefaultArtifactVersion) versions.get( versions.size() - 1 );
-                    artifact = artifactFactory.createProjectArtifact( companyPom.getGroupId(),
-                                                                      companyPom.getArtifactId(),
-                                                                      artifactVersion.toString() );
-
-                    MavenProject project =
-                        projectBuilder.buildFromRepository( artifact, repositories, localRepository );
-
-                    companyModel = project.getModel();
-                }
-                else
-                {
-                    addActionMessage( "Company POM '" + companyPom.getGroupId() + ":" + companyPom.getArtifactId() +
-                        "' doesn't exist. Click on the 'Edit Company POM' link to create it." );
-                }
-            }
-        }
+        companyModel = companyPomHandler.getCompanyPomModel( configuration.getCompanyPom() );
     }
 
     public SecureActionBundle getSecureActionBundle()

Added: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/DefaultCompanyPomHandler.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/DefaultCompanyPomHandler.java?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/DefaultCompanyPomHandler.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/DefaultCompanyPomHandler.java Fri Dec  1 14:11:47 2006
@@ -0,0 +1,200 @@
+package org.apache.maven.continuum.web.action.admin;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.installer.ArtifactInstaller;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.apache.maven.continuum.configuration.CompanyPom;
+import org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Holds a company POM from the repository, and is able to find the latest one in a repository.
+ *
+ * @plexus.component
+ */
+public class DefaultCompanyPomHandler
+    implements CompanyPomHandler
+{
+    /**
+     * The company POM.
+     */
+    private Model companyModel;
+
+    /**
+     * @plexus.requirement
+     */
+    private MavenProjectBuilder projectBuilder;
+
+    /**
+     * @plexus.requirement
+     */
+    private ArtifactFactory artifactFactory;
+
+    /**
+     * @plexus.requirement
+     */
+    private MavenBuilderHelper helper;
+
+    /**
+     * @plexus.requirement
+     */
+    private ArtifactMetadataSource artifactMetadataSource;
+
+    /**
+     * @plexus.requirement
+     */
+    private ArtifactInstaller installer;
+
+    private static final String ORGANIZATION_LOGO_PROPERTY = "organization.logo";
+
+
+    public Model getCompanyPomModel( CompanyPom companyPom )
+        throws ProjectBuildingException, ArtifactMetadataRetrievalException
+    {
+        if ( companyPom != null )
+        {
+            if ( StringUtils.isNotEmpty( companyPom.getGroupId() ) &&
+                StringUtils.isNotEmpty( companyPom.getArtifactId() ) )
+            {
+                if ( companyModel != null )
+                {
+                    if ( !companyPom.getGroupId().equals( companyModel.getGroupId() ) ||
+                        !companyPom.getArtifactId().equals( companyModel.getArtifactId() ) )
+                    {
+                        companyModel = null;
+                    }
+                }
+
+                if ( companyModel == null )
+                {
+                    Artifact artifact = artifactFactory.createProjectArtifact( companyPom.getGroupId(),
+                                                                               companyPom.getArtifactId(),
+                                                                               Artifact.RELEASE_VERSION );
+
+                    ArtifactRepository localRepository = helper.getLocalRepository();
+
+                    List repositories =
+                        projectBuilder.buildStandaloneSuperProject( localRepository ).getRemoteArtifactRepositories();
+                    List versions =
+                        artifactMetadataSource.retrieveAvailableVersions( artifact, localRepository, repositories );
+
+                    if ( !versions.isEmpty() )
+                    {
+                        Collections.sort( versions );
+
+                        DefaultArtifactVersion artifactVersion =
+                            (DefaultArtifactVersion) versions.get( versions.size() - 1 );
+                        artifact = artifactFactory.createProjectArtifact( companyPom.getGroupId(),
+                                                                          companyPom.getArtifactId(),
+                                                                          artifactVersion.toString() );
+
+                        MavenProject project =
+                            projectBuilder.buildFromRepository( artifact, repositories, localRepository );
+
+                        // We want the original model so that we don't get super POM pollution
+                        companyModel = project.getOriginalModel();
+
+                        // We need to manually propogate the values we want to appear for editing
+                        if ( companyModel.getOrganization() == null )
+                        {
+                            companyModel.setOrganization( project.getOrganization() );
+                        }
+                        else
+                        {
+                            if ( companyModel.getOrganization().getName() == null )
+                            {
+                                companyModel.getOrganization().setName( project.getOrganization().getName() );
+                            }
+                            if ( companyModel.getOrganization().getUrl() == null )
+                            {
+                                companyModel.getOrganization().setUrl( project.getOrganization().getUrl() );
+                            }
+                        }
+                        String logo = project.getProperties().getProperty( ORGANIZATION_LOGO_PROPERTY );
+                        if ( logo != null )
+                        {
+                            companyModel.getProperties().setProperty( ORGANIZATION_LOGO_PROPERTY, logo );
+                        }
+                    }
+                }
+            }
+        }
+        return companyModel;
+    }
+
+    public void save( Model companyModel )
+        throws IOException, ArtifactInstallationException
+    {
+        String v = companyModel.getVersion();
+        String newVersion;
+        if ( v != null )
+        {
+            DefaultArtifactVersion version = new DefaultArtifactVersion( v );
+
+            newVersion = String.valueOf( version.getMajorVersion() + 1 );
+        }
+        else
+        {
+            newVersion = "1";
+        }
+        companyModel.setVersion( newVersion );
+
+        Artifact artifact = artifactFactory.createProjectArtifact( companyModel.getGroupId(),
+                                                                   companyModel.getArtifactId(), newVersion );
+
+        ArtifactRepository localRepository = helper.getLocalRepository();
+        File f = File.createTempFile( "maven", "pom" );
+        f.deleteOnExit();
+
+        FileWriter fileWriter = new FileWriter( f );
+        try
+        {
+            MavenXpp3Writer writer = new MavenXpp3Writer();
+            writer.write( fileWriter, companyModel );
+        }
+        finally
+        {
+            IOUtil.close( fileWriter );
+        }
+
+        installer.install( f, artifact, localRepository );
+
+        this.companyModel = companyModel;
+    }
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/DefaultCompanyPomHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java Fri Dec  1 14:11:47 2006
@@ -0,0 +1,125 @@
+package org.apache.maven.continuum.web.action.admin;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import com.opensymphony.xwork.ModelDriven;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.continuum.configuration.CompanyPom;
+import org.apache.maven.continuum.configuration.Configuration;
+import org.apache.maven.continuum.configuration.ConfigurationChangeException;
+import org.apache.maven.continuum.configuration.ConfigurationStore;
+import org.apache.maven.continuum.configuration.ConfigurationStoreException;
+import org.apache.maven.continuum.configuration.InvalidConfigurationException;
+import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.action.ContinuumActionSupport;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.ProjectBuildingException;
+import org.codehaus.plexus.security.rbac.Resource;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id: ConfigurationAction.java 480950 2006-11-30 14:58:35Z evenisse $
+ * @plexus.component role="com.opensymphony.xwork.Action"
+ * role-hint="editPom"
+ */
+public class EditPomAction
+    extends ContinuumActionSupport
+    implements ModelDriven, SecureAction
+{
+    /**
+     * @plexus.requirement
+     */
+    private ConfigurationStore configurationStore;
+
+    /**
+     * The configuration.
+     */
+    private Configuration configuration;
+
+    /**
+     * @plexus.requirement
+     */
+    private CompanyPomHandler companyPomHandler;
+
+    private Model companyModel;
+
+    public String execute()
+        throws IOException, ConfigurationStoreException, InvalidConfigurationException, ConfigurationChangeException,
+        ArtifactInstallationException
+    {
+        // TODO: hack for passed in String[]
+        String[] logo = (String[]) companyModel.getProperties().get( "organization.logo" );
+        if ( logo != null )
+        {
+            companyModel.getProperties().put( "organization.logo", logo[0] );
+        }
+
+        companyPomHandler.save( companyModel );
+
+        return SUCCESS;
+    }
+
+    public Object getModel()
+    {
+        return companyModel;
+    }
+
+    public void prepare()
+        throws ConfigurationStoreException, ProjectBuildingException, ArtifactMetadataRetrievalException
+    {
+        configuration = configurationStore.getConfigurationFromStore();
+
+        CompanyPom companyPom = configuration.getCompanyPom();
+        companyModel = companyPomHandler.getCompanyPomModel( companyPom );
+
+        if ( companyModel == null )
+        {
+            companyModel = new Model();
+            companyModel.setModelVersion( "4.0.0" );
+
+            if ( companyPom != null )
+            {
+                companyModel.setGroupId( companyPom.getGroupId() );
+                companyModel.setArtifactId( companyPom.getArtifactId() );
+            }
+        }
+    }
+
+    public SecureActionBundle getSecureActionBundle()
+        throws SecureActionException
+    {
+        SecureActionBundle bundle = new SecureActionBundle();
+        bundle.setRequiresAuthentication( true );
+        bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_CONFIGURATION, Resource.GLOBAL );
+
+        return bundle;
+    }
+
+    public Model getCompanyModel()
+    {
+        return companyModel;
+    }
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/admin/EditPomAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java Fri Dec  1 14:11:47 2006
@@ -0,0 +1,84 @@
+package org.apache.maven.continuum.web.action.component;
+
+import com.opensymphony.xwork.ActionSupport;
+import org.apache.maven.continuum.configuration.ConfigurationStore;
+import org.apache.maven.continuum.web.action.admin.CompanyPomHandler;
+import org.apache.maven.model.Model;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Stores the company information for displaying on the page.
+ *
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="companyInfo"
+ */
+public class CompanyInfoAction
+    extends ActionSupport
+{
+    private String companyLogo;
+
+    private String companyUrl;
+
+    private String companyName;
+
+    /**
+     * @plexus.requirement
+     */
+    private CompanyPomHandler handler;
+
+    /**
+     * @plexus.requirement
+     */
+    private ConfigurationStore configurationStore;
+
+    public String execute()
+        throws Exception
+    {
+        Model model = handler.getCompanyPomModel( configurationStore.getConfigurationFromStore().getCompanyPom() );
+
+        if ( model != null )
+        {
+            if ( model.getOrganization() != null )
+            {
+                companyName = model.getOrganization().getName();
+                companyUrl = model.getOrganization().getUrl();
+            }
+
+            companyLogo = model.getProperties().getProperty( "organization.logo" );
+        }
+
+        return SUCCESS;
+    }
+
+    public String getCompanyLogo()
+    {
+        return companyLogo;
+    }
+
+    public String getCompanyUrl()
+    {
+        return companyUrl;
+    }
+
+    public String getCompanyName()
+    {
+        return companyName;
+    }
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/CompanyInfoAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml?view=diff&rev=481425&r1=481424&r2=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/resources/xwork.xml Fri Dec  1 14:11:47 2006
@@ -131,8 +131,7 @@
     </action>
 
 
-    <!-- TODO! -->
-    <action name="companyInfo" class="configuration">
+    <action name="companyInfo" class="companyInfo">
       <result name="success">/WEB-INF/jsp/components/companyLogo.jsp</result>
     </action>
 
@@ -536,6 +535,18 @@
 
     <action name="saveAppearance" class="configureAppearance">
       <result name="input">/WEB-INF/jsp/admin/editAppearance.jsp</result>
+      <result type="redirect-action">
+        <param name="actionName">configureAppearance</param>
+        <param name="namespace">/admin</param>
+      </result>
+    </action>
+
+    <action name="editCompanyPom" class="editPom" method="input">
+      <result name="input">/WEB-INF/jsp/admin/editPom.jsp</result>
+    </action>
+
+    <action name="saveCompanyPom" class="editPom">
+      <result name="input">/WEB-INF/jsp/admin/editPom.jsp</result>
       <result type="redirect-action">
         <param name="actionName">configureAppearance</param>
         <param name="namespace">/admin</param>

Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp?view=diff&rev=481425&r1=481424&r2=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/appearance.jsp Fri Dec  1 14:11:47 2006
@@ -33,38 +33,64 @@
 </div>
 <h2>Company Details</h2>
 
-<table>
-  <ww:label name="companyPom.groupId" label="Group ID"/>
-  <ww:label name="companyPom.artifactId" label="Artifact ID"/>
-</table>
-
-<div style="float: right">
-  <a href="<ww:url action='editCompanyPom' />">Edit Company POM</a>
-</div>
-<h3>POM Information</h3>
+<p>
+  The logo in the top right of the screen is controlled by your selected 'company POM'.
+</p>
 
-<ww:actionmessage/>
-<ww:set name="companyModel" value="companyModel"/>
+<ww:set name="companyPom" value="companyPom"/>
 
-<c:if test="${companyModel}">
+<c:if test="${empty(companyPom)}">
+  <p>
+    You have not yet specified a company POM. <a href="<ww:url action='editAppearance' />">Select a Company POM</a>
+  </p>
+</c:if>
+
+<c:if test="${!empty(companyPom)}">
+  <p>
+    Your selected company POM is below. If you would like to change the organization name, url or logo, you can
+    <a href="<ww:url action='editCompanyPom'/>">edit the POM</a>.
+  </p>
+
+  <ww:set name="companyModel" value="companyModel"/>
   <table>
-    <tr>
-      <th>Name</th>
-      <td>${companyModel.organization.name}</td>
-    </tr>
-    <tr>
-      <th>URL</th>
-      <td><a href="${companyModel.organization.url}">
-        <code>${companyModel.organization.name}</code>
-      </a></td>
-    </tr>
-    <tr>
-      <th>Logo URL</th>
-      <td>
-        <code>${companyModel.properties['organization.logo']}</code>
-      </td>
-    </tr>
+    <ww:label name="companyPom.groupId" label="Group ID"/>
+    <ww:label name="companyPom.artifactId" label="Artifact ID"/>
+    <c:if test="${companyModel != null}">
+      <ww:label name="companyModel.version" label="Version"/>
+    </c:if>
   </table>
+
+  <div style="float: right">
+    <a href="<ww:url action='editCompanyPom' />">Edit Company POM</a>
+  </div>
+  <h3>POM Information</h3>
+
+  <c:choose>
+    <c:when test="${companyModel != null}">
+      <table>
+        <tr>
+          <th>Name</th>
+          <td>${companyModel.organization.name}</td>
+        </tr>
+        <tr>
+          <th>URL</th>
+          <td><a href="${companyModel.organization.url}">
+            <code>${companyModel.organization.url}</code>
+          </a></td>
+        </tr>
+        <tr>
+          <th>Logo URL</th>
+          <td>
+            <code>${companyModel.properties['organization.logo']}</code>
+          </td>
+        </tr>
+      </table>
+    </c:when>
+    <c:otherwise>
+      Company POM '${companyPom.groupId}:${companyPom.artifactId}' doesn't exist.
+      <a href="<ww:url action='editCompanyPom' />">Create company POM</a>
+    </c:otherwise>
+  </c:choose>
 </c:if>
 </body>
 

Added: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp (added)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp Fri Dec  1 14:11:47 2006
@@ -0,0 +1,54 @@
+<%--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  --%>
+
+<%@ taglib prefix="ww" uri="/webwork" %>
+<html>
+<head>
+  <title>Edit Company POM</title>
+  <ww:head/>
+</head>
+
+<body>
+<h1>Company POM</h1>
+
+<ww:actionmessage/>
+<ww:form method="post" action="saveCompanyPom" namespace="/admin" validate="true" theme="xhtml">
+  <ww:label name="companyModel.groupId" label="Group ID"/>
+  <ww:label name="companyModel.artifactId" label="Artifact ID"/>
+  <tr>
+    <td>Version</td>
+    <td>
+      <ww:property value="companyModel.version"/>
+      <i>(The version will automatically be incremented when you save this form)</i>
+    </td>
+  </tr>
+  <tr>
+    <td></td>
+    <td><h2>Organization</h2></td>
+  </tr>
+  <ww:textfield name="companyModel.organization.name" size="40" label="Name"/>
+  <ww:textfield name="companyModel.organization.url" size="70" label="URL"/>
+  <%-- TODO: how to get it to be a string, not a String[]? --%>
+  <ww:textfield name="companyModel.properties['organization.logo']" size="70" label="Logo URL"/>
+  <ww:submit value="Save"/>
+</ww:form>
+
+</body>
+
+</html>
\ No newline at end of file

Propchange: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/admin/editPom.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/companyLogo.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/companyLogo.jsp?view=diff&rev=481425&r1=481424&r2=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/companyLogo.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/components/companyLogo.jsp Fri Dec  1 14:11:47 2006
@@ -1,16 +1,16 @@
 <%@ taglib uri="/webwork" prefix="ww" %>
-<ww:i18n name="localization.Continuum">
-  <ww:if test="companyLogo != null && companyLogo != ''">
-    <ww:if test="companyUrl != null && companyUrl != ''">
-      <a href="<ww:property value='companyUrl'/>">
-        <img src="<ww:property value='companyLogo'/>" alt="<ww:property value='companyName'/>" title="<ww:property value='companyName'/>" border="0"/>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<ww:set name="companyLogo" value="companyLogo"/>
+<c:if test="${!empty(companyLogo)}">
+  <ww:set name="companyUrl" value="companyUrl"/>
+  <c:choose>
+    <c:when test="${!empty(companyUrl)}">
+      <a href="${companyUrl}">
+        <img src="${companyLogo}" title="${companyName}" border="0" alt=""/>
       </a>
-    </ww:if>
-    <ww:else>
-        <img src="<ww:property value='companyLogo'/>" alt="<ww:property value='companyName'/>" title="<ww:property value='companyName'/>" border="0"/>
-    </ww:else>
-  </ww:if>
-  <ww:else>
-    <a href="http://maven.apache.org/continuum/"><img src="<ww:url value="/images/asf_logo_wide.gif"/>" alt="Apache Software Foundation" title="Apache Software Foundation" border="0"></a>
-  </ww:else>
-</ww:i18n>
+    </c:when>
+    <c:otherwise>
+      <img src="${companyLogo}" title="${companyName}" border="0" alt=""/>
+    </c:otherwise>
+  </c:choose>
+</c:if>

Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/DefaultTop.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/DefaultTop.jsp?view=diff&rev=481425&r1=481424&r2=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/DefaultTop.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/navigations/DefaultTop.jsp Fri Dec  1 14:11:47 2006
@@ -3,32 +3,32 @@
 <%@ taglib uri="/plexusSecuritySystem" prefix="pss" %>
 
 <ww:i18n name="localization.Continuum">
-<div id="banner">
-  <table border="1" cellpadding="8" cellspacing="0" width="100%">
-    <tbody>
-      <tr>
-        <td>
-          <a href="http://maven.apache.org/continuum">
-            <img src="<ww:url value="/images/continuum_logo_75.gif"/>" alt="Continuum" title="Continuum" border="0">
-          </a>
-        </td>
-        <td>
-          <div align="right">
-            <ww:action name="companyInfo!default" executeResult="true"/>
-          </div>
-        </td>
-      </tr>
-    </tbody>
-  </table>
-</div>
+  <div id="banner">
+    <table border="1" cellpadding="8" cellspacing="0" width="100%">
+      <tbody>
+        <tr>
+          <td>
+            <a href="http://maven.apache.org/continuum">
+              <img src="<ww:url value="/images/continuum_logo_75.gif"/>" alt="Continuum" title="Continuum" border="0">
+            </a>
+          </td>
+          <td>
+            <div align="right">
+              <ww:action name="companyInfo" executeResult="true"/>
+            </div>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
 
-<div id="breadcrumbs">
+  <div id="breadcrumbs">
 
-  <div style="float: right;">
-    <a href="http://maven.apache.org/continuum">Continuum</a> |
-    <a href="http://maven.apache.org/">Maven</a> |
-    <a href="http://www.apache.org/">Apache</a>
+    <div style="float: right;">
+      <a href="http://maven.apache.org/continuum">Continuum</a> |
+      <a href="http://maven.apache.org/">Maven</a> |
+      <a href="http://www.apache.org/">Apache</a>
+    </div>
+    <c:import url="/WEB-INF/jsp/pss/include/securityLinks.jsp"/>
   </div>
-  <c:import url="/WEB-INF/jsp/pss/include/securityLinks.jsp"/>
-</div>
 </ww:i18n>

Added: maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/TestSettingsBuilder.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/TestSettingsBuilder.java?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/TestSettingsBuilder.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/TestSettingsBuilder.java Fri Dec  1 14:11:47 2006
@@ -0,0 +1,47 @@
+package org.apache.maven.continuum;
+
+import org.apache.maven.settings.MavenSettingsBuilder;
+import org.apache.maven.settings.Settings;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.IOException;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * A test implementation of the settings builder that doesn't return ~/.m2/settings.xml to avoid interfering with the
+ * normal execution environment.
+ */
+public class TestSettingsBuilder
+    implements MavenSettingsBuilder
+{
+    public Settings buildSettings()
+        throws IOException, XmlPullParserException
+    {
+        return new Settings();
+    }
+
+    public Settings buildSettings( File file )
+        throws IOException, XmlPullParserException
+    {
+        return buildSettings();
+    }
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/TestSettingsBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.java?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.java (added)
+++ maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.java Fri Dec  1 14:11:47 2006
@@ -0,0 +1,98 @@
+package org.apache.maven.continuum.web.action.admin;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.continuum.configuration.CompanyPom;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.ProjectBuildingException;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.IOException;
+
+public class CompanyPomHandlerTest
+    extends PlexusTestCase
+{
+    private CompanyPomHandler companyPomHandler;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        this.companyPomHandler = (CompanyPomHandler) lookup( CompanyPomHandler.ROLE );
+    }
+
+    public void testSaveVersionIncrement()
+        throws IOException, ArtifactInstallationException
+    {
+        Model model = new Model();
+        model.setGroupId( "org.apache.maven.test" );
+        model.setArtifactId( "test-artifact" );
+        model.setVersion( "1" );
+
+        companyPomHandler.save( model );
+
+        assertEquals( "check model version is incremented", "2", model.getVersion() );
+    }
+
+    public void testSaveVersionNew()
+        throws IOException, ArtifactInstallationException
+    {
+        Model model = new Model();
+        model.setGroupId( "org.apache.maven.test" );
+        model.setArtifactId( "test-artifact" );
+
+        companyPomHandler.save( model );
+
+        assertEquals( "check model version is incremented", "1", model.getVersion() );
+    }
+
+    public void testSaveVersionIncrementWithOtherVersionParts()
+        throws IOException, ArtifactInstallationException
+    {
+        Model model = new Model();
+        model.setGroupId( "org.apache.maven.test" );
+        model.setArtifactId( "test-artifact" );
+        model.setVersion( "2.0.1-alpha-2" );
+
+        companyPomHandler.save( model );
+
+        assertEquals( "check model version is incremented", "3", model.getVersion() );
+    }
+
+    public void testGetDifferentModel()
+        throws ArtifactMetadataRetrievalException, ProjectBuildingException, ArtifactInstallationException, IOException
+    {
+        Model model = new Model();
+        model.setGroupId( "org.apache.maven.test" );
+        model.setArtifactId( "test-artifact" );
+        model.setVersion( "2.0.1-alpha-2" );
+
+        companyPomHandler.save( model );
+
+        CompanyPom pom = new CompanyPom();
+        pom.setGroupId( "blah" );
+        pom.setArtifactId( "blah" );
+
+        assertNull( companyPomHandler.getCompanyPomModel( pom ) );
+    }
+}

Propchange: maven/continuum/trunk/continuum-webapp/src/test/java/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.xml?view=auto&rev=481425
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.xml (added)
+++ maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.xml Fri Dec  1 14:11:47 2006
@@ -0,0 +1,48 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<component-set>
+  <components>
+    <component>
+      <role>org.apache.maven.continuum.execution.maven.m2.MavenBuilderHelper</role>
+      <implementation>org.apache.maven.continuum.execution.maven.m2.DefaultMavenBuilderHelper</implementation>
+      <role-hint>default</role-hint>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.settings.MavenSettingsBuilder</role>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.ArtifactRepositoryFactory</role>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
+          <role-hint>default</role-hint>
+        </requirement>
+      </requirements>
+      <configuration>
+        <localRepository>${plexus.home}/local-repository</localRepository>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.settings.MavenSettingsBuilder</role>
+      <implementation>org.apache.maven.continuum.TestSettingsBuilder</implementation>
+      <role-hint>test</role-hint>
+    </component>
+  </components>
+</component-set>
\ No newline at end of file

Propchange: maven/continuum/trunk/continuum-webapp/src/test/resources/org/apache/maven/continuum/web/action/admin/CompanyPomHandlerTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message