aboutsummaryrefslogtreecommitdiff
path: root/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util
diff options
context:
space:
mode:
Diffstat (limited to 'erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util')
-rw-r--r--erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/DOMUtils.java169
-rw-r--r--erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/Utils.java106
-rw-r--r--erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/util/XPathUtils.java162
3 files changed, 0 insertions, 437 deletions
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 <code>null</code> if <code>element</code>
- * equals <code>null</code>, 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 <code>null</code> if <code>parent</code> equals
- * <code>null</code> 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 <code>null</code> if <code>parent</code> 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 <code>java.util.List</code> with objects of type <code>org.w3c.dom.Element</code>; each
- * element in the list represents a child element as specified above. If <code>parent</code>
- * equals <code>null</code>, or if there are no child elements as specified above, <code>null
- * </code> 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 <code>
- * xpathExpressionContext</code>. May be <code>null</code>.
- */
- 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);
- }
- }
-}
-