return null;
}
- public Boolean deleteManagedRepository( String repositoryId )
- throws RepositoryAdminException
- {
- return null; //To change body of implemented methods use File | Settings | File Templates.
- }
-
public Boolean addManagedRepository( ManagedRepository managedRepository, boolean needStageRepo )
throws RepositoryAdminException
{
Configuration config = archivaConfiguration.getConfiguration();
- CronExpressionValidator validator = new CronExpressionValidator();
-
if ( config.getManagedRepositoriesAsMap().containsKey( repoId ) )
{
throw new RepositoryAdminException( "Unable to add new repository with id [" + repoId
+ "], that id already exists as a managed repository." );
}
- else if ( config.getRemoteRepositoriesAsMap().containsKey( repoId ) )
- {
- throw new RepositoryAdminException( "Unable to add new repository with id [" + repoId
- + "], that id already exists as a remote repository." );
- }
else if ( config.getRepositoryGroupsAsMap().containsKey( repoId ) )
{
throw new RepositoryAdminException( "Unable to add new repository with id [" + repoId
+ "], that id already exists as a repository group." );
}
- if ( !validator.validate( cronExpression ) )
+ // FIXME : olamy can be empty to avoid scheduled scan ?
+ if ( StringUtils.isNotBlank( cronExpression ) )
{
- throw new RepositoryAdminException( "Invalid cron expression." );
+ CronExpressionValidator validator = new CronExpressionValidator();
+
+ if ( !validator.validate( cronExpression ) )
+ {
+ throw new RepositoryAdminException( "Invalid cron expression." );
+ }
}
+ // FIXME checKid non empty
+
if ( !GenericValidator.matchRegexp( repoId, REPOSITORY_ID_VALID_EXPRESSION ) )
{
throw new RepositoryAdminException(
"Invalid repository ID. Identifier must only contain alphanumeric characters, underscores(_), dots(.), and dashes(-)." );
}
+ if ( StringUtils.isBlank( name ) )
+ {
+ throw new RepositoryAdminException( "repository name cannot be empty" );
+ }
+
if ( !GenericValidator.matchRegexp( name, REPOSITORY_NAME_VALID_EXPRESSION ) )
{
throw new RepositoryAdminException(
return null; //To change body of implemented methods use File | Settings | File Templates.
}
+
+ public Boolean deleteManagedRepository( String repositoryId )
+ throws RepositoryAdminException
+ {
+ return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
//--------------------------
// utils methods
//--------------------------
* under the License.
*/
+import org.apache.commons.lang.StringUtils;
import org.junit.Test;
import javax.inject.Inject;
List<ManagedRepository> repos = managedRepositoryAdmin.getManagedRepositories();
assertNotNull( repos );
assertTrue( repos.size() > 0 );
+ log.info( "repos " + repos );
+
+ // check default internal
+ ManagedRepository internal = findManagedRepoById( repos, "internal" );
+ assertNotNull( internal );
+ assertTrue( internal.isReleases() );
+ assertFalse( internal.isSnapshots() );
}
@Test
assertNotNull( repo );
}
+ @Test
+ public void addManagedRepo()
+ throws Exception
+ {
+ List<ManagedRepository> repos = managedRepositoryAdmin.getManagedRepositories();
+ assertNotNull( repos );
+ int initialSize = repos.size();
+ assertTrue( initialSize > 0 );
+
+ ManagedRepository repo = new ManagedRepository();
+ repo.setId( "test-new-one" );
+ repo.setName( "test repo" );
+ repo.setUrl( APPSERVER_BASE_PATH + repo.getId() );
+ managedRepositoryAdmin.addManagedRepository( repo, false );
+ repos = managedRepositoryAdmin.getManagedRepositories();
+ assertNotNull( repos );
+ assertEquals( initialSize + 1, repos.size() );
+
+ assertNotNull( managedRepositoryAdmin.getManagedRepository( "test-new-one" ) );
+ }
+
+
+ private ManagedRepository findManagedRepoById( List<ManagedRepository> repos, String id )
+ {
+ for ( ManagedRepository repo : repos )
+ {
+ if ( StringUtils.equals( id, repo.getId() ) )
+ {
+ return repo;
+ }
+ }
+ return null;
+ }
+
}