From f25a072fd1c3b131d5f2f15689942ca7c55a62c0 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@d688527b-c9ab-4aba-bd8d-4036d912da1d> Date: Mon, 6 Aug 2007 14:26:08 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'Build-ID-1_4_0'. git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/tags/Build-ID-1_4_0@907 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../moa/ss/erechtclient/util/DOMUtils.java | 169 --------------------- .../moa/ss/erechtclient/util/Utils.java | 106 ------------- .../moa/ss/erechtclient/util/XPathUtils.java | 162 -------------------- 3 files changed, 437 deletions(-) delete mode 100644 erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/DOMUtils.java delete mode 100644 erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java delete mode 100644 erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/XPathUtils.java (limited to 'erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util') diff --git a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/DOMUtils.java b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/DOMUtils.java deleted file mode 100644 index d82cf1d1b..000000000 --- a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/DOMUtils.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Created on 28.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.ss.erechtclient.util; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.xerces.parsers.DOMParser; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.ss.erechtclient.init.XMLParserErrorHandler; - - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class DOMUtils -{ - private static final String SAX_NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces"; - private static final String XERCES_CREATE_ENTITY_REF_NODES_FEATURE = - "http://apache.org/xml/features/dom/create-entity-ref-nodes"; - protected static final String XERCES_DEFER_NODE_EXPANSION_ = - "http://apache.org/xml/features/dom/defer-node-expansion"; - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the first text node of the specified element. - * - * @param elem The element. - * - * @return the first text node of the specified element, or null if element - * equals null, or if the element has no text node. - */ - public static String getText(Element elem) - { - if (elem == null) return null; - NodeList childNodes = elem.getChildNodes(); - for (int i = 0; i < childNodes.getLength(); i++) - { - Node currNode = childNodes.item(i); - if (currNode.getNodeType() == Node.TEXT_NODE) return currNode.getNodeValue(); - } - return null; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the first text node of the specified child element from the specified parent element. - * - * @param parent The parent. - * - * @param childNS The namespace of the child element. - * - * @param childLocName The local name of the child element. - * - * @return the first text node of the specified child, or null if parent equals - * null or has no child element with the specified namespace and local name, or if - * the child element has no text node. - */ - public static String getChildText(Element parent, String childNS, String childLocName) - { - if (parent == null) return null; - Element child = getChildElem(parent, childNS, childLocName); - if (child == null) return null; - return getText(child); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets the first child element of the specified parent with the specified namspace and local name. - * - * @param parent The parent. - * - * @param childNS The namespace of the child element to be searched for. - * - * @param childLocName The local name of the child element to be searched for. - * - * @return the first child element as described above, or null if parent is - * null or has no child elements with for the specified namespace and local name. - */ - public static Element getChildElem(Element parent, String childNS, String childLocName) - { - List childElems = getChildElems(parent, childNS, childLocName, true); - return (childElems == null) ? null : (Element) childElems.get(0); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - /** - * Gets all or the first child element(s) of the specified parent with the specified namspace and local - * name. - * - * @param parent The parent. - * - * @param childNS The namespace of the child elements to be searched for. - * - * @param childLocName The local name of the child elements to be searched for. - * - * @param firstOnly Specifies wheter only the first or all child elements with the specified namespace and - * local name should be returned. - * - * @return a java.util.List with objects of type org.w3c.dom.Element; each - * element in the list represents a child element as specified above. If parent - * equals null, or if there are no child elements as specified above, null - * will be returned. - */ - public static List getChildElems(Element parent, String childNS, String childLocName, boolean firstOnly) - { - if (parent == null) return null; - - ArrayList childElems = new ArrayList(); - NodeList childNodes = parent.getChildNodes(); - for (int i = 0; i < childNodes.getLength(); i++) - { - Node currNode = childNodes.item(i); - if (currNode.getNodeType() == Node.ELEMENT_NODE) - { - Element currElem = (Element) currNode; - if (childNS.equals(currElem.getNamespaceURI()) && childLocName.equals(currElem.getLocalName())) - { - childElems.add(currElem); - if (firstOnly) break; - } - } - } - return (childElems.size() == 0) ? null : childElems; - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static Document parseWellFormed(InputStream is) throws Exception - { - DOMParser xmlParser = new DOMParser(); - try - { - xmlParser.setFeature(SAX_NAMESPACES_FEATURE, true); - xmlParser.setFeature(XERCES_CREATE_ENTITY_REF_NODES_FEATURE, false); - xmlParser.setFeature(XERCES_DEFER_NODE_EXPANSION_, false); - xmlParser.setErrorHandler(new XMLParserErrorHandler(false, true, true)); - } - catch (SAXException e) - { - String message = "Initialization of XML parser failed."; - throw new Exception(message, e); - } - try - { - xmlParser.parse(new InputSource(is)); - return xmlParser.getDocument(); - } - catch (Exception e) - { - String message = "Wellformed parsing failed."; - throw new Exception(message, e); - } - } -} diff --git a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java deleted file mode 100644 index 2f9e01057..000000000 --- a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Created on 25.11.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.ss.erechtclient.util; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PrintWriter; -import java.util.Properties; - -import javax.servlet.RequestDispatcher; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.log4j.Logger; - -import at.gv.egovernment.moa.ss.erechtclient.ERechtClientException; -import at.gv.egovernment.moa.ss.erechtclient.init.Constants; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class Utils -{ - public static byte[] readFromInputStream(InputStream inputStream) throws IOException - { - byte[] currentBytes = new byte[500]; - int bytesRead; - ByteArrayOutputStream result = new ByteArrayOutputStream(); - do - { - bytesRead = inputStream.read(currentBytes); - if (bytesRead > 0) - { - result.write(currentBytes, 0, bytesRead); - } - } - while (bytesRead != -1); - return result.toByteArray(); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static void transferStreams(InputStream in, OutputStream out) throws IOException - { - byte[] currentBytes = new byte[500]; - int bytesRead; - do - { - bytesRead = in.read(currentBytes); - if (bytesRead > 0) - { - out.write(currentBytes, 0, bytesRead); - } - } - while (bytesRead != -1); - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static void returnErrorPage(HttpServletRequest request, HttpServletResponse response, Throwable t) - throws ServletException - { - Logger logger = Logger.getLogger(Constants.LH_SERVLETS_); - - // Store Throwable in request context - request.setAttribute(Constants.RCP_ERROR_THROWABLE_, t); - - RequestDispatcher dispatcher = request.getRequestDispatcher(Constants.JSPPN_ERROR_); - try - { - dispatcher.include(request, response); - } - catch (ServletException e) - { - logger.error("Returning error JSP page failed.", e); - throw e; - } - catch (IOException e) - { - String message = "Returning error JSP page failed."; - logger.error(message, e); - throw new ServletException(message, e); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public static String readInitProperty(Properties initProps, String name, Logger logger) - throws ERechtClientException - { - String value = initProps.getProperty(name); - if (value == null) - { - String message = "Could not read property \"" + name + "\" from configuration properties."; - logger.error(message); - throw new ERechtClientException(message); - } - return value; - } -} diff --git a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/XPathUtils.java b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/XPathUtils.java deleted file mode 100644 index 4f2862f58..000000000 --- a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/XPathUtils.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Created on 02.12.2003 - * - * (c) Stabsstelle IKT-Strategie des Bundes - */ -package at.gv.egovernment.moa.ss.erechtclient.util; - -import java.util.HashMap; -import java.util.StringTokenizer; - -import org.apache.xml.utils.PrefixResolverDefault; -import org.apache.xpath.XPath; -import org.apache.xpath.XPathContext; -import org.apache.xpath.objects.XObject; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) - */ -public class XPathUtils -{ - /** - * The XPath context for the XPath engine. - */ - protected XPathContext xPathContext_; - - /** - * The prefix resolver for the XPath engine. - */ - protected PrefixResolver prefixResolver_; - - /** - * The XPath engine. - */ - protected XPath xPath_; - - /* ==================================================================================================== */ - - public void setupContext(String xPathExpr, Node namespaceNode, String additionalNSPrefixes) - throws Exception - { - - try - { - // Set up a new evaluation context - xPathContext_ = new XPathContext(); - - // Set up the namespace prefix resolver for the XPath engine - prefixResolver_ = new PrefixResolver(namespaceNode, additionalNSPrefixes); - - // Initialize XPath engine - xPath_ = new XPath(xPathExpr, null, prefixResolver_, XPath.SELECT, null); - } - catch (Exception e) - { - throw new Exception("Setting up XPath evaluation context failed.", e); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public NodeList selectNodeSet(Node contextNode) throws Exception - { - XObject xObject; - try - { - xObject = xPath_.execute(xPathContext_, contextNode, prefixResolver_); - return xObject.nodelist(); - } - catch (Exception e) - { - throw new Exception("Executing XPath expression failed.", e); - } - } - - /* ---------------------------------------------------------------------------------------------------- */ - - public boolean selectBoolean(Node contextNode) throws Exception - { - XObject xObject; - try - { - xObject = xPath_.execute(xPathContext_, contextNode, prefixResolver_); - return xObject.bool(); - } - catch (Exception e) - { - throw new Exception("Executing XPath expression failed.", e); - } - } - - /* ==================================================================================================== */ - - /** - * Special extension of the {@link org.apache.xml.utils.PrefixResolverDefault} interface. Used to - * configure the Apache Xalan XPath engine which is employed as the backbone of this class. - */ - protected class PrefixResolver extends PrefixResolverDefault - { - - /** - * Contains the additionally specified namespace prefix (key) to namespace URI (value) attributions. - */ - protected HashMap additionalNSPrefixesMap_; - - /* ================================================================================================== */ - - /** - * Basic constructor. - * - * @param xpathExpressionContext The namespace declarations in scope for this node will be used to get - * the namespace uri for a prefix specified in the XPath expression. - * - * @param additionalNSPrefixes Allows the specification of additional prefix to uri attributions apart - * from the declarations in scope for the parameter - * xpathExpressionContext. May be null. - */ - public PrefixResolver(Node xpathExpressionContext, String additionalNSPrefixes) throws Exception - { - super(xpathExpressionContext); - additionalNSPrefixesMap_ = new HashMap(); - - // Register the specified additional namespace prefix to namespace uri attributions - if (additionalNSPrefixes != null) - { - StringTokenizer tokenizer = new StringTokenizer(additionalNSPrefixes, " "); - while (tokenizer.hasMoreTokens()) - { - String prefix = tokenizer.nextToken(); - if (!tokenizer.hasMoreTokens()) - { - - // There must be an even number of tokens in the string - throw new Exception("Parameter \"additionalNSPrefixes\" must have an even number of tokens."); - } - String uri = tokenizer.nextToken(); - additionalNSPrefixesMap_.put(prefix, uri); - } - } - } - - /* -------------------------------------------------------------------------------------------------- */ - - /** - * Gets the namespace uri for the specified namespace prefix. The additionally specified prefixes - * overrule the prefixes found in the specified namespace node. - * - * @param prefix The namespace prefix for which a namespace uri should be found. - * - * @return the namespace uri for the specified namespace prefix. - */ - public String getNamespaceForPrefix(String prefix) - { - String additionalURI = (String) additionalNSPrefixesMap_.get(prefix); - return (additionalURI != null) - ? additionalURI - : super.getNamespaceForPrefix(prefix); - } - } -} - -- cgit v1.2.3