Author: norman
Date: Sat May 8 07:22:55 2010
New Revision: 942331
URL: http://svn.apache.org/viewvc?rev=942331&view=rev
Log:
Fix NPE when specify no domain in domainlist.xml (JAMES-998)
Modified:
james/server/trunk/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java
james/server/trunk/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java
Modified:
james/server/trunk/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java?rev=942331&r1=942330&r2=942331&view=diff
==============================================================================
---
james/server/trunk/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java
(original)
+++
james/server/trunk/core-function/src/main/java/org/apache/james/domain/XMLDomainList.java
Sat May 8 07:22:55 2010
@@ -25,9 +25,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.james.lifecycle.Configurable;
@@ -38,7 +35,7 @@ import org.apache.james.lifecycle.Config
*/
public class XMLDomainList extends AbstractDomainList implements Configurable{
- private List<String> domainNames = null;
+ private List<String> domainNames = new ArrayList<String>();
private boolean managementDisabled = false;
@@ -46,11 +43,13 @@ public class XMLDomainList extends Abstr
* (non-Javadoc)
* @see
org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
*/
- public void configure(HierarchicalConfiguration config) throws
ConfigurationException {
+ @SuppressWarnings("unchecked")
+ public void configure(HierarchicalConfiguration config) throws
ConfigurationException {
List<String> serverNameConfs = config.getList(
"domainnames.domainname" );
for ( int i = 0; i < serverNameConfs.size(); i++ ) {
addDomainInternal( serverNameConfs.get(i));
}
+
setAutoDetect(config.getBoolean("autodetect", true));
setAutoDetectIP(config.getBoolean("autodetectIP", true));
}
@@ -73,7 +72,6 @@ public class XMLDomainList extends Abstr
* @see
org.apache.james.api.domainlist.DomainList#containsDomain(java.lang.String)
*/
public boolean containsDomain(String domains) {
- if (domainNames == null) return false;
return domainNames.contains(domains);
}
@@ -86,10 +84,6 @@ public class XMLDomainList extends Abstr
// TODO: Remove later. Temporary fix to get sure no domains can be
added to the XMLDomainList
if (managementDisabled) throw new
UnsupportedOperationException("Management not supported");
- if (domainNames == null) {
- domainNames = new ArrayList<String>();
- }
-
String newDomain = domain.toLowerCase(Locale.US);
if (containsDomain(newDomain) == false) {
domainNames.add(newDomain);
@@ -106,7 +100,6 @@ public class XMLDomainList extends Abstr
// TODO: Remove later. Temporary fix to get sure no domains can be
added to the XMLDomainList
if (managementDisabled) throw new
UnsupportedOperationException("Management not supported");
- if (domainNames == null) return false;
return domainNames.remove(domain.toLowerCase(Locale.US));
}
}
Modified:
james/server/trunk/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java?rev=942331&r1=942330&r2=942331&view=diff
==============================================================================
---
james/server/trunk/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java
(original)
+++
james/server/trunk/core-function/src/test/java/org/apache/james/domain/XMLDomainListTest.java
Sat May 8 07:22:55 2010
@@ -65,6 +65,19 @@ public class XMLDomainListTest extends T
return dns;
}
+
+
+ // See https://issues.apache.org/jira/browse/JAMES-998
+ public void testNoConfiguredDomains() throws Exception {
+ List<String> domains = new ArrayList<String>();
+ XMLDomainList dom = new XMLDomainList();
+ dom.setLog(new SimpleLog("MockLog"));
+ dom.configure(setUpConfiguration(false, false, domains));
+ dom.setDNSService(setUpDNSServer("localhost"));
+
+ assertTrue("No domain found", dom.getDomains().isEmpty());
+ }
+
public void testGetDomains() throws Exception {
List<String> domains = new ArrayList<String>();
domains.add("domain1.");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]