You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by gn...@apache.org on 2016/03/11 14:47:57 UTC
svn commit: r1734559 - in /aries/trunk/blueprint:
blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/
blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/
blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ ...
Author: gnodet
Date: Fri Mar 11 13:47:57 2016
New Revision: 1734559
URL: http://svn.apache.org/viewvc?rev=1734559&view=rev
Log:
[ARIES-1290][ARIES-1503] Better handling of XSD imports between namespace handlers (e.g. cm->ext)
Added:
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ParserServiceImportXSDsBetweenNamespaceHandlersTest.java
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503aNamespaceHandler.java
aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503bNamespaceHandler.java
aries/trunk/blueprint/blueprint-itests/src/test/resources/ImportNamespacesTest.xml
aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xml
aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xsd
aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xml
aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xsd
Modified:
aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
Modified: aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java?rev=1734559&r1=1734558&r2=1734559&view=diff
==============================================================================
--- aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java (original)
+++ aries/trunk/blueprint/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java Fri Mar 11 13:47:57 2016
@@ -40,6 +40,8 @@ import org.apache.aries.blueprint.mutabl
import org.apache.aries.blueprint.mutable.MutableReferenceMetadata;
import org.apache.aries.blueprint.mutable.MutableValueMetadata;
import org.apache.aries.blueprint.utils.ServiceListener;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
import org.osgi.service.blueprint.container.ComponentDefinitionException;
import org.osgi.service.blueprint.reflect.BeanMetadata;
import org.osgi.service.blueprint.reflect.BeanProperty;
@@ -148,7 +150,7 @@ public class CmNamespaceHandler implemen
}
public void setConfigAdmin(ConfigurationAdmin configAdmin) {
- this.configAdmin = configAdmin;
+ CmNamespaceHandler.configAdmin = configAdmin;
}
public URL getSchemaLocation(String namespace) {
@@ -160,6 +162,15 @@ public class CmNamespaceHandler implemen
return getClass().getResource("blueprint-cm-1.1.0.xsd");
} else if (BLUEPRINT_CM_NAMESPACE_1_0.equals(namespace)) {
return getClass().getResource("blueprint-cm-1.0.0.xsd");
+ } else if (namespace.startsWith("http://aries.apache.org/blueprint/xmlns/blueprint-ext")) {
+ try {
+ Bundle extBundle = FrameworkUtil.getBundle(PlaceholdersUtils.class);
+ Class<?> extNsHandlerClazz = extBundle.loadClass("org.apache.aries.blueprint.ext.impl.ExtNamespaceHandler");
+ return ((NamespaceHandler) extNsHandlerClazz.newInstance()).getSchemaLocation(namespace);
+ } catch (Throwable t) {
+ LOGGER.warn("Could not locate ext namespace schema", t);
+ return null;
+ }
} else {
return null;
}
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=1734559&r1=1734558&r2=1734559&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 Fri Mar 11 13:47:57 2016
@@ -356,7 +356,7 @@ public class NamespaceHandlerRegistryImp
}
}
synchronized (schemaFactory) {
- schemaFactory.setResourceResolver(new BundleResourceResolver(schemaMap, bundle, schemaSources));
+ schemaFactory.setResourceResolver(new BundleResourceResolver(handlers, schemaMap, bundle, schemaSources));
return schemaFactory.newSchema(schemaSources.toArray(new Source[schemaSources.size()]));
}
} finally {
@@ -377,11 +377,13 @@ public class NamespaceHandlerRegistryImp
}
private class BundleResourceResolver implements LSResourceResolver {
+ private final Map<URI, NamespaceHandler> handlers;
private final Properties schemaMap;
private final Bundle bundle;
private final List<StreamSource> schemaSources;
- public BundleResourceResolver(Properties schemaMap, Bundle bundle, List<StreamSource> schemaSources) {
+ public BundleResourceResolver(Map<URI, NamespaceHandler> handlers, Properties schemaMap, Bundle bundle, List<StreamSource> schemaSources) {
+ this.handlers = handlers;
this.schemaMap = schemaMap;
this.bundle = bundle;
this.schemaSources = schemaSources;
@@ -414,12 +416,7 @@ public class NamespaceHandlerRegistryImp
}
}
}
- URI uri = URI.create(namespaceURI);
- Set<NamespaceHandler> hs = NamespaceHandlerRegistryImpl.this.handlers.get(uri);
- if (hs == null) {
- return null;
- }
- for (NamespaceHandler h : hs) {
+ for (NamespaceHandler h : handlers.values()) {
URL url = h.getSchemaLocation(namespaceURI);
if (url != null) {
// handling include-relative-path case
Added: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ParserServiceImportXSDsBetweenNamespaceHandlersTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ParserServiceImportXSDsBetweenNamespaceHandlersTest.java?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ParserServiceImportXSDsBetweenNamespaceHandlersTest.java (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/ParserServiceImportXSDsBetweenNamespaceHandlersTest.java Fri Mar 11 13:47:57 2016
@@ -0,0 +1,103 @@
+/**
+ * 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.aries.blueprint.itests;
+
+import java.io.InputStream;
+import java.net.URL;
+
+import org.apache.aries.blueprint.ComponentDefinitionRegistry;
+import org.apache.aries.blueprint.itests.cm.handler.Aries1503aNamespaceHandler;
+import org.apache.aries.blueprint.itests.cm.handler.Aries1503bNamespaceHandler;
+import org.apache.aries.blueprint.services.ParserService;
+import org.junit.Test;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.tinybundles.core.TinyBundles;
+import org.osgi.framework.Constants;
+
+import static org.apache.aries.blueprint.itests.Helper.blueprintBundles;
+import static org.junit.Assert.assertNotNull;
+import static org.ops4j.pax.exam.CoreOptions.*;
+
+public class ParserServiceImportXSDsBetweenNamespaceHandlersTest extends AbstractBlueprintIntegrationTest {
+
+ private static final String NS_HANDLER_BUNDLE = "org.apache.aries.blueprint.aries1503";
+ private static final String NS_HANDLER2_BUNDLE = "org.apache.aries.blueprint.aries1503b";
+ private static final String TEST_BUNDLE = "org.apache.aries.blueprint.aries1503.test";
+
+ @org.ops4j.pax.exam.Configuration
+ public Option[] config() {
+ return new Option[] {
+ baseOptions(),
+ systemProperty("org.ops4j.pax.logging.DefaultServiceLog.level").value("INFO"),
+ blueprintBundles(),
+ keepCaches(),
+ streamBundle(createAries1503aNamespaceHandlerBundle()).noStart(),
+ streamBundle(createAries1503bNamespaceHandlerBundle()),
+ streamBundle(createTestBundle())
+ };
+ }
+
+ private InputStream createAries1503aNamespaceHandlerBundle() {
+ return TinyBundles.bundle()
+ .add(Aries1503aNamespaceHandler.class)
+ .add("OSGI-INF/blueprint/blueprint-aries-1503.xml", getResource("blueprint-aries-1503.xml"))
+ .add("blueprint-aries-1503.xsd", getResource("blueprint-aries-1503.xsd"))
+ .set(Constants.BUNDLE_SYMBOLICNAME, NS_HANDLER_BUNDLE)
+ .set(Constants.EXPORT_PACKAGE, Aries1503aNamespaceHandler.class.getPackage().getName())
+ .set(Constants.IMPORT_PACKAGE, "org.apache.aries.blueprint,org.apache.aries.blueprint.ext," +
+ "org.apache.aries.blueprint.mutable," +
+ "org.osgi.service.blueprint.reflect,org.w3c.dom")
+ .build(TinyBundles.withBnd());
+ }
+
+ private InputStream createAries1503bNamespaceHandlerBundle() {
+ return TinyBundles.bundle()
+ .add(Aries1503bNamespaceHandler.class)
+ // add this class too - we don't want to play with split packages, etc.
+ .add(Aries1503aNamespaceHandler.class)
+ .add("OSGI-INF/blueprint/blueprint-aries-1503-2.xml", getResource("blueprint-aries-1503-2.xml"))
+ .add("blueprint-aries-1503-2.xsd", getResource("blueprint-aries-1503-2.xsd"))
+ .add("blueprint-aries-1503.xsd", getResource("blueprint-aries-1503.xsd"))
+ .set(Constants.BUNDLE_SYMBOLICNAME, NS_HANDLER2_BUNDLE)
+ .set(Constants.EXPORT_PACKAGE, Aries1503bNamespaceHandler.class.getPackage().getName())
+ .set(Constants.IMPORT_PACKAGE, "org.apache.aries.blueprint,org.apache.aries.blueprint.ext," +
+ "org.apache.aries.blueprint.mutable," +
+ "org.osgi.service.blueprint.reflect,org.w3c.dom," +
+ Aries1503bNamespaceHandler.class.getPackage().getName())
+ .build(TinyBundles.withBnd());
+ }
+
+ private InputStream createTestBundle() {
+ return TinyBundles.bundle()
+ .add("OSGI-INF/blueprint/ImportNamespacesTest.xml", getResource("ImportNamespacesTest.xml"))
+ .set(Constants.BUNDLE_SYMBOLICNAME, TEST_BUNDLE)
+ .set(Constants.IMPORT_PACKAGE, Aries1503bNamespaceHandler.class.getPackage().getName()
+ + ",org.apache.aries.blueprint,org.apache.aries.blueprint.ext")
+ .build(TinyBundles.withBnd());
+ }
+
+ @Test
+ public void testXSDImports() throws Exception {
+ ParserService parserService = context().getService(ParserService.class);
+ URL blueprintXML = context().getBundleByName(TEST_BUNDLE).getEntry("OSGI-INF/blueprint/ImportNamespacesTest.xml");
+ ComponentDefinitionRegistry cdr = parserService.parse(blueprintXML, context().getBundleByName(TEST_BUNDLE));
+ assertNotNull(cdr.getComponentDefinition("aries-1503"));
+ }
+
+}
Added: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503aNamespaceHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503aNamespaceHandler.java?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503aNamespaceHandler.java (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503aNamespaceHandler.java Fri Mar 11 13:47:57 2016
@@ -0,0 +1,88 @@
+/**
+ * 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.aries.blueprint.itests.cm.handler;
+
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.aries.blueprint.NamespaceHandler;
+import org.apache.aries.blueprint.ParserContext;
+import org.apache.aries.blueprint.PassThroughMetadata;
+import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
+import org.osgi.service.blueprint.reflect.BeanMetadata;
+import org.osgi.service.blueprint.reflect.ComponentMetadata;
+import org.osgi.service.blueprint.reflect.Metadata;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class Aries1503aNamespaceHandler implements NamespaceHandler {
+
+ @Override
+ public URL getSchemaLocation(String namespace) {
+ if ("http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0".equals(namespace)) {
+ return getClass().getResource("/blueprint-aries-1503.xsd");
+ }
+ return null;
+ }
+
+ @Override
+ public Set<Class> getManagedClasses() {
+ return new HashSet<Class>(Collections.<Class>singletonList(String.class));
+ }
+
+ @Override
+ public Metadata parse(Element element, ParserContext context) {
+ MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class);
+ metadata.setProcessor(true);
+ metadata.setId("aries-1503");
+ metadata.setScope(BeanMetadata.SCOPE_SINGLETON);
+ metadata.addArgument(new PassThroughMetadata() {
+ @Override
+ public Object getObject() {
+ return "ARIES-1503";
+ }
+
+ @Override
+ public String getId() {
+ return "aries-1503-arg";
+ }
+
+ @Override
+ public int getActivation() {
+ return 0;
+ }
+
+ @Override
+ public List<String> getDependsOn() {
+ return null;
+ }
+ }, null, 0);
+ metadata.setRuntimeClass(String.class);
+ return metadata;
+ }
+
+ @Override
+ public ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context) {
+ return null;
+ }
+
+}
Added: aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503bNamespaceHandler.java
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503bNamespaceHandler.java?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503bNamespaceHandler.java (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/cm/handler/Aries1503bNamespaceHandler.java Fri Mar 11 13:47:57 2016
@@ -0,0 +1,98 @@
+/**
+ * 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.aries.blueprint.itests.cm.handler;
+
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.aries.blueprint.NamespaceHandler;
+import org.apache.aries.blueprint.ParserContext;
+import org.apache.aries.blueprint.PassThroughMetadata;
+import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.service.blueprint.reflect.BeanMetadata;
+import org.osgi.service.blueprint.reflect.ComponentMetadata;
+import org.osgi.service.blueprint.reflect.Metadata;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class Aries1503bNamespaceHandler implements NamespaceHandler {
+
+ @Override
+ public URL getSchemaLocation(String namespace) {
+ if ("http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.1.0".equals(namespace)) {
+ return getClass().getResource("/blueprint-aries-1503-2.xsd");
+ }
+ if ("http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0".equals(namespace)) {
+ try {
+ Bundle extBundle = FrameworkUtil.getBundle(Aries1503aNamespaceHandler.class);
+ return Aries1503aNamespaceHandler.class.newInstance().getSchemaLocation(namespace);
+ } catch (Throwable t) {
+ return null;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public Set<Class> getManagedClasses() {
+ return new HashSet<Class>(Collections.<Class>singletonList(String.class));
+ }
+
+ @Override
+ public Metadata parse(Element element, ParserContext context) {
+ MutableBeanMetadata metadata = context.createMetadata(MutableBeanMetadata.class);
+ metadata.setProcessor(true);
+ metadata.setId("aries-1503");
+ metadata.setScope(BeanMetadata.SCOPE_SINGLETON);
+ metadata.addArgument(new PassThroughMetadata() {
+ @Override
+ public Object getObject() {
+ return "ARIES-1503";
+ }
+
+ @Override
+ public String getId() {
+ return "aries-1503-arg";
+ }
+
+ @Override
+ public int getActivation() {
+ return 0;
+ }
+
+ @Override
+ public List<String> getDependsOn() {
+ return null;
+ }
+ }, null, 0);
+ metadata.setRuntimeClass(String.class);
+ return metadata;
+ }
+
+ @Override
+ public ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context) {
+ return null;
+ }
+
+}
Added: aries/trunk/blueprint/blueprint-itests/src/test/resources/ImportNamespacesTest.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/resources/ImportNamespacesTest.xml?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/resources/ImportNamespacesTest.xml (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/resources/ImportNamespacesTest.xml Fri Mar 11 13:47:57 2016
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ 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.
+ -->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
+ xmlns:a1503="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.1.0">
+
+ <a1503:property-placeholder2 id="aries1503">
+ <ext:location>asd</ext:location>
+ </a1503:property-placeholder2>
+
+</blueprint>
Added: aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xml?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xml (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xml Fri Mar 11 13:47:57 2016
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ 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.
+ -->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ default-activation="lazy">
+
+ <bean id="Aries1503NamespaceHandler" class="org.apache.aries.blueprint.itests.cm.handler.Aries1503bNamespaceHandler"/>
+
+ <service ref="Aries1503NamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace" value="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.1.0"/>
+ </service-properties>
+ </service>
+
+</blueprint>
Added: aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xsd
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xsd?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xsd (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503-2.xsd Fri Mar 11 13:47:57 2016
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ 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.
+-->
+<xsd:schema xmlns="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.1.0"
+ xmlns:a1503="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.1.0"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.1.0">
+
+ <xsd:import namespace="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0" />
+
+ <xsd:element name="property-placeholder2" type="TpropertyPlaceholder2"/>
+
+ <xsd:complexType name="TpropertyPlaceholder2">
+ <xsd:complexContent>
+ <xsd:extension base="a1503:TpropertyPlaceholder" />
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
Added: aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xml
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xml?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xml (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xml Fri Mar 11 13:47:57 2016
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ 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.
+ -->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy">
+
+ <bean id="Aries1503NamespaceHandler" class="org.apache.aries.blueprint.itests.cm.handler.Aries1503aNamespaceHandler"/>
+
+ <service ref="Aries1503NamespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
+ <service-properties>
+ <entry key="osgi.service.blueprint.namespace" value="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0"/>
+ </service-properties>
+ </service>
+
+</blueprint>
Added: aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xsd
URL: http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xsd?rev=1734559&view=auto
==============================================================================
--- aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xsd (added)
+++ aries/trunk/blueprint/blueprint-itests/src/test/resources/blueprint-aries-1503.xsd Fri Mar 11 13:47:57 2016
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ 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.
+-->
+<xsd:schema xmlns="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0"
+ xmlns:ext100="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ targetNamespace="http://aries.apache.org/blueprint/xmlns/blueprint-aries-1503/v1.0.0"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0" />
+ <xsd:import namespace="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0" />
+
+ <xsd:element name="property-placeholder" type="TpropertyPlaceholder"/>
+
+ <xsd:complexType name="TpropertyPlaceholder">
+ <xsd:complexContent>
+ <xsd:extension base="bp:Tcomponent">
+ <xsd:sequence>
+ <xsd:element ref="ext100:location" />
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>