Author: rmannibucau
Date: Wed May 2 21:35:38 2012
New Revision: 1333219
URL: http://svn.apache.org/viewvc?rev=1333219&view=rev
Log:
some hack to be able to read an inputstream twice...could be enhanced
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?rev=1333219&r1=1333218&r2=1333219&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
Wed May 2 21:35:38 2012
@@ -414,7 +414,7 @@ public class ReadDescriptors implements
final Source data =
getSource(ejbModule.getAltDDs().get("ejb-jar.xml"));
if (data != null) {
try {
- EjbJar ejbJar = readEjbJar(((Source) data).get());
+ EjbJar ejbJar = readEjbJar(data.get());
ejbModule.setEjbJar(ejbJar);
} catch (IOException e) {
throw new OpenEJBException(e);
@@ -431,7 +431,7 @@ public class ReadDescriptors implements
final Source data = getSource(ejbModule.getAltDDs().get("beans.xml"));
if (data != null) {
try {
- Beans beans = readBeans(((Source) data).get());
+ Beans beans = readBeans(data.get());
ejbModule.setBeans(beans);
} catch (IOException e) {
throw new OpenEJBException(e);
@@ -513,8 +513,9 @@ public class ReadDescriptors implements
public static EjbJar readEjbJar(final InputStream is) throws
OpenEJBException {
try {
- if (isEmptyEjbJar(is)) return new EjbJar();
- return (EjbJar) JaxbJavaee.unmarshalJavaee(EjbJar.class, is);
+ final String content = IO.slurp(is);
+ if (isEmptyEjbJar(new ByteArrayInputStream(content.getBytes())))
return new EjbJar();
+ return (EjbJar) JaxbJavaee.unmarshalJavaee(EjbJar.class, new
ByteArrayInputStream(content.getBytes()));
} catch (SAXException e) {
throw new OpenEJBException("Cannot parse the ejb-jar.xml"); //
file: " + url.toExternalForm(), e);
} catch (JAXBException e) {
@@ -528,8 +529,9 @@ public class ReadDescriptors implements
public static Beans readBeans(final InputStream inputStream) throws
OpenEJBException {
try {
- if (isEmptyBeansXml(inputStream)) return new Beans();
- return (Beans) JaxbJavaee.unmarshalJavaee(Beans.class,
inputStream);
+ final String content = IO.slurp(inputStream);
+ if (isEmptyBeansXml(new ByteArrayInputStream(content.getBytes())))
return new Beans();
+ return (Beans) JaxbJavaee.unmarshalJavaee(Beans.class, new
ByteArrayInputStream(content.getBytes()));
} catch (SAXException e) {
throw new OpenEJBException("Cannot parse the beans.xml");// file:
" + url.toExternalForm(), e);
} catch (JAXBException e) {