diff options
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta2-RC3/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/ScaNamespaceHandler.java')
-rw-r--r-- | sca-java-2.x/tags/2.0-Beta2-RC3/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/ScaNamespaceHandler.java | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC3/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/ScaNamespaceHandler.java b/sca-java-2.x/tags/2.0-Beta2-RC3/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/ScaNamespaceHandler.java deleted file mode 100644 index 66cb3c76fc..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC3/modules/implementation-spring-runtime/src/main/java/org/apache/tuscany/sca/implementation/spring/namespace/ScaNamespaceHandler.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2002-2006 the original author or authors. - * - * Licensed 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.implementation.spring.namespace; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import javax.xml.namespace.QName; - -import org.springframework.beans.factory.xml.NamespaceHandlerSupport; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -/** - * Handler for the <sca:> namespace in an application context - * - * @version $Rev$ $Date$ - */ -public class ScaNamespaceHandler extends NamespaceHandlerSupport { - - public ScaNamespaceHandler() { - } - - @Override - public void init() { - registerBeanDefinitionParser("reference", new ScaReferenceBeanDefinitionParser()); - registerBeanDefinitionParser("service", new ScaServiceBeanDefinitionParser()); - registerBeanDefinitionParser("property", new ScaPropertyBeanDefinitionParser()); - } - - private static String getNamespaceURI(Element element, String prefix) { - if (element == null) { - return null; - } - String name = ("".equals(prefix)) ? "xmlns" : "xmlns:" + prefix; - String ns = element.getAttribute(name); - if (ns != null && !"".equals(ns)) { - return ns; - } - Node parent = element.getParentNode(); - if (parent instanceof Element) { - return getNamespaceURI((Element)parent, prefix); - } else { - return null; - } - } - - public static List<QName> resolve(Element element, String listOfNames) { - List<QName> qnames = new ArrayList<QName>(); - StringTokenizer tokenizer = new StringTokenizer(listOfNames); - while (tokenizer.hasMoreTokens()) { - String qname = tokenizer.nextToken(); - String prefix = ""; - String local = qname; - int index = qname.indexOf(':'); - if (index != -1) { - local = qname.substring(index + 1); - prefix = qname.substring(0, index); - } - String ns = getNamespaceURI(element, prefix); - if (ns != null) { - qnames.add(new QName(ns, local, prefix)); - } else { - throw new IllegalArgumentException("Prefix " + prefix + "is not bound to a namespace"); - } - } - return qnames; - } - - public static String getAttribute(Element element, String name) { - String attr = element.getAttributeNS(null, name); - if ("".equals(attr)) { - return null; - } else { - return attr; - } - } -} |