From efa71484df0c6cbda33b62d9c181e2d31f30ee8b Mon Sep 17 00:00:00 2001 From: Ravi Prakash Palacherla Date: Tue, 15 Jun 2010 17:47:02 +0000 Subject: [PATCH] OPENJPA-1695 OutOfMemoryError from CacheMarshallerImpl.setInputUrlFromResourceLocation git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@954979 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/openjpa/conf/CacheMarshallerImpl.java | 2 +- .../org/apache/openjpa/conf/TestCacheMarshaller.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java b/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java index 40684bb0f..93169177e 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/conf/CacheMarshallerImpl.java @@ -223,7 +223,7 @@ public class CacheMarshallerImpl List list = new ArrayList(); for (Enumeration e = cl.getResources(_inputResourceLocation); e.hasMoreElements(); ) - list.add(e); + list.add(e.nextElement()); if (list.size() > 1) { if (_consumeErrors) { diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/conf/TestCacheMarshaller.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/conf/TestCacheMarshaller.java index 7e315428e..0babde4cf 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/conf/TestCacheMarshaller.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/conf/TestCacheMarshaller.java @@ -31,8 +31,9 @@ public class TestCacheMarshaller "default(Id=" + getClass().getName() + ", ValidationPolicy=" + OpenJPAVersionAndConfigurationTypeValidationPolicy.class .getName() - + ", InputURL=file:target/" + getClass().getName() + ".ser" - + ", OutputFile=target/" + + ", InputURL=file:target/test-classes/" + + getClass().getName() + ".ser" + + ", OutputFile=target/test-classes/" + getClass().getName() + ".ser)" }); emf.createEntityManager().close(); @@ -67,4 +68,11 @@ public class TestCacheMarshaller cm.store(o); assertEquals(o, cm.load()); } + + public void testendConfiguration() { + ((CacheMarshallerImpl)cm).setInputURL(null); + ((CacheMarshallerImpl)cm) + .setInputResource(getClass().getName() + ".ser"); + ((CacheMarshallerImpl)cm).endConfiguration(); + } }