You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by dk...@apache.org on 2011/11/28 22:44:28 UTC
svn commit: r1207637 - in /aries/trunk/blueprint:
blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/
blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/
blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint...
Author: dkulp
Date: Mon Nov 28 21:44:25 2011
New Revision: 1207637
URL: http://svn.apache.org/viewvc?rev=1207637&view=rev
Log:
[ARIES-626] Add a testcase for an included schema
Patch from Aki Yoshida applied
Added:
aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSeven.java
- copied, changed from r1207473, aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java
aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd (with props)
aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd (with props)
Modified:
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java
aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml
aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml
Modified: aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java?rev=1207637&r1=1207636&r2=1207637&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java (original)
+++ aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java Mon Nov 28 21:44:25 2011
@@ -301,8 +301,18 @@ public class NamespaceHandlerRegistryImp
return null;
}
for (NamespaceHandler h : hs) {
- final URL url = h.getSchemaLocation(namespaceURI);
+ URL url = h.getSchemaLocation(namespaceURI);
if (url != null) {
+ // handling include-relative-path case
+ if (systemId != null && !systemId.matches("^[a-z][-+.0-9a-z]*:.*")) {
+ try {
+ url = new URL(url, systemId);
+ } catch (Exception e) {
+ // ignore and use the given systemId
+ }
+ }
+
+
try {
final StreamSource source
= new StreamSource(url.openStream(), url.toExternalForm());
Copied: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSeven.java (from r1207473, aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java)
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSeven.java?p2=aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSeven.java&p1=aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java&r1=1207473&r2=1207637&rev=1207637&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java (original)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSeven.java Mon Nov 28 21:44:25 2011
@@ -35,9 +35,9 @@ import org.w3c.dom.Attr;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
-public class NSHandlerSix implements NamespaceHandler{
- public static String NSURI = "http://ns.handler.six";
- private static String ELT_NAME = "nshandlersix";
+public class NSHandlerSeven implements NamespaceHandler{
+ public static String NSURI = "http://ns.handler.seven";
+ private static String ELT_NAME = "nshandlerseven";
private static String ATTRIB_ID = "id";
//process elements
@@ -56,11 +56,10 @@ public class NSHandlerSix implements Nam
//supply schema back to blueprint.
public URL getSchemaLocation(String namespace) {
- System.out.println("Schemans: " + namespace);
if (NSURI.equals(namespace)) {
- return this.getClass().getResource("nshandlersix.xsd");
+ return this.getClass().getResource("nshandlerseven.xsd");
}
- return this.getClass().getResource("nshandlersiximport.xsd");
+ return null;
}
public Set<Class> getManagedClasses() {
Modified: aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java?rev=1207637&r1=1207636&r2=1207637&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java (original)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/java/org/apache/aries/blueprint/testbundlea/NSHandlerSix.java Mon Nov 28 21:44:25 2011
@@ -56,7 +56,6 @@ public class NSHandlerSix implements Nam
//supply schema back to blueprint.
public URL getSchemaLocation(String namespace) {
- System.out.println("Schemans: " + namespace);
if (NSURI.equals(namespace)) {
return this.getClass().getResource("nshandlersix.xsd");
}
Modified: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml?rev=1207637&r1=1207636&r2=1207637&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml (original)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/OSGI-INF/blueprint/config.xml Mon Nov 28 21:44:25 2011
@@ -30,6 +30,7 @@
<bean id="NSHandlerFour" class="org.apache.aries.blueprint.testbundlea.NSHandlerFour"/>
<bean id="NSHandlerFive" class="org.apache.aries.blueprint.testbundlea.NSHandlerFive"/>
<bean id="NSHandlerSix" class="org.apache.aries.blueprint.testbundlea.NSHandlerSix"/>
+ <bean id="NSHandlerSeven" class="org.apache.aries.blueprint.testbundlea.NSHandlerSeven"/>
<service interface="org.apache.aries.blueprint.NamespaceHandler" ref="NSHandlerOne">
<service-properties>
@@ -73,6 +74,15 @@
</entry>
</service-properties>
</service>
+ <service interface="org.apache.aries.blueprint.NamespaceHandler" ref="NSHandlerSeven">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace">
+ <list>
+ <value>http://ns.handler.seven</value>
+ </list>
+ </entry>
+ </service-properties>
+ </service>
</blueprint>
Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd?rev=1207637&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd Mon Nov 28 21:44:25 2011
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://ns.handler.seven"
+ xmlns:tns="http://ns.handler.seven"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="qualified" >
+ <include schemaLocation="nshandlersevenincluded.xsd"/>
+ <element name="nshandlerseven">
+ <complexType>
+ <sequence>
+ <element name="stuff" type="tns:Included"/>
+ </sequence>
+ <attribute name="id" type="xsd:string"/>
+ <attribute ref="tns:attrib"/>
+ </complexType>
+ </element>
+</schema>
\ No newline at end of file
Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlerseven.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd?rev=1207637&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd (added)
+++ aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd Mon Nov 28 21:44:25 2011
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://ns.handler.seven"
+ xmlns:tns="http://ns.handler.seven"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="qualified" >
+
+ <complexType name="Included">
+ <sequence>
+ <element name="stuffinc" type="xsd:string"/>
+ <any minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <attribute name="attrib" type="xsd:string"/>
+</schema>
\ No newline at end of file
Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: aries/trunk/blueprint/blueprint-testbundlea/src/main/resources/org/apache/aries/blueprint/testbundlea/nshandlersevenincluded.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml?rev=1207637&r1=1207636&r2=1207637&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml (original)
+++ aries/trunk/blueprint/blueprint-testbundleb/src/main/resources/OSGI-INF/blueprint/config.xml Mon Nov 28 21:44:25 2011
@@ -27,6 +27,7 @@
xmlns:fiveim="http://ns.handler.five.import"
xmlns:six="http://ns.handler.six"
xmlns:sixim="http://ns.handler.six.import"
+ xmlns:seven="http://ns.handler.seven"
default-availability="optional">
<!-- Default test.. no other ns interaction. -->
@@ -81,13 +82,21 @@
<fiveim:stuff>foo</fiveim:stuff>
</five:stuff>
</five:nshandlerfive>
- <!-- NShandler four test, make sure the schema can be parsed with
- external URL to schema - ARIES-626 Part 3 -->
+ <!-- NShandler six test, make sure the schema can be parsed with
+ external URL to imported schema - ARIES-626 Part 3 -->
<six:nshandlersix six:id="SIX" sixim:attrib="foo">
<six:stuff>
<sixim:stuff>foo</sixim:stuff>
<mytest:foo xmlns:mytest="http://ns.handler.mytest">blah</mytest:foo>
</six:stuff>
</six:nshandlersix>
+ <!-- NShandler seven test, make sure the schema can be parsed with
+ external URL to included schema - ARIES-626 Part 4 -->
+ <seven:nshandlerseven seven:id="SEVEN" seven:attrib="foo">
+ <seven:stuff>
+ <seven:stuffinc>foo</seven:stuffinc>
+ <mytest:foo xmlns:mytest="http://ns.handler.mytest">blah</mytest:foo>
+ </seven:stuff>
+ </seven:nshandlerseven>
</blueprint>