private void validateProxyConnectorRule( ProxyConnectorRule proxyConnectorRule ) throws ArchivaRestServiceException { if ( StringUtils.isEmpty( proxyConnectorRule.getPattern() ) ) { ArchivaRestServiceException e = new ArchivaRestServiceException( "pattern cannot be empty", null ); e.setErrorKey( "proxy-connector-rule.pattern.empty" ); throw e; } if ( proxyConnectorRule.getProxyConnectors() == null || proxyConnectorRule.getProxyConnectors().isEmpty() ) { ArchivaRestServiceException e = new ArchivaRestServiceException( "proxyConnector rule must have proxyConnectors.", null ); e.setErrorKey( "proxy-connector-rule.pattern.connectors.empty" ); throw e; } for ( ProxyConnectorRule proxyConnectorRule1 : getProxyConnectorRules() ) { if ( StringUtils.equals( proxyConnectorRule.getPattern(), proxyConnectorRule1.getPattern() ) && proxyConnectorRule.getProxyConnectorRuleType() == proxyConnectorRule1.getProxyConnectorRuleType() ) { ArchivaRestServiceException e = new ArchivaRestServiceException( "same ProxyConnector rule already exists.", null ); e.setErrorKey( "proxy-connector-rule.pattern.already.exists" ); throw e; } } }
@Override public List<ProxyConnectorRule> getProxyConnectorRules() throws RepositoryAdminException { List<ProxyConnectorRuleConfiguration> proxyConnectorRuleConfigurations = getArchivaConfiguration().getConfiguration().getProxyConnectorRuleConfigurations(); if ( proxyConnectorRuleConfigurations.isEmpty() ) { return Collections.emptyList(); } List<ProxyConnectorRule> proxyConnectorRules = new ArrayList<>( proxyConnectorRuleConfigurations.size() ); for ( ProxyConnectorRuleConfiguration proxyConnectorRuleConfiguration : proxyConnectorRuleConfigurations ) { ProxyConnectorRule proxyConnectorRule = new ProxyConnectorRule(); proxyConnectorRule.setPattern( proxyConnectorRuleConfiguration.getPattern() ); proxyConnectorRule.setProxyConnectorRuleType( getProxyConnectorRuleType( proxyConnectorRuleConfiguration.getRuleType() ) ); for ( ProxyConnectorConfiguration proxyConnectorConfiguration : proxyConnectorRuleConfiguration.getProxyConnectors() ) { ProxyConnector proxyConnector = new ProxyConnector(); proxyConnector.setSourceRepoId( proxyConnectorConfiguration.getSourceRepoId() ); proxyConnector.setTargetRepoId( proxyConnectorConfiguration.getTargetRepoId() ); proxyConnectorRule.getProxyConnectors().add( proxyConnector ); } proxyConnectorRules.add( proxyConnectorRule ); } return proxyConnectorRules; }
@Override public void deleteProxyConnectorRule( ProxyConnectorRule proxyConnectorRule, AuditInformation auditInformation ) throws RepositoryAdminException { Configuration configuration = getArchivaConfiguration().getConfiguration(); // key is the pattern !! // recreate a list without the pattern boolean toSave = false; List<ProxyConnectorRuleConfiguration> proxyConnectorRuleConfigurations = new ArrayList<>(); for ( ProxyConnectorRuleConfiguration proxyConnectorRuleConfiguration : configuration.getProxyConnectorRuleConfigurations() ) { if ( StringUtils.equals( proxyConnectorRuleConfiguration.getPattern(), proxyConnectorRule.getPattern() ) && StringUtils.equals( proxyConnectorRuleConfiguration.getRuleType(), proxyConnectorRule.getProxyConnectorRuleType().getRuleType() ) ) { toSave = true; } else { proxyConnectorRuleConfigurations.add( proxyConnectorRuleConfiguration ); } } if ( toSave ) { configuration.setProxyConnectorRuleConfigurations( proxyConnectorRuleConfigurations ); saveConfiguration( configuration ); } }
private void validateProxyConnectorRule( ProxyConnectorRule proxyConnectorRule ) throws ArchivaRestServiceException { if ( StringUtils.isEmpty( proxyConnectorRule.getPattern() ) ) { ArchivaRestServiceException e = new ArchivaRestServiceException( "pattern cannot be empty", null ); e.setErrorKey( "proxy-connector-rule.pattern.empty" ); throw e; } if ( proxyConnectorRule.getProxyConnectors() == null || proxyConnectorRule.getProxyConnectors().isEmpty() ) { ArchivaRestServiceException e = new ArchivaRestServiceException( "proxyConnector rule must have proxyConnectors.", null ); e.setErrorKey( "proxy-connector-rule.pattern.connectors.empty" ); throw e; } for ( ProxyConnectorRule proxyConnectorRule1 : getProxyConnectorRules() ) { if ( StringUtils.equals( proxyConnectorRule.getPattern(), proxyConnectorRule1.getPattern() ) && proxyConnectorRule.getProxyConnectorRuleType() == proxyConnectorRule1.getProxyConnectorRuleType() ) { ArchivaRestServiceException e = new ArchivaRestServiceException( "same ProxyConnector rule already exists.", null ); e.setErrorKey( "proxy-connector-rule.pattern.already.exists" ); throw e; } } }
@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 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 ); }