Search in sources :

Example 1 with IndeterminateConfigurationException

use of org.apache.archiva.configuration.IndeterminateConfigurationException in project archiva by apache.

the class DefaultRedbackRuntimeConfigurationAdmin method updateRedbackRuntimeConfiguration.

@Override
public void updateRedbackRuntimeConfiguration(RedbackRuntimeConfiguration redbackRuntimeConfiguration) throws RepositoryAdminException {
    org.apache.archiva.configuration.RedbackRuntimeConfiguration runtimeConfiguration = build(redbackRuntimeConfiguration);
    Configuration configuration = archivaConfiguration.getConfiguration();
    configuration.setRedbackRuntimeConfiguration(runtimeConfiguration);
    try {
        archivaConfiguration.save(configuration);
    } catch (RegistryException e) {
        throw new RepositoryAdminException(e.getMessage(), e);
    } catch (IndeterminateConfigurationException e) {
        throw new RepositoryAdminException(e.getMessage(), e);
    }
}
Also used : ArchivaConfiguration(org.apache.archiva.configuration.ArchivaConfiguration) CacheConfiguration(org.apache.archiva.admin.model.beans.CacheConfiguration) LdapConfiguration(org.apache.archiva.admin.model.beans.LdapConfiguration) RedbackRuntimeConfiguration(org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration) Configuration(org.apache.archiva.configuration.Configuration) UserConfiguration(org.apache.archiva.redback.configuration.UserConfiguration) IndeterminateConfigurationException(org.apache.archiva.configuration.IndeterminateConfigurationException) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) RegistryException(org.apache.archiva.redback.components.registry.RegistryException)

Example 2 with IndeterminateConfigurationException

use of org.apache.archiva.configuration.IndeterminateConfigurationException in project archiva by apache.

the class RepositoryRegistry method putRepository.

/**
 * Adds a new repository or updates the repository with the same id, if it exists already.
 * The configuration is saved immediately.
 *
 * @param managedRepositoryConfiguration the repository configuration
 * @return the updated or created repository
 * @throws RepositoryException if an error occurs, or the configuration is not valid.
 */
public ManagedRepository putRepository(ManagedRepositoryConfiguration managedRepositoryConfiguration) throws RepositoryException {
    rwLock.writeLock().lock();
    try {
        final String id = managedRepositoryConfiguration.getId();
        final RepositoryType repositoryType = RepositoryType.valueOf(managedRepositoryConfiguration.getType());
        Configuration configuration = getArchivaConfiguration().getConfiguration();
        ManagedRepository repo = managedRepositories.get(id);
        ManagedRepositoryConfiguration oldCfg = repo != null ? getProvider(repositoryType).getManagedConfiguration(repo) : null;
        repo = putRepository(managedRepositoryConfiguration, configuration);
        try {
            getArchivaConfiguration().save(configuration);
        } catch (IndeterminateConfigurationException | RegistryException e) {
            if (oldCfg != null) {
                getProvider(repositoryType).updateManagedInstance((EditableManagedRepository) repo, oldCfg);
            }
            log.error("Could not save the configuration for repository {}: {}", id, e.getMessage(), e);
            throw new RepositoryException("Could not save the configuration for repository " + id + ": " + e.getMessage());
        }
        return repo;
    } finally {
        rwLock.writeLock().unlock();
    }
}
Also used : ArchivaConfiguration(org.apache.archiva.configuration.ArchivaConfiguration) ProxyConnectorConfiguration(org.apache.archiva.configuration.ProxyConnectorConfiguration) ManagedRepositoryConfiguration(org.apache.archiva.configuration.ManagedRepositoryConfiguration) RemoteRepositoryConfiguration(org.apache.archiva.configuration.RemoteRepositoryConfiguration) Configuration(org.apache.archiva.configuration.Configuration) ManagedRepositoryConfiguration(org.apache.archiva.configuration.ManagedRepositoryConfiguration) IndeterminateConfigurationException(org.apache.archiva.configuration.IndeterminateConfigurationException) RegistryException(org.apache.archiva.redback.components.registry.RegistryException)

Example 3 with IndeterminateConfigurationException

use of org.apache.archiva.configuration.IndeterminateConfigurationException in project archiva by apache.

the class RepositoryRegistry method putRepository.

/**
 * Adds a new repository or updates the repository with the same id, if it exists already.
 * The configuration is saved immediately.
 *
 * @param remoteRepositoryConfiguration the repository configuration
 * @return the updated or created repository
 * @throws RepositoryException if an error occurs, or the configuration is not valid.
 */
public RemoteRepository putRepository(RemoteRepositoryConfiguration remoteRepositoryConfiguration) throws RepositoryException {
    rwLock.writeLock().lock();
    try {
        final String id = remoteRepositoryConfiguration.getId();
        final RepositoryType repositoryType = RepositoryType.valueOf(remoteRepositoryConfiguration.getType());
        Configuration configuration = getArchivaConfiguration().getConfiguration();
        RemoteRepository repo = remoteRepositories.get(id);
        RemoteRepositoryConfiguration oldCfg = repo != null ? getProvider(repositoryType).getRemoteConfiguration(repo) : null;
        repo = putRepository(remoteRepositoryConfiguration, configuration);
        try {
            getArchivaConfiguration().save(configuration);
        } catch (IndeterminateConfigurationException | RegistryException e) {
            if (oldCfg != null) {
                getProvider(repositoryType).updateRemoteInstance((EditableRemoteRepository) repo, oldCfg);
            }
            log.error("Could not save the configuration for repository {}: {}", id, e.getMessage(), e);
            throw new RepositoryException("Could not save the configuration for repository " + id + ": " + e.getMessage());
        }
        return repo;
    } finally {
        rwLock.writeLock().unlock();
    }
}
Also used : ArchivaConfiguration(org.apache.archiva.configuration.ArchivaConfiguration) ProxyConnectorConfiguration(org.apache.archiva.configuration.ProxyConnectorConfiguration) ManagedRepositoryConfiguration(org.apache.archiva.configuration.ManagedRepositoryConfiguration) RemoteRepositoryConfiguration(org.apache.archiva.configuration.RemoteRepositoryConfiguration) Configuration(org.apache.archiva.configuration.Configuration) IndeterminateConfigurationException(org.apache.archiva.configuration.IndeterminateConfigurationException) RemoteRepositoryConfiguration(org.apache.archiva.configuration.RemoteRepositoryConfiguration) RegistryException(org.apache.archiva.redback.components.registry.RegistryException)

Example 4 with IndeterminateConfigurationException

use of org.apache.archiva.configuration.IndeterminateConfigurationException in project archiva by apache.

the class RepositoryRegistry method removeRepository.

/**
 * Removes the remote repository from the registry and configuration.
 * The change is saved to the configuration immediately.
 *
 * @param remoteRepository the remote repository to remove
 * @throws RepositoryException if a error occurs during configuration save
 */
public void removeRepository(RemoteRepository remoteRepository) throws RepositoryException {
    final String id = remoteRepository.getId();
    RemoteRepository repo = getRemoteRepository(id);
    if (repo != null) {
        rwLock.writeLock().lock();
        try {
            repo = remoteRepositories.remove(id);
            if (repo != null) {
                Configuration configuration = getArchivaConfiguration().getConfiguration();
                doRemoveRepo(repo, configuration);
                getArchivaConfiguration().save(configuration);
            }
        } catch (RegistryException | IndeterminateConfigurationException e) {
            // Rollback
            log.error("Could not save config after repository removal: {}", e.getMessage(), e);
            remoteRepositories.put(repo.getId(), repo);
            throw new RepositoryException("Could not save configuration after repository removal: " + e.getMessage());
        } finally {
            rwLock.writeLock().unlock();
        }
    }
}
Also used : ArchivaConfiguration(org.apache.archiva.configuration.ArchivaConfiguration) ProxyConnectorConfiguration(org.apache.archiva.configuration.ProxyConnectorConfiguration) ManagedRepositoryConfiguration(org.apache.archiva.configuration.ManagedRepositoryConfiguration) RemoteRepositoryConfiguration(org.apache.archiva.configuration.RemoteRepositoryConfiguration) Configuration(org.apache.archiva.configuration.Configuration) IndeterminateConfigurationException(org.apache.archiva.configuration.IndeterminateConfigurationException) RegistryException(org.apache.archiva.redback.components.registry.RegistryException)

Example 5 with IndeterminateConfigurationException

use of org.apache.archiva.configuration.IndeterminateConfigurationException in project archiva by apache.

the class RepositoryRegistry method removeRepository.

/**
 * Removes a managed repository from the registry and configuration, if it exists.
 * The change is saved to the configuration immediately.
 *
 * @param managedRepository the managed repository to remove
 * @throws RepositoryException if a error occurs during configuration save
 */
public void removeRepository(ManagedRepository managedRepository) throws RepositoryException {
    final String id = managedRepository.getId();
    ManagedRepository repo = getManagedRepository(id);
    if (repo != null) {
        rwLock.writeLock().lock();
        try {
            repo = managedRepositories.remove(id);
            if (repo != null) {
                repo.close();
                Configuration configuration = getArchivaConfiguration().getConfiguration();
                ManagedRepositoryConfiguration cfg = configuration.findManagedRepositoryById(id);
                if (cfg != null) {
                    configuration.removeManagedRepository(cfg);
                }
                getArchivaConfiguration().save(configuration);
            }
        } catch (RegistryException | IndeterminateConfigurationException e) {
            // Rollback
            log.error("Could not save config after repository removal: {}", e.getMessage(), e);
            managedRepositories.put(repo.getId(), repo);
            throw new RepositoryException("Could not save configuration after repository removal: " + e.getMessage());
        } finally {
            rwLock.writeLock().unlock();
        }
    }
}
Also used : ArchivaConfiguration(org.apache.archiva.configuration.ArchivaConfiguration) ProxyConnectorConfiguration(org.apache.archiva.configuration.ProxyConnectorConfiguration) ManagedRepositoryConfiguration(org.apache.archiva.configuration.ManagedRepositoryConfiguration) RemoteRepositoryConfiguration(org.apache.archiva.configuration.RemoteRepositoryConfiguration) Configuration(org.apache.archiva.configuration.Configuration) ManagedRepositoryConfiguration(org.apache.archiva.configuration.ManagedRepositoryConfiguration) IndeterminateConfigurationException(org.apache.archiva.configuration.IndeterminateConfigurationException) RegistryException(org.apache.archiva.redback.components.registry.RegistryException)

Aggregations

Configuration (org.apache.archiva.configuration.Configuration)8 IndeterminateConfigurationException (org.apache.archiva.configuration.IndeterminateConfigurationException)8 RegistryException (org.apache.archiva.redback.components.registry.RegistryException)8 ArchivaConfiguration (org.apache.archiva.configuration.ArchivaConfiguration)7 ManagedRepositoryConfiguration (org.apache.archiva.configuration.ManagedRepositoryConfiguration)6 ProxyConnectorConfiguration (org.apache.archiva.configuration.ProxyConnectorConfiguration)6 RemoteRepositoryConfiguration (org.apache.archiva.configuration.RemoteRepositoryConfiguration)5 RepositoryAdminException (org.apache.archiva.admin.model.RepositoryAdminException)3 CacheConfiguration (org.apache.archiva.admin.model.beans.CacheConfiguration)2 ArchivaRuntimeConfiguration (org.apache.archiva.admin.model.beans.ArchivaRuntimeConfiguration)1 FileLockConfiguration (org.apache.archiva.admin.model.beans.FileLockConfiguration)1 LdapConfiguration (org.apache.archiva.admin.model.beans.LdapConfiguration)1 RedbackRuntimeConfiguration (org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration)1 RepositoryGroupConfiguration (org.apache.archiva.configuration.RepositoryGroupConfiguration)1 IndexUpdateFailedException (org.apache.archiva.indexer.IndexUpdateFailedException)1 MetadataRepositoryException (org.apache.archiva.metadata.repository.MetadataRepositoryException)1 RepositorySession (org.apache.archiva.metadata.repository.RepositorySession)1 UserConfiguration (org.apache.archiva.redback.configuration.UserConfiguration)1 RoleManagerException (org.apache.archiva.redback.role.RoleManagerException)1 RepositoryException (org.apache.archiva.repository.RepositoryException)1