org.apache.archiva.rest.services.DefaultArchivaAdministrationService.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.archiva.rest.services.DefaultArchivaAdministrationService.java

Source

package org.apache.archiva.rest.services;
/*
 * 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.archiva.admin.model.RepositoryAdminException;
import org.apache.archiva.admin.model.admin.ArchivaAdministration;
import org.apache.archiva.admin.model.beans.FileType;
import org.apache.archiva.admin.model.beans.LegacyArtifactPath;
import org.apache.archiva.admin.model.beans.NetworkConfiguration;
import org.apache.archiva.admin.model.beans.OrganisationInformation;
import org.apache.archiva.admin.model.beans.UiConfiguration;
import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
import org.apache.archiva.rest.api.model.AdminRepositoryConsumer;
import org.apache.archiva.rest.api.services.ArchivaAdministrationService;
import org.apache.archiva.rest.api.services.ArchivaRestServiceException;
import org.apache.archiva.rest.services.utils.AddAdminRepoConsumerClosure;
import org.apache.archiva.rest.services.utils.AdminRepositoryConsumerComparator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;

import javax.inject.Inject;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * @author Olivier Lamy
 * @since 1.4-M1
 */
@Service("archivaAdministrationService#default")
public class DefaultArchivaAdministrationService extends AbstractRestService
        implements ArchivaAdministrationService {
    @Inject
    private ArchivaAdministration archivaAdministration;

    @Inject
    private RepositoryContentConsumers repoConsumerUtil;

    @Override
    public List<LegacyArtifactPath> getLegacyArtifactPaths() throws ArchivaRestServiceException {
        try {
            return archivaAdministration.getLegacyArtifactPaths();
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean deleteLegacyArtifactPath(String path) throws ArchivaRestServiceException {
        try {
            archivaAdministration.deleteLegacyArtifactPath(path, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean addFileTypePattern(String fileTypeId, String pattern) throws ArchivaRestServiceException {
        try {
            archivaAdministration.addFileTypePattern(fileTypeId, pattern, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean removeFileTypePattern(String fileTypeId, String pattern) throws ArchivaRestServiceException {
        try {
            archivaAdministration.removeFileTypePattern(fileTypeId, pattern, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public FileType getFileType(String fileTypeId) throws ArchivaRestServiceException {
        try {
            return archivaAdministration.getFileType(fileTypeId);
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public void addFileType(FileType fileType) throws ArchivaRestServiceException {
        try {
            archivaAdministration.addFileType(fileType, getAuditInformation());
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean removeFileType(String fileTypeId) throws ArchivaRestServiceException {
        try {
            archivaAdministration.removeFileType(fileTypeId, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean enabledKnownContentConsumer(String knownContentConsumer) throws ArchivaRestServiceException {
        try {
            archivaAdministration.addKnownContentConsumer(knownContentConsumer, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public void enabledKnownContentConsumers(List<String> knownContentConsumers)
            throws ArchivaRestServiceException {
        try {
            archivaAdministration.setKnownContentConsumers(knownContentConsumers, getAuditInformation());
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean disabledKnownContentConsumer(String knownContentConsumer) throws ArchivaRestServiceException {
        try {
            archivaAdministration.removeKnownContentConsumer(knownContentConsumer, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean enabledInvalidContentConsumer(String invalidContentConsumer) throws ArchivaRestServiceException {
        try {
            archivaAdministration.addInvalidContentConsumer(invalidContentConsumer, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public void enabledInvalidContentConsumers(List<String> invalidContentConsumers)
            throws ArchivaRestServiceException {
        try {
            archivaAdministration.setInvalidContentConsumers(invalidContentConsumers, getAuditInformation());
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean disabledInvalidContentConsumer(String invalidContentConsumer)
            throws ArchivaRestServiceException {
        try {
            archivaAdministration.removeInvalidContentConsumer(invalidContentConsumer, getAuditInformation());
            return Boolean.TRUE;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public List<FileType> getFileTypes() throws ArchivaRestServiceException {
        try {
            List<FileType> modelfileTypes = archivaAdministration.getFileTypes();
            if (modelfileTypes == null || modelfileTypes.isEmpty()) {
                return Collections.emptyList();
            }
            return modelfileTypes;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public List<String> getKnownContentConsumers() throws ArchivaRestServiceException {
        try {
            return new ArrayList<String>(archivaAdministration.getKnownContentConsumers());
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public List<String> getInvalidContentConsumers() throws ArchivaRestServiceException {
        try {
            return new ArrayList<String>(archivaAdministration.getInvalidContentConsumers());
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public OrganisationInformation getOrganisationInformation() throws ArchivaRestServiceException {
        try {
            return archivaAdministration.getOrganisationInformation();
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public void setOrganisationInformation(OrganisationInformation organisationInformation)
            throws ArchivaRestServiceException {
        try {
            archivaAdministration.setOrganisationInformation(organisationInformation);
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public Boolean registrationDisabled() throws ArchivaRestServiceException {
        return getUiConfiguration().isDisableRegistration();
    }

    @Override
    public UiConfiguration getUiConfiguration() throws ArchivaRestServiceException {
        try {
            return archivaAdministration.getUiConfiguration();
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public void setUiConfiguration(UiConfiguration uiConfiguration) throws ArchivaRestServiceException {
        try {
            // fix for MRM-1757
            // strip any trailing '/' at the end of the url so it won't affect url/link calculations in UI
            uiConfiguration.setApplicationUrl(StringUtils.stripEnd(uiConfiguration.getApplicationUrl(), "/"));

            archivaAdministration.updateUiConfiguration(uiConfiguration);
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public String getApplicationUrl() throws ArchivaRestServiceException {
        try {
            return archivaAdministration.getUiConfiguration().getApplicationUrl();
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public NetworkConfiguration getNetworkConfiguration() throws ArchivaRestServiceException {
        try {
            return archivaAdministration.getNetworkConfiguration();
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public void setNetworkConfiguration(NetworkConfiguration networkConfiguration)
            throws ArchivaRestServiceException {
        try {
            archivaAdministration.setNetworkConfiguration(networkConfiguration);
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public List<AdminRepositoryConsumer> getKnownContentAdminRepositoryConsumers()
            throws ArchivaRestServiceException {
        try {
            AddAdminRepoConsumerClosure addAdminRepoConsumer = new AddAdminRepoConsumerClosure(
                    archivaAdministration.getKnownContentConsumers());
            CollectionUtils.forAllDo(repoConsumerUtil.getAvailableKnownConsumers(), addAdminRepoConsumer);
            List<AdminRepositoryConsumer> knownContentConsumers = addAdminRepoConsumer.getList();
            Collections.sort(knownContentConsumers, AdminRepositoryConsumerComparator.getInstance());
            return knownContentConsumers;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }

    @Override
    public List<AdminRepositoryConsumer> getInvalidContentAdminRepositoryConsumers()
            throws ArchivaRestServiceException {
        try {
            AddAdminRepoConsumerClosure addAdminRepoConsumer = new AddAdminRepoConsumerClosure(
                    archivaAdministration.getInvalidContentConsumers());
            CollectionUtils.forAllDo(repoConsumerUtil.getAvailableInvalidConsumers(), addAdminRepoConsumer);
            List<AdminRepositoryConsumer> invalidContentConsumers = addAdminRepoConsumer.getList();
            Collections.sort(invalidContentConsumers, AdminRepositoryConsumerComparator.getInstance());
            return invalidContentConsumers;
        } catch (RepositoryAdminException e) {
            throw new ArchivaRestServiceException(e.getMessage(), e);
        }
    }
}