Search in sources :

Example 1 with org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror

use of org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror in project haikudepotserver by haiku.

the class RepositoryDumpExportJobRunner method createDumpRepository.

private DumpExportRepository createDumpRepository(Repository repository) {
    DumpExportRepository dumpRepository = new DumpExportRepository();
    dumpRepository.setCode(repository.getCode());
    dumpRepository.setName(repository.getName());
    dumpRepository.setDescription(repository.getDescription());
    dumpRepository.setInformationUrl(repository.getInformationUrl());
    dumpRepository.setRepositorySources(repository.getRepositorySources().stream().filter(_RepositorySource::getActive).filter(rs -> rs.tryGetPrimaryMirror().isPresent()).sorted(Comparator.comparing(_RepositorySource::getCode)).map((rs) -> {
        DumpExportRepositorySource dumpRepositorySource = new DumpExportRepositorySource();
        dumpRepositorySource.setCode(rs.getCode());
        dumpRepositorySource.setArchitectureCode(Optional.ofNullable(rs.getArchitecture()).map(Architecture::getCode).orElse(null));
        dumpRepositorySource.setIdentifier(rs.getIdentifier());
        dumpRepositorySource.setRepoInfoUrl(rs.getIdentifier());
        // ^^ deprecated; repoInfoUrl is replaced with identifier
        dumpRepositorySource.setExtraIdentifiers(rs.getExtraIdentifiers());
        dumpRepositorySource.setRepositorySourceMirrors(rs.getRepositorySourceMirrors().stream().filter(_RepositorySourceMirror::getActive).sorted(Comparator.comparing(_RepositorySourceMirror::getCode)).map(rsm -> {
            DumpExportRepositorySourceMirror dumpMirror = new DumpExportRepositorySourceMirror();
            dumpMirror.setBaseUrl(rsm.getBaseUrl());
            dumpMirror.setCountryCode(rsm.getCountry().getCode());
            dumpMirror.setDescription(rsm.getDescription());
            dumpMirror.setIsPrimary(rsm.getIsPrimary());
            return dumpMirror;
        }).collect(Collectors.toList()));
        return dumpRepositorySource;
    }).collect(Collectors.toList()));
    return dumpRepository;
}
Also used : DumpExportRepository(org.haiku.haikudepotserver.repository.model.dumpexport.DumpExportRepository) DumpExportRepositorySourceMirror(org.haiku.haikudepotserver.repository.model.dumpexport.DumpExportRepositorySourceMirror) org.haiku.haikudepotserver.dataobjects.auto._RepositorySource(org.haiku.haikudepotserver.dataobjects.auto._RepositorySource) Architecture(org.haiku.haikudepotserver.dataobjects.Architecture) org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror(org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror) DumpExportRepositorySource(org.haiku.haikudepotserver.repository.model.dumpexport.DumpExportRepositorySource)

Example 2 with org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror

use of org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror in project haikudepotserver by haiku.

the class RepositoryApiImpl method getRepository.

@Override
public GetRepositoryResult getRepository(GetRepositoryRequest getRepositoryRequest) {
    Preconditions.checkNotNull(getRepositoryRequest);
    Preconditions.checkState(!Strings.isNullOrEmpty(getRepositoryRequest.code));
    final ObjectContext context = serverRuntime.newContext();
    final Repository repository = getRepositoryOrThrow(context, getRepositoryRequest.code);
    if (!permissionEvaluator.hasPermission(SecurityContextHolder.getContext().getAuthentication(), repository, Permission.REPOSITORY_VIEW)) {
        throw new AccessDeniedException("unable to view repository [" + repository + "]");
    }
    GetRepositoryResult result = new GetRepositoryResult();
    result.active = repository.getActive();
    result.code = repository.getCode();
    result.name = repository.getName();
    result.createTimestamp = repository.getCreateTimestamp().getTime();
    result.modifyTimestamp = repository.getModifyTimestamp().getTime();
    result.informationUrl = repository.getInformationUrl();
    result.hasPassword = StringUtils.isNotBlank(repository.getPasswordHash());
    result.repositorySources = repository.getRepositorySources().stream().filter(rs -> rs.getActive() || (null != getRepositoryRequest.includeInactiveRepositorySources && getRepositoryRequest.includeInactiveRepositorySources)).map(rs -> {
        GetRepositoryResult.RepositorySource resultRs = new GetRepositoryResult.RepositorySource();
        resultRs.active = rs.getActive();
        resultRs.code = rs.getCode();
        resultRs.url = rs.tryGetPrimaryMirror().map(_RepositorySourceMirror::getBaseUrl).orElse(null);
        resultRs.identifier = rs.getIdentifier();
        resultRs.architectureCode = Optional.ofNullable(rs.getArchitecture()).map(Architecture::getCode).orElse(null);
        if (null != rs.getLastImportTimestamp()) {
            resultRs.lastImportTimestamp = rs.getLastImportTimestamp().getTime();
        }
        return resultRs;
    }).collect(Collectors.toList());
    return result;
}
Also used : GetRepositorySourceMirrorResult(org.haiku.haikudepotserver.api1.model.repository.GetRepositorySourceMirrorResult) CreateRepositoryResult(org.haiku.haikudepotserver.api1.model.repository.CreateRepositoryResult) CreateRepositorySourceRequest(org.haiku.haikudepotserver.api1.model.repository.CreateRepositorySourceRequest) RemoveRepositorySourceMirrorResult(org.haiku.haikudepotserver.api1.model.repository.RemoveRepositorySourceMirrorResult) LoggerFactory(org.slf4j.LoggerFactory) RepositorySourceExtraIdentifier(org.haiku.haikudepotserver.dataobjects.RepositorySourceExtraIdentifier) StringUtils(org.apache.commons.lang3.StringUtils) RepositoryService(org.haiku.haikudepotserver.repository.model.RepositoryService) SecurityContextHolder(org.springframework.security.core.context.SecurityContextHolder) UpdateRepositorySourceMirrorResult(org.haiku.haikudepotserver.api1.model.repository.UpdateRepositorySourceMirrorResult) org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror(org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror) PkgSearchSpecification(org.haiku.haikudepotserver.pkg.model.PkgSearchSpecification) SingleCollector(org.haiku.haikudepotserver.support.SingleCollector) RepositorySource(org.haiku.haikudepotserver.dataobjects.RepositorySource) RepositorySourceMirror(org.haiku.haikudepotserver.dataobjects.RepositorySourceMirror) Set(java.util.Set) SearchRepositoriesResult(org.haiku.haikudepotserver.api1.model.repository.SearchRepositoriesResult) UUID(java.util.UUID) GetRepositoriesResult(org.haiku.haikudepotserver.api1.model.repository.GetRepositoriesResult) UpdateRepositorySourceResult(org.haiku.haikudepotserver.api1.model.repository.UpdateRepositorySourceResult) Collectors(java.util.stream.Collectors) GetRepositorySourceMirrorRequest(org.haiku.haikudepotserver.api1.model.repository.GetRepositorySourceMirrorRequest) List(java.util.List) GetRepositoryRequest(org.haiku.haikudepotserver.api1.model.repository.GetRepositoryRequest) UpdateRepositoryRequest(org.haiku.haikudepotserver.api1.model.repository.UpdateRepositoryRequest) Repository(org.haiku.haikudepotserver.dataobjects.Repository) Optional(java.util.Optional) Country(org.haiku.haikudepotserver.dataobjects.Country) ObjectNotFoundException(org.haiku.haikudepotserver.api1.support.ObjectNotFoundException) UpdateRepositoryResult(org.haiku.haikudepotserver.api1.model.repository.UpdateRepositoryResult) TriggerImportRepositoryRequest(org.haiku.haikudepotserver.api1.model.repository.TriggerImportRepositoryRequest) ObjectContext(org.apache.cayenne.ObjectContext) Permission(org.haiku.haikudepotserver.security.model.Permission) ValidationException(org.haiku.haikudepotserver.api1.support.ValidationException) JobSnapshot(org.haiku.haikudepotserver.job.model.JobSnapshot) TriggerImportRepositoryResult(org.haiku.haikudepotserver.api1.model.repository.TriggerImportRepositoryResult) BooleanUtils(org.apache.commons.lang3.BooleanUtils) GetRepositorySourceResult(org.haiku.haikudepotserver.api1.model.repository.GetRepositorySourceResult) PersistentObject(org.apache.cayenne.PersistentObject) CreateRepositorySourceResult(org.haiku.haikudepotserver.api1.model.repository.CreateRepositorySourceResult) CollectionUtils(org.apache.commons.collections4.CollectionUtils) RemoveRepositorySourceMirrorRequest(org.haiku.haikudepotserver.api1.model.repository.RemoveRepositorySourceMirrorRequest) GetRepositoriesRequest(org.haiku.haikudepotserver.api1.model.repository.GetRepositoriesRequest) HashSet(java.util.HashSet) Strings(com.google.common.base.Strings) SetUtils(org.apache.commons.collections4.SetUtils) SearchRepositoriesRequest(org.haiku.haikudepotserver.api1.model.repository.SearchRepositoriesRequest) JobService(org.haiku.haikudepotserver.job.model.JobService) GetRepositoryResult(org.haiku.haikudepotserver.api1.model.repository.GetRepositoryResult) Logger(org.slf4j.Logger) UpdateRepositorySourceRequest(org.haiku.haikudepotserver.api1.model.repository.UpdateRepositorySourceRequest) AutoJsonRpcServiceImpl(com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImpl) Architecture(org.haiku.haikudepotserver.dataobjects.Architecture) AccessDeniedException(org.springframework.security.access.AccessDeniedException) PermissionEvaluator(org.springframework.security.access.PermissionEvaluator) CreateRepositorySourceMirrorRequest(org.haiku.haikudepotserver.api1.model.repository.CreateRepositorySourceMirrorRequest) RepositoryHpkrIngressJobSpecification(org.haiku.haikudepotserver.repository.model.RepositoryHpkrIngressJobSpecification) CreateRepositorySourceMirrorResult(org.haiku.haikudepotserver.api1.model.repository.CreateRepositorySourceMirrorResult) Component(org.springframework.stereotype.Component) CreateRepositoryRequest(org.haiku.haikudepotserver.api1.model.repository.CreateRepositoryRequest) ObjectId(org.apache.cayenne.ObjectId) UpdateRepositorySourceMirrorRequest(org.haiku.haikudepotserver.api1.model.repository.UpdateRepositorySourceMirrorRequest) Preconditions(com.google.common.base.Preconditions) RepositorySearchSpecification(org.haiku.haikudepotserver.repository.model.RepositorySearchSpecification) ValidationFailure(org.haiku.haikudepotserver.api1.support.ValidationFailure) ServerRuntime(org.apache.cayenne.configuration.server.ServerRuntime) Collections(java.util.Collections) GetRepositorySourceRequest(org.haiku.haikudepotserver.api1.model.repository.GetRepositorySourceRequest) Repository(org.haiku.haikudepotserver.dataobjects.Repository) AccessDeniedException(org.springframework.security.access.AccessDeniedException) Architecture(org.haiku.haikudepotserver.dataobjects.Architecture) RepositorySource(org.haiku.haikudepotserver.dataobjects.RepositorySource) ObjectContext(org.apache.cayenne.ObjectContext) org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror(org.haiku.haikudepotserver.dataobjects.auto._RepositorySourceMirror) GetRepositoryResult(org.haiku.haikudepotserver.api1.model.repository.GetRepositoryResult)

Aggregations

Preconditions (com.google.common.base.Preconditions)1 Strings (com.google.common.base.Strings)1 AutoJsonRpcServiceImpl (com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImpl)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Optional (java.util.Optional)1 Set (java.util.Set)1 UUID (java.util.UUID)1 Collectors (java.util.stream.Collectors)1 ObjectContext (org.apache.cayenne.ObjectContext)1 ObjectId (org.apache.cayenne.ObjectId)1 PersistentObject (org.apache.cayenne.PersistentObject)1 ServerRuntime (org.apache.cayenne.configuration.server.ServerRuntime)1 CollectionUtils (org.apache.commons.collections4.CollectionUtils)1 SetUtils (org.apache.commons.collections4.SetUtils)1 BooleanUtils (org.apache.commons.lang3.BooleanUtils)1 StringUtils (org.apache.commons.lang3.StringUtils)1 CreateRepositoryRequest (org.haiku.haikudepotserver.api1.model.repository.CreateRepositoryRequest)1 CreateRepositoryResult (org.haiku.haikudepotserver.api1.model.repository.CreateRepositoryResult)1