SpringContextResourceAdapter implements equals/hashCode according to the JCA 1.5 contract

Issue: SPR-9162
This commit is contained in:
Juergen Hoeller
2013-01-09 18:42:51 +01:00
parent 0ed1a21073
commit 30ad07a4e2

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2008 the original author or authors.
* Copyright 2002-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -33,6 +33,7 @@ import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
/**
@@ -87,7 +88,7 @@ import org.springframework.util.StringUtils;
* Note that "META-INF/applicationContext.xml" is the default context config
* location, so it doesn't have to specified unless you intend to specify
* different/additional config files. So in the default case, you may remove
* the entire <code>config-property</code> section above.
* the entire {@code config-property} section above.
*
* <p><b>For simple deployment needs, all you need to do is the following:</b>
* Package all application classes into a RAR file (which is just a standard
@@ -222,10 +223,23 @@ public class SpringContextResourceAdapter implements ResourceAdapter {
}
/**
* This implementation always returns <code>null</code>.
* This implementation always returns {@code null}.
*/
public XAResource[] getXAResources(ActivationSpec[] activationSpecs) throws ResourceException {
return null;
}
@Override
public boolean equals(Object obj) {
return (obj instanceof SpringContextResourceAdapter &&
ObjectUtils.nullSafeEquals(getContextConfigLocation(),
((SpringContextResourceAdapter) obj).getContextConfigLocation()));
}
@Override
public int hashCode() {
return ObjectUtils.nullSafeHashCode(getContextConfigLocation());
}
}