You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2006/11/04 00:28:34 UTC
svn commit: r471050 -
/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObject.java
Author: mszefler
Date: Fri Nov 3 15:28:30 2006
New Revision: 471050
URL: http://svn.apache.org/viewvc?view=rev&rev=471050
Log:
Fixed extensibility element/attribute reporting.
Modified:
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObject.java
Modified: incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObject.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObject.java?view=diff&rev=471050&r1=471049&r2=471050
==============================================================================
--- incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObject.java (original)
+++ incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/BpelObject.java Fri Nov 3 15:28:30 2006
@@ -51,11 +51,13 @@
private final NSContext _nsContext;
private List<BpelObject> _children = null;
+
public BpelObject(Element el) {
_element = el;
_type = new QName(el.getNamespaceURI(), el.getLocalName());
_nsContext = new NSContext();
+
initNSContext(el);
}
@@ -98,9 +100,22 @@
* or Element)
*/
public Map<QName, Object> getExtensibilityElements() {
- // TODO: implement
- return new HashMap<QName, Object>();
-
+ // We consider anything that is not in the namespace of this element to be an
+ // extensibility element/attribute.
+ HashMap<QName, Object> ee = new HashMap<QName,Object>();
+ for (BpelObject child :getChildren()) {
+ if (child.getType().getNamespaceURI() != null && !child.getType().getNamespaceURI().equals(getType().getNamespaceURI()))
+ ee.put(child.getType(), child.getElement());
+ }
+
+ NamedNodeMap nnm = getElement().getAttributes();
+ for (int i = 0; i < nnm.getLength(); ++i) {
+ Node n = nnm.item(i);
+ if (n.getNamespaceURI() != null && !n.getNamespaceURI().equals(getType().getNamespaceURI()))
+ ee.put(new QName(n.getNamespaceURI(), n.getLocalName()), n.getTextContent());
+ }
+ return ee;
+
}
@@ -116,7 +131,7 @@
* Is this a BPEL 1.1 object?
* @return
*/
- protected boolean is11() {
+ public boolean is11() {
return getType().getNamespaceURI() != null &&
(getType().getNamespaceURI().equals(Bpel11QNames.NS_BPEL4WS_2003_03)
|| getType().getNamespaceURI().equals(Bpel11QNames.NS_BPEL4WS_PARTNERLINK_2003_05));