@Override public boolean evaluate( Object object ) { boolean satisfies = false; if ( object instanceof ProxyConnector ) { ProxyConnector connector = (ProxyConnector) object; return ( StringUtils.equals( sourceId, connector.getSourceRepoId() ) && StringUtils.equals( targetId, connector.getTargetRepoId() ) ); } return satisfies; } }
@Override public boolean evaluate( Object object ) { boolean satisfies = false; if ( object instanceof ProxyConnector ) { ProxyConnector connector = (ProxyConnector) object; return ( StringUtils.equals( sourceId, connector.getSourceRepoId() ) && StringUtils.equals( targetId, connector.getTargetRepoId() ) ); } return satisfies; } }
@Override public ProxyConnector getProxyConnector( String sourceRepoId, String targetRepoId ) throws RepositoryAdminException { for ( ProxyConnector proxyConnector : getProxyConnectors() ) { if ( StringUtils.equals( sourceRepoId, proxyConnector.getSourceRepoId() ) && StringUtils.equals( targetRepoId, proxyConnector.getTargetRepoId() ) ) { return proxyConnector; } } return null; }
if ( StringUtils.equals( remoteRepo, proxyConnector.getTargetRepoId() ) ) if ( StringUtils.equals( remoteRepo, proxyConnector.getTargetRepoId() ) )
@Override public Set<String> getRemoteIndexingContextIds( String managedRepoId ) throws RepositoryAdminException { Set<String> ids = new HashSet<>(); List<ProxyConnector> proxyConnectors = proxyConnectorAdmin.getProxyConnectorAsMap().get( managedRepoId ); if ( proxyConnectors == null || proxyConnectors.isEmpty() ) { return ids; } for ( ProxyConnector proxyConnector : proxyConnectors ) { String remoteId = "remote-" + proxyConnector.getTargetRepoId(); IndexingContext context = indexer.getIndexingContexts().get( remoteId ); if ( context != null && context.isSearchable() ) { ids.add( remoteId ); } } return ids; }
if ( StringUtils.equals( remoteRepo, proxyConnector.getTargetRepoId() ) ) if ( StringUtils.equals( remoteRepo, proxyConnector.getTargetRepoId() ) )
protected void validateProxyConnector( ProxyConnector proxyConnector ) throws RepositoryAdminException { // validate source a Managed target a Remote if ( managedRepositoryAdmin.getManagedRepository( proxyConnector.getSourceRepoId() ) == null ) { throw new RepositoryAdminException( "non valid ProxyConnector sourceRepo with id " + proxyConnector.getSourceRepoId() + " is not a ManagedRepository" ); } if ( remoteRepositoryAdmin.getRemoteRepository( proxyConnector.getTargetRepoId() ) == null ) { throw new RepositoryAdminException( "non valid ProxyConnector sourceRepo with id " + proxyConnector.getTargetRepoId() + " is not a RemoteRepository" ); } // FIXME validate NetworkProxyConfiguration too when available } }
@Override public Boolean deleteProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation ) throws RepositoryAdminException { Configuration configuration = getArchivaConfiguration().getConfiguration(); ProxyConnectorConfiguration proxyConnectorConfiguration = findProxyConnector( proxyConnector.getSourceRepoId(), proxyConnector.getTargetRepoId(), configuration ); if ( proxyConnectorConfiguration == null ) { throw new RepositoryAdminException( "unable to find ProxyConnector with source " + proxyConnector.getSourceRepoId() + " and target " + proxyConnector.getTargetRepoId() ); } configuration.removeProxyConnector( proxyConnectorConfiguration ); saveConfiguration( configuration ); triggerAuditEvent( proxyConnector.getSourceRepoId() + "-" + proxyConnector.getTargetRepoId(), null, AuditEvent.DELETE_PROXY_CONNECTOR, auditInformation ); return Boolean.TRUE; }
String remoteId = "remote-" + proxyConnector.getTargetRepoId(); RemoteRepository repo = repositoryRegistry.getRemoteRepository(proxyConnector.getTargetRepoId()); if (repo.getType()==RepositoryType.MAVEN) { try {
if ( StringUtils.equals( "remote-" + proxyConnector.getTargetRepoId(),
if ( StringUtils.equals( "remote-" + proxyConnector.getTargetRepoId(),
@Override public Boolean updateProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation ) throws RepositoryAdminException { Configuration configuration = getArchivaConfiguration().getConfiguration(); ProxyConnectorConfiguration proxyConnectorConfiguration = findProxyConnector( proxyConnector.getSourceRepoId(), proxyConnector.getTargetRepoId(), configuration ); configuration.removeProxyConnector( proxyConnectorConfiguration ); configuration.addProxyConnector( getProxyConnectorConfiguration( proxyConnector ) ); saveConfiguration( configuration ); triggerAuditEvent( proxyConnector.getSourceRepoId() + "-" + proxyConnector.getTargetRepoId(), null, AuditEvent.MODIFY_PROXY_CONNECTOR, auditInformation ); return Boolean.TRUE; }
repositoryRegistry.getRemoteRepository( proxyConnector.getTargetRepoId() ) ); networkProxies.put( proxyConnector.getTargetRepoId(), networkProxyConfig );
remoteRepositoryAdmin.getRemoteRepository( proxyConnector.getTargetRepoId() ) ); networkProxies.put( proxyConnector.getTargetRepoId(), networkProxyConfig );
@Override public void updateProxyConnectorRule( ProxyConnectorRule proxyConnectorRule, AuditInformation auditInformation ) throws RepositoryAdminException { Configuration configuration = getArchivaConfiguration().getConfiguration(); for ( ProxyConnectorRuleConfiguration proxyConnectorRuleConfiguration : configuration.getProxyConnectorRuleConfigurations() ) { if ( StringUtils.equals( proxyConnectorRuleConfiguration.getPattern(), proxyConnectorRule.getPattern() ) && StringUtils.equals( proxyConnectorRuleConfiguration.getRuleType(), proxyConnectorRule.getProxyConnectorRuleType().getRuleType() ) ) { List<ProxyConnectorConfiguration> proxyConnectors = new ArrayList<>( proxyConnectorRule.getProxyConnectors().size() ); for ( ProxyConnector proxyConnector : proxyConnectorRule.getProxyConnectors() ) { ProxyConnectorConfiguration proxyConnectorConfiguration = new ProxyConnectorConfiguration(); proxyConnectorConfiguration.setSourceRepoId( proxyConnector.getSourceRepoId() ); proxyConnectorConfiguration.setTargetRepoId( proxyConnector.getTargetRepoId() ); proxyConnectors.add( proxyConnectorConfiguration ); } proxyConnectorRuleConfiguration.setProxyConnectors( proxyConnectors ); saveConfiguration( configuration ); } } } }
@Override public Boolean addProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation ) throws RepositoryAdminException { if ( getProxyConnector( proxyConnector.getSourceRepoId(), proxyConnector.getTargetRepoId() ) != null ) { throw new RepositoryAdminException( "Unable to add proxy connector, as one already exists with source repository id [" + proxyConnector.getSourceRepoId() + "] and target repository id [" + proxyConnector.getTargetRepoId() + "]." ); } validateProxyConnector( proxyConnector ); proxyConnector.setBlackListPatterns( unescapePatterns( proxyConnector.getBlackListPatterns() ) ); proxyConnector.setWhiteListPatterns( unescapePatterns( proxyConnector.getWhiteListPatterns() ) ); Configuration configuration = getArchivaConfiguration().getConfiguration(); ProxyConnectorConfiguration proxyConnectorConfiguration = getProxyConnectorConfiguration( proxyConnector ); configuration.addProxyConnector( proxyConnectorConfiguration ); saveConfiguration( configuration ); triggerAuditEvent( proxyConnector.getSourceRepoId() + "-" + proxyConnector.getTargetRepoId(), null, AuditEvent.ADD_PROXY_CONNECTOR, auditInformation ); return Boolean.TRUE; }
@Override public void addProxyConnectorRule( ProxyConnectorRule proxyConnectorRule, AuditInformation auditInformation ) throws RepositoryAdminException { ProxyConnectorRuleConfiguration proxyConnectorRuleConfiguration = new ProxyConnectorRuleConfiguration(); proxyConnectorRuleConfiguration.setPattern( proxyConnectorRule.getPattern() ); proxyConnectorRuleConfiguration.setRuleType( proxyConnectorRule.getProxyConnectorRuleType().getRuleType() ); for ( ProxyConnector proxyConnector : proxyConnectorRule.getProxyConnectors() ) { ProxyConnectorConfiguration proxyConnectorConfiguration = new ProxyConnectorConfiguration(); proxyConnectorConfiguration.setSourceRepoId( proxyConnector.getSourceRepoId() ); proxyConnectorConfiguration.setTargetRepoId( proxyConnector.getTargetRepoId() ); proxyConnectorRuleConfiguration.getProxyConnectors().add( proxyConnectorConfiguration ); } Configuration configuration = getArchivaConfiguration().getConfiguration(); configuration.getProxyConnectorRuleConfigurations().add( proxyConnectorRuleConfiguration ); saveConfiguration( configuration ); }
repositoryRegistry.getRemoteRepository( proxyConnector.getTargetRepoId() ); networkProxies.put( proxyConnector.getTargetRepoId(), networkProxyConfig );
remoteRepositoryAdmin.getRemoteRepository( proxyConnector.getTargetRepoId() ); networkProxies.put( proxyConnector.getTargetRepoId(), networkProxyConfig );