Mercurial > dive4elements > framework
diff artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java @ 147:9a64e0c1c737
Added code to load user from database.
artifacts/trunk@1372 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 02 Mar 2011 18:08:37 +0000 |
parents | a48882c9e096 |
children | c03d3a872cd2 |
line wrap: on
line diff
--- a/artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java Wed Mar 02 17:47:54 2011 +0000 +++ b/artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java Wed Mar 02 18:08:37 2011 +0000 @@ -8,9 +8,13 @@ package de.intevation.artifacts.common.utils; +import java.io.ByteArrayInputStream; +import java.io.FileInputStream; +import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; import javax.xml.namespace.NamespaceContext; @@ -169,11 +173,29 @@ * during loading. */ public static final Document parseDocument(File file) { + InputStream inputStream = null; + try { + inputStream = new BufferedInputStream(new FileInputStream(file)); + return parseDocument(inputStream); + } + catch (IOException ioe) { + logger.error(ioe.getLocalizedMessage(), ioe); + } + finally { + if (inputStream != null) { + try { inputStream.close(); } + catch (IOException ioe) {} + } + } + return null; + } + + public static final Document parseDocument(InputStream inputStream) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); try { - return factory.newDocumentBuilder().parse(file); + return factory.newDocumentBuilder().parse(inputStream); } catch (ParserConfigurationException pce) { logger.error(pce.getLocalizedMessage(), pce); @@ -324,5 +346,12 @@ ? baos.toByteArray() : null; } + + public static Document fromByteArray(byte [] data) { + if (data == null) { + return null; + } + return parseDocument(new ByteArrayInputStream(data)); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :