Browse Source

Removing dependency on ComponentContainer (spring-utils)

pull/52/head
Martin Stockhammer 4 years ago
parent
commit
8d800b6e1a

+ 2
- 0
archiva-modules/archiva-base/archiva-configuration/pom.xml View File

</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!--
<dependency> <dependency>
<groupId>org.apache.archiva.redback.components</groupId> <groupId>org.apache.archiva.redback.components</groupId>
<artifactId>spring-utils</artifactId> <artifactId>spring-utils</artifactId>
</dependency> </dependency>
-->
<dependency> <dependency>
<groupId>commons-io</groupId> <groupId>commons-io</groupId>
<artifactId>commons-io</artifactId> <artifactId>commons-io</artifactId>

+ 2
- 101
archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java View File

import org.apache.archiva.policies.AbstractUpdatePolicy; import org.apache.archiva.policies.AbstractUpdatePolicy;
import org.apache.archiva.policies.CachedFailuresPolicy; import org.apache.archiva.policies.CachedFailuresPolicy;
import org.apache.archiva.policies.ChecksumPolicy; import org.apache.archiva.policies.ChecksumPolicy;
import org.apache.archiva.policies.DownloadErrorPolicy;
import org.apache.archiva.policies.Policy;
import org.apache.archiva.policies.PostDownloadPolicy;
import org.apache.archiva.policies.PreDownloadPolicy;
import org.apache.archiva.redback.components.evaluator.DefaultExpressionEvaluator; import org.apache.archiva.redback.components.evaluator.DefaultExpressionEvaluator;
import org.apache.archiva.redback.components.evaluator.EvaluatorException; import org.apache.archiva.redback.components.evaluator.EvaluatorException;
import org.apache.archiva.redback.components.evaluator.ExpressionEvaluator; import org.apache.archiva.redback.components.evaluator.ExpressionEvaluator;
import org.apache.archiva.redback.components.registry.RegistryException; import org.apache.archiva.redback.components.registry.RegistryException;
import org.apache.archiva.redback.components.registry.RegistryListener; import org.apache.archiva.redback.components.registry.RegistryListener;
import org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry; import org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry;
import org.apache.archiva.redback.components.springutils.ComponentContainer;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.configuration.BaseConfiguration; import org.apache.commons.configuration.BaseConfiguration;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Set;


/** /**
* <p> * <p>
@Named(value = "commons-configuration") @Named(value = "commons-configuration")
private Registry registry; private Registry registry;


@Inject
private ComponentContainer componentContainer;

/** /**
* The configuration that has been converted. * The configuration that has been converted.
*/ */
private Configuration configuration; private Configuration configuration;


/**
* see #initialize
*
* @todo these don't strictly belong in here
*/
private Map<String, PreDownloadPolicy> prePolicies;

/**
* see #initialize
*
* @todo these don't strictly belong in here
*/
private Map<String, PostDownloadPolicy> postPolicies;

/**
* see #initialize
*
* @todo these don't strictly belong in here
*/
private Map<String, DownloadErrorPolicy> downloadErrorPolicies;


/** /**
* see #initialize * see #initialize
* default-value="${user.home}/.m2/archiva.xml" * default-value="${user.home}/.m2/archiva.xml"
} }


// Validate existance of policy key. // Validate existance of policy key.
if (policyExists(policyId)) {
Policy policy = findPolicy(policyId);
// Does option exist?
if (!policy.getOptions().contains(setting)) {
setting = policy.getDefaultOption().getId();
}
connector.addPolicy(policyId, setting);
} else {
// Policy key doesn't exist. Don't add it to golden version.
log.warn("Policy [{}] does not exist.", policyId);
}
connector.addPolicy(policyId, setting);
} }


if (connectorValid) { if (connectorValid) {
return value; return value;
} }


private Policy findPolicy(String policyId) {
if (MapUtils.isEmpty(prePolicies)) {
log.error("No PreDownloadPolicies found!");
return null;
}

if (MapUtils.isEmpty(postPolicies)) {
log.error("No PostDownloadPolicies found!");
return null;
}

Policy policy;

policy = prePolicies.get(policyId);
if (policy != null) {
return policy;
}

policy = postPolicies.get(policyId);
if (policy != null) {
return policy;
}

policy = downloadErrorPolicies.get(policyId);
if (policy != null) {
return policy;
}

return null;
}

private boolean policyExists(String policyId) {
if (MapUtils.isEmpty(prePolicies)) {
log.error("No PreDownloadPolicies found!");
return false;
}

if (MapUtils.isEmpty(postPolicies)) {
log.error("No PostDownloadPolicies found!");
return false;
}

return (prePolicies.containsKey(policyId) || postPolicies.containsKey(policyId)
|| downloadErrorPolicies.containsKey(policyId));
}


private Registry readDefaultConfiguration() { private Registry readDefaultConfiguration() {
// if it contains some old configuration, remove it (Archiva 0.9) // if it contains some old configuration, remove it (Archiva 0.9)
@PostConstruct @PostConstruct
public void initialize() { public void initialize() {


this.postPolicies = componentContainer.buildMapWithRole(PostDownloadPolicy.class);
this.prePolicies = componentContainer.buildMapWithRole(PreDownloadPolicy.class);
this.downloadErrorPolicies = componentContainer.buildMapWithRole(DownloadErrorPolicy.class);
// Resolve expressions in the userConfigFilename and altConfigFilename // Resolve expressions in the userConfigFilename and altConfigFilename
try { try {
ExpressionEvaluator expressionEvaluator = new DefaultExpressionEvaluator(); ExpressionEvaluator expressionEvaluator = new DefaultExpressionEvaluator();

+ 2
- 0
archiva-modules/archiva-base/archiva-plexus-bridge/pom.xml View File

<artifactId>maven-artifact</artifactId> <artifactId>maven-artifact</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!--
<dependency> <dependency>
<groupId>org.apache.archiva.redback.components</groupId> <groupId>org.apache.archiva.redback.components</groupId>
<artifactId>spring-utils</artifactId> <artifactId>spring-utils</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
-->


</dependencies> </dependencies>
</project> </project>

+ 0
- 2
archiva-modules/archiva-web/archiva-webdav/src/test/resources/repository-servlet-simple.xml View File



<alias name="registry#default" alias="commons-configuration"/> <alias name="registry#default" alias="commons-configuration"/>


<bean name="componentContainer" class="org.apache.archiva.redback.components.springutils.ComponentContainer"/>

<alias name="userConfiguration#redback" alias="userConfiguration#default"/> <alias name="userConfiguration#redback" alias="userConfiguration#default"/>
<alias name="authorizer#rbac" alias="authorizer#default"/> <alias name="authorizer#rbac" alias="authorizer#default"/>
<alias name="userManager#configurable" alias="userManager#default"/> <alias name="userManager#configurable" alias="userManager#default"/>

+ 1
- 1
pom.xml View File

<dependency> <dependency>
<groupId>commons-logging</groupId> <groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId> <artifactId>commons-logging</artifactId>
<version>1.2</version>
<version>${commons.logging.version}</version>
</dependency> </dependency>


<dependency> <dependency>

Loading…
Cancel
Save