You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by br...@apache.org on 2006/12/01 23:11:49 UTC
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...
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