diff options
Diffstat (limited to 'java/sca/modules/contribution/src/main')
3 files changed, 109 insertions, 98 deletions
diff --git a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java index 881ad4a681..7578a24ea8 100644 --- a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java +++ b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java @@ -142,17 +142,6 @@ public class ExtensibleStAXArtifactProcessor implements StAXArtifactProcessor<Ob } else { return null; } - - - //FIXME Re-enable feature after complete merge is done - /* - StAXArtifactProcessor<?> anyElementProcessor = processors.getProcessor(ANY_ELEMENT); - if (anyElementProcessor != null) { - return anyElementProcessor.read(source); - } else { - return null; - } - */ } return processor.read(source); } diff --git a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java index cfe98535a1..2ddba7527e 100644 --- a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java +++ b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java @@ -1,93 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package org.apache.tuscany.sca.contribution.processor; import java.util.ArrayList; -import java.util.Collections;
+import java.util.Collections; import java.util.Iterator; -import java.util.List;
+import java.util.List; import java.util.Stack; import javax.xml.namespace.NamespaceContext; +/** + * Tuscany specialized class to handle NamespaceContext + * + */ public class TuscanyNamespaceContext implements NamespaceContext { - private Stack<List<String>[]> context = null;
- - public TuscanyNamespaceContext(Stack<List<String>[]> context) {
- this.context = context;
- }
- - public String getNamespaceURI(String prefix) {
- if (prefix == null) {
- throw new IllegalArgumentException();
- }
- return (String)getResult("getNSUri", prefix);
- }
- - public String getPrefix(String namespaceURI) {
- if (namespaceURI == null) {
- throw new IllegalArgumentException();
- }
- return (String)getResult("getPrefix", namespaceURI);
- }
- - @SuppressWarnings("unchecked")
- public Iterator<String> getPrefixes(String namespaceURI) {
- if (namespaceURI == null) {
- throw new IllegalArgumentException();
- }
- - Iterator<String> iterator = (Iterator<String>)getResult("getPrefixes", namespaceURI);
- return iterator;
- }
- - /*
- * Generic method to Iterate through the Stack and return required result(s)
- */
- private Object getResult(String operation, String arg) {
- - List<String>[] contextList = null;
- Iterator<String> prefItr = null;
- Iterator<String> uriItr = null;
- - List<String> list = new ArrayList<String>();
-
- String toCompare = null;
-
- String tempPrefix = null;
- String tempUri = null;
-
- for (int i = context.size() - 1; i >= 0; i--) {
- contextList = context.get(i);
- prefItr = contextList[0].iterator();
- uriItr = contextList[1].iterator();
- while (uriItr.hasNext()) {
- tempPrefix = prefItr.next();
- tempUri = uriItr.next();
- if (operation.equalsIgnoreCase("getNSUri")) {
- toCompare = tempPrefix;
- } else if (operation.equalsIgnoreCase("getPrefix")) {
- toCompare = tempUri;
- } else if (operation.equalsIgnoreCase("getPrefixes")) {
- toCompare = tempUri;
- }
- if (toCompare != null && arg.equalsIgnoreCase(toCompare)) {
- if (operation.equalsIgnoreCase("getNSUri")) {
- return tempUri;
- } else if (operation.equalsIgnoreCase("getPrefix")) {
- return tempPrefix;
- } else if (operation.equalsIgnoreCase("getPrefixes")) {
- list.add(tempPrefix);
- }
-
- }
- }
- }
-
- if (operation.equalsIgnoreCase("getPrefixes")) {
- return Collections.unmodifiableList(list).iterator();
- }
-
- return null;
- }
-
-} //end of Class + private Stack<List<String>[]> context = null; + + public TuscanyNamespaceContext(Stack<List<String>[]> context) { + this.context = context; + } + + public String getNamespaceURI(String prefix) { + if (prefix == null) { + throw new IllegalArgumentException(); + } + return (String)getResult("getNSUri", prefix); + } + + public String getPrefix(String namespaceURI) { + if (namespaceURI == null) { + throw new IllegalArgumentException(); + } + return (String)getResult("getPrefix", namespaceURI); + } + + @SuppressWarnings("unchecked") + public Iterator<String> getPrefixes(String namespaceURI) { + if (namespaceURI == null) { + throw new IllegalArgumentException(); + } + + Iterator<String> iterator = (Iterator<String>)getResult("getPrefixes", namespaceURI); + return iterator; + } + + /* + * Generic method to Iterate through the Stack and return required result(s) + */ + private Object getResult(String operation, String arg) { + + List<String>[] contextList = null; + Iterator<String> prefItr = null; + Iterator<String> uriItr = null; + + List<String> list = new ArrayList<String>(); + + String toCompare = null; + + String tempPrefix = null; + String tempUri = null; + + for (int i = context.size() - 1; i >= 0; i--) { + contextList = context.get(i); + prefItr = contextList[0].iterator(); + uriItr = contextList[1].iterator(); + while (uriItr.hasNext()) { + tempPrefix = prefItr.next(); + tempUri = uriItr.next(); + if (operation.equalsIgnoreCase("getNSUri")) { + toCompare = tempPrefix; + } else if (operation.equalsIgnoreCase("getPrefix")) { + toCompare = tempUri; + } else if (operation.equalsIgnoreCase("getPrefixes")) { + toCompare = tempUri; + } + if (toCompare != null && arg.equalsIgnoreCase(toCompare)) { + if (operation.equalsIgnoreCase("getNSUri")) { + return tempUri; + } else if (operation.equalsIgnoreCase("getPrefix")) { + return tempPrefix; + } else if (operation.equalsIgnoreCase("getPrefixes")) { + list.add(tempPrefix); + } + + } + } + } + + if (operation.equalsIgnoreCase("getPrefixes")) { + return Collections.unmodifiableList(list).iterator(); + } + + return null; + } +}
\ No newline at end of file diff --git a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java index 5a5a70fb20..3352e76a0d 100644 --- a/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java +++ b/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java @@ -1,5 +1,3 @@ -package org.apache.tuscany.sca.contribution.processor; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -18,6 +16,9 @@ package org.apache.tuscany.sca.contribution.processor; * specific language governing permissions and limitations * under the License. */ + +package org.apache.tuscany.sca.contribution.processor; + import java.util.ArrayList; import java.util.List; import java.util.Stack; @@ -29,7 +30,7 @@ import javax.xml.stream.XMLStreamReader; import javax.xml.stream.util.StreamReaderDelegate; /* - * Custom implementation of the XMLStreamReader to keep track of the namespace context for each element + * Custom implementaion of the XMLStreamReader to keep track of the namespace context for each element */ public class TuscanyXMLStreamReader extends StreamReaderDelegate implements XMLStreamReader { @@ -106,4 +107,4 @@ public class TuscanyXMLStreamReader extends StreamReaderDelegate implements XMLS public NamespaceContext getNamespaceContext() { return new TuscanyNamespaceContext((Stack<List<String>[]>)context.clone()); } -} +}
\ No newline at end of file |