Return-Path: Delivered-To: apmail-incubator-abdera-commits-archive@locus.apache.org Received: (qmail 81717 invoked from network); 10 Jun 2007 04:39:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 10 Jun 2007 04:39:21 -0000 Received: (qmail 73785 invoked by uid 500); 10 Jun 2007 04:39:25 -0000 Delivered-To: apmail-incubator-abdera-commits-archive@incubator.apache.org Received: (qmail 73753 invoked by uid 500); 10 Jun 2007 04:39:25 -0000 Mailing-List: contact abdera-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: abdera-dev@incubator.apache.org Delivered-To: mailing list abdera-commits@incubator.apache.org Received: (qmail 73743 invoked by uid 99); 10 Jun 2007 04:39:25 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Jun 2007 21:39:25 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Jun 2007 21:39:21 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 364151A981A; Sat, 9 Jun 2007 21:39:00 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r545840 - in /incubator/abdera/java/trunk: core/src/main/java/org/apache/abdera/model/Element.java core/src/main/java/org/apache/abdera/model/ElementWrapper.java parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java Date: Sun, 10 Jun 2007 04:38:59 -0000 To: abdera-commits@incubator.apache.org From: jmsnell@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070610043900.364151A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jmsnell Date: Sat Jun 9 21:38:56 2007 New Revision: 545840 URL: http://svn.apache.org/viewvc?view=rev&rev=545840 Log: Utility methods for retrieving a map of namespaces declared and a listing of all child elements Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/ElementWrapper.java incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java?view=diff&rev=545840&r1=545839&r2=545840 ============================================================================== --- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java (original) +++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/Element.java Sat Jun 9 21:38:56 2007 @@ -19,6 +19,7 @@ import java.util.List; import java.util.Locale; +import java.util.Map; import javax.xml.namespace.QName; @@ -214,5 +215,9 @@ * Declare a namespace */ void declareNS(String uri, String prefix); + + Map getNamespaces(); + + List getElements(); } Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/ElementWrapper.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/ElementWrapper.java?view=diff&rev=545840&r1=545839&r2=545840 ============================================================================== --- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/ElementWrapper.java (original) +++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/model/ElementWrapper.java Sat Jun 9 21:38:56 2007 @@ -22,6 +22,7 @@ import java.io.Writer; import java.util.List; import java.util.Locale; +import java.util.Map; import javax.xml.namespace.QName; @@ -205,4 +206,13 @@ public Element getInternal() { return internal; } + + public List getElements() { + return internal.getElements(); + } + + public Map getNamespaces() { + return internal.getNamespaces(); + } + } Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java?view=diff&rev=545840&r1=545839&r2=545840 ============================================================================== --- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java (original) +++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java Sat Jun 9 21:38:56 2007 @@ -24,9 +24,11 @@ import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; +import java.util.Map; import javax.activation.MimeType; import javax.activation.MimeTypeParseException; @@ -690,5 +692,30 @@ if (prefix != null && !prefix.equals("") && !isDeclared(ns, prefix)) { declareNS(ns,prefix); } + } + + public Map getNamespaces() { + Map namespaces = new HashMap(); + OMElement current = this; + while(current != null) { + Iterator i = current.getAllDeclaredNamespaces(); + while (i.hasNext()) { + OMNamespace ns = (OMNamespace) i.next(); + String prefix = ns.getPrefix(); + String uri = ns.getNamespaceURI(); + if (!namespaces.containsKey(prefix)) + namespaces.put(prefix, uri); + } + OMContainer parent = current.getParent(); + current = (OMElement) ((parent != null && parent instanceof OMElement) ? parent : null); + } + return namespaces; + } + + @SuppressWarnings("unchecked") + public List getElements() { + return new FOMList( + new FOMElementIteratorWrapper( + (FOMFactory)factory,getChildElements())); } }