summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/contribution/src
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-01-22 00:02:32 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-01-22 00:02:32 +0000
commit700c96eb31b6a088c0c3fd37b491cc2abea82cd7 (patch)
tree0bd8b788791d17ef177dd4104a21d3f4264f86c0 /java/sca/modules/contribution/src
parent0b3eec00056e90bf82fdc6d931c1e3d590bd9d2a (diff)
TUSCANY-2663 - Merging latest code to support extended elements to 2.x development stream
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@736500 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/contribution/src')
-rw-r--r--java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java11
-rw-r--r--java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java187
-rw-r--r--java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java9
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