Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/main/java/org/eclipse/virgo/kernel/artifact/plan/internal/PlanReaderEntityResolver.java9
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/main/resources/org/eclipse/virgo/kernel/artifact/plan/eclipse-virgo-plan.xsd113
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanBridgeTests.java89
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanReaderTests.java106
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/attributes.plan15
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/malformed.plan9
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/multi-artifact.plan13
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/properties.plan13
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/single-artifact.plan11
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/plans/attributes.plan6
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/plans/malformed.plan6
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/plans/multi-artifact.plan6
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/plans/properties.plan6
-rw-r--r--org.eclipse.virgo.kernel.artifact/src/test/resources/plans/single-artifact.plan6
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/DMSPlanDeploymentTests.java179
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/NestedPlanIntegrationTests.java2
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-fragment.plan12
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-properties.plan13
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-scoped-test-with-par.plan11
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test-with-par.plan11
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test.plan13
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-testunscopednonatomic.plan13
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/fragment.plan6
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/properties.plan6
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/scoped-test-with-par.plan6
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/test-with-par.plan6
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/test.plan6
-rw-r--r--org.eclipse.virgo.kernel.deployer.test/src/test/resources/testunscopednonatomic.plan6
28 files changed, 662 insertions, 36 deletions
diff --git a/org.eclipse.virgo.kernel.artifact/src/main/java/org/eclipse/virgo/kernel/artifact/plan/internal/PlanReaderEntityResolver.java b/org.eclipse.virgo.kernel.artifact/src/main/java/org/eclipse/virgo/kernel/artifact/plan/internal/PlanReaderEntityResolver.java
index c7b979d3..02433586 100644
--- a/org.eclipse.virgo.kernel.artifact/src/main/java/org/eclipse/virgo/kernel/artifact/plan/internal/PlanReaderEntityResolver.java
+++ b/org.eclipse.virgo.kernel.artifact/src/main/java/org/eclipse/virgo/kernel/artifact/plan/internal/PlanReaderEntityResolver.java
@@ -21,11 +21,16 @@ import org.xml.sax.SAXException;
public final class PlanReaderEntityResolver implements EntityResolver {
- private static final String SCHEMA_LOCATION = "org/eclipse/virgo/kernel/artifact/plan/springsource-dm-server-plan.xsd";
+ private static final String DMS_INDICATOR = "springsource-dm-server";
+
+ private static final String SCHEMA_LOCATION = "org/eclipse/virgo/kernel/artifact/plan/eclipse-virgo-plan.xsd";
+
+ private static final String DMS_SCHEMA_LOCATION = "org/eclipse/virgo/kernel/artifact/plan/springsource-dm-server-plan.xsd";
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
ClassLoader classLoader = this.getClass().getClassLoader();
- InputStream xsdResource = classLoader.getResourceAsStream(SCHEMA_LOCATION);
+ boolean dmsSystemId = systemId != null && systemId.contains(DMS_INDICATOR);
+ InputStream xsdResource = classLoader.getResourceAsStream(dmsSystemId ? DMS_SCHEMA_LOCATION : SCHEMA_LOCATION);
if (xsdResource != null) {
InputSource source = new InputSource(xsdResource);
source.setPublicId(publicId);
diff --git a/org.eclipse.virgo.kernel.artifact/src/main/resources/org/eclipse/virgo/kernel/artifact/plan/eclipse-virgo-plan.xsd b/org.eclipse.virgo.kernel.artifact/src/main/resources/org/eclipse/virgo/kernel/artifact/plan/eclipse-virgo-plan.xsd
new file mode 100644
index 00000000..6beced8c
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/main/resources/org/eclipse/virgo/kernel/artifact/plan/eclipse-virgo-plan.xsd
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:plan="http://www.eclipse.org/virgo/schema/plan"
+ targetNamespace="http://www.eclipse.org/virgo/schema/plan"
+ elementFormDefault="qualified">
+
+<!-- Types -->
+ <complexType name="nameValueType">
+ <attribute name="name" type="string" use="required" >
+ <annotation>
+ <documentation><![CDATA[The name of the attribute/property.]]></documentation>
+ </annotation>
+ </attribute>
+ <attribute name="value" type="string" use="required" >
+ <annotation>
+ <documentation><![CDATA[The value of the attribute/property.]]></documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="attributesType">
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element name="attribute" type="plan:nameValueType">
+ <annotation>
+ <documentation><![CDATA[An attribute for replacement in the plan.]]></documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+
+ <complexType name="artifactType">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <element name="property" type="plan:nameValueType">
+ <annotation>
+ <documentation>
+ <![CDATA[Defines a property for the enclosing artifact. Properties are interpreted in an artifact-specific manner.]]>
+ </documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <attribute name="type" type="string" use="required" >
+ <annotation>
+ <documentation><![CDATA[The type of the artifact.]]></documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string" use="required" >
+ <annotation>
+ <documentation><![CDATA[The name of the artifact.]]></documentation>
+ </annotation>
+ </attribute>
+ <attribute name="version" type="string" use="optional" default="0">
+ <annotation>
+ <documentation><![CDATA[The version or version range for this artifact.
+This version or version number must meet the OSGi version specification. This attribute is optional and when not specified will result in a default value of "0" meaning 0 to infinity in OSGi.]]></documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+
+ <complexType name="plan">
+ <sequence minOccurs="1" maxOccurs="1">
+ <sequence minOccurs="0" maxOccurs="1">
+ <element name="attributes" type="plan:attributesType">
+ <annotation>
+ <documentation><![CDATA[The attributes for this plan]]></documentation>
+ </annotation>
+ </element>
+ </sequence>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <element name="artifact" type="plan:artifactType">
+ <annotation>
+ <documentation><![CDATA[An artifact to include as part of this plan.]]></documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </sequence>
+ <attribute name="name" type="string" use="required">
+ <annotation>
+ <documentation><![CDATA[The name of this plan.
+This is one component of the unique identifier for this plan along with a type of 'plan' and a specified version.]]></documentation>
+ </annotation>
+ </attribute>
+ <attribute name="version" use="required">
+ <annotation>
+ <documentation><![CDATA[The version of this plan.
+This version must meet the OSGi version specification. This is one component of the unique identifier for this plan along with a type of 'plan' and a specified name.]]></documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="string">
+ <pattern value="\d+(\.\d+(\.\d+(\.([\w_-])+)?)?)?"/>
+ </restriction>
+ </simpleType>
+ </attribute>
+ <attribute name="scoped" type="boolean" use="required">
+ <annotation>
+ <documentation><![CDATA[Whether or not the artifacts in the plan should be installed into a plan-specific scope. When scoping is disabled, the artifacts are deployed into the global scope and are available for access by all other artifacts.]]></documentation>
+ </annotation>
+ </attribute>
+ <attribute name="atomic" type="boolean" use="required" >
+ <annotation>
+ <documentation><![CDATA[Whether the lifecycle of the artifacts in the plan should be tied together. Making a plan atomic means that install, start, stop and uninstall events for a single artifact in the plan will be escalated to all artifacts in the plan. Also, in an atomic plan, dm Server prevents artifacts from being in inconsistent states. For example, if one artifact should fail to start, then dm Server will stop all artifacts in the plan.]]></documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+
+<!-- Elements -->
+ <element name="plan" type="plan:plan">
+ <annotation>
+ <documentation><![CDATA[Plans are a way to group bundles together as a single logical unit in dm Server. Within a plan, bundles and services can be placed into a scope that isolates them from the rest of the system. This scoping ensures that the bundles wire to each other and see each other's services in preference to services from outside the scope. Scoping also prevents application code from leaking into the global scope or scope of another application. In addition, a plan can serve as a way to link the lifcycle of a group of bundles together atomically. This atomicity ensures that instal, start, stop, and uninstall events on a single artifact in the plan will be escalated to all artifacts in the plan.]]></documentation>
+ </annotation>
+ </element>
+
+</schema> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanBridgeTests.java b/org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanBridgeTests.java
new file mode 100644
index 00000000..bfb6fd6a
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanBridgeTests.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.kernel.artifact.plan;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import java.io.File;
+import java.util.Map;
+import java.util.Set;
+
+import org.junit.Test;
+import org.osgi.framework.Version;
+
+
+import org.eclipse.virgo.kernel.artifact.StubHashGenerator;
+import org.eclipse.virgo.kernel.artifact.plan.PlanBridge;
+import org.eclipse.virgo.repository.ArtifactDescriptor;
+import org.eclipse.virgo.repository.ArtifactGenerationException;
+import org.eclipse.virgo.repository.Attribute;
+
+public class DMSPlanBridgeTests {
+
+ private final PlanBridge bridge = new PlanBridge(new StubHashGenerator());
+
+ @Test(expected = ArtifactGenerationException.class)
+ public void testBadPlanFile() throws ArtifactGenerationException {
+ bridge.generateArtifactDescriptor(new File("src/test/resources/dms-plans/malformed.plan"));
+ }
+
+ @Test()
+ public void testNotAPlanFile() throws ArtifactGenerationException {
+ assertNull(bridge.generateArtifactDescriptor(new File("src/test/resources/dms-plans/not-a-plan.xml")));
+ }
+
+ @Test
+ public void testSingleArtifactPlan() throws ArtifactGenerationException {
+ org.eclipse.virgo.repository.ArtifactDescriptor artefact = bridge.generateArtifactDescriptor(new File(
+ "src/test/resources/dms-plans/single-artifact.plan"));
+ assertEquals("plan", artefact.getType());
+ assertEquals("single-artifact.plan", artefact.getName());
+ assertEquals(new Version(1, 0, 0), artefact.getVersion());
+
+ Set<Attribute> attributes = artefact.getAttribute("artifact");
+ assertEquals(1, attributes.size());
+ Map<String, Set<String>> properties = attributes.iterator().next().getProperties();
+ assertEquals("bundle", getProperty("type", properties));
+ assertEquals("org.springframework.context.support", getProperty("name", properties));
+ assertEquals("[1.0.0, 2.0.0)", getProperty("version", properties));
+ }
+
+ @Test
+ public void testMultiArtifactPlan() throws ArtifactGenerationException {
+ ArtifactDescriptor artefact = bridge.generateArtifactDescriptor(new File("src/test/resources/dms-plans/multi-artifact.plan"));
+ assertEquals("plan", artefact.getType());
+ assertEquals("multi-artifact.plan", artefact.getName());
+ assertEquals(new Version(1, 0, 0), artefact.getVersion());
+
+ Set<Attribute> attributes = artefact.getAttribute("artifact");
+ assertEquals(3, attributes.size());
+ for (Attribute attribute : attributes) {
+ Map<String, Set<String>> properties = attribute.getProperties();
+ String type = getProperty("type", properties);
+ if ("alpha".equals(type)) {
+ assertEquals("org.springframework.core", getProperty("name", properties));
+ assertEquals("0.0.0", getProperty("version", properties));
+ } else if ("bravo".equals(type)) {
+ assertEquals("org.springframework.context", getProperty("name", properties));
+ assertEquals("1.0.0", getProperty("version", properties));
+ } else if ("charlie".equals(type)) {
+ assertEquals("org.springframework.context.support", getProperty("name", properties));
+ assertEquals("[1.0.0, 2.0.0)", getProperty("version", properties));
+ }
+ }
+ }
+
+ private String getProperty(String key, Map<String, Set<String>> properties) {
+ return properties.get(key).iterator().next();
+ }
+}
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanReaderTests.java b/org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanReaderTests.java
new file mode 100644
index 00000000..01d36359
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/java/org/eclipse/virgo/kernel/artifact/plan/DMSPlanReaderTests.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.kernel.artifact.plan;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.util.List;
+
+import org.junit.Test;
+import org.osgi.framework.Version;
+
+import org.eclipse.virgo.kernel.artifact.ArtifactSpecification;
+import org.eclipse.virgo.kernel.artifact.plan.PlanDescriptor;
+import org.eclipse.virgo.kernel.artifact.plan.PlanReader;
+import org.eclipse.virgo.util.osgi.VersionRange;
+
+public class DMSPlanReaderTests {
+
+ private final PlanReader reader = new PlanReader();
+
+ @Test(expected = RuntimeException.class)
+ public void testBadPlanFile() throws FileNotFoundException {
+ reader.read(new FileInputStream("src/test/resources/dms-plans/malformed.plan"));
+ }
+
+ @Test
+ public void testSingleArtifactPlan() throws FileNotFoundException {
+ PlanDescriptor plan = reader.read(new FileInputStream("src/test/resources/dms-plans/single-artifact.plan"));
+ assertEquals("single-artifact.plan", plan.getName());
+ assertEquals(new Version(1, 0, 0), plan.getVersion());
+
+ List<ArtifactSpecification> artifactSpecifications = plan.getArtifactSpecifications();
+ assertEquals(1, artifactSpecifications.size());
+ ArtifactSpecification artifactSpecification = artifactSpecifications.iterator().next();
+ assertEquals("bundle", artifactSpecification.getType());
+ assertEquals("org.springframework.context.support", artifactSpecification.getName());
+ assertEquals(new VersionRange("[1.0.0, 2.0.0)"), artifactSpecification.getVersionRange());
+ assertNotNull(artifactSpecification.getProperties());
+ assertTrue(artifactSpecification.getProperties().isEmpty());
+ }
+
+ @Test
+ public void testSingleArtifactPlanWithAttributes() throws FileNotFoundException {
+ PlanDescriptor plan = reader.read(new FileInputStream("src/test/resources/dms-plans/attributes.plan"));
+ assertEquals("single-artifact.plan", plan.getName());
+ assertEquals(new Version(1, 0, 0), plan.getVersion());
+
+ List<ArtifactSpecification> artifactSpecifications = plan.getArtifactSpecifications();
+ assertEquals(1, artifactSpecifications.size());
+ ArtifactSpecification artifactSpecification = artifactSpecifications.iterator().next();
+ assertEquals("bundle", artifactSpecification.getType());
+ assertEquals("org.springframework.context.support", artifactSpecification.getName());
+ assertEquals(new VersionRange("[1.0.0, 2.0.0)"), artifactSpecification.getVersionRange());
+ }
+
+ @Test
+ public void testSingleArtifactPlanWithProperties() throws FileNotFoundException {
+ PlanDescriptor plan = reader.read(new FileInputStream("src/test/resources/dms-plans/properties.plan"));
+ assertEquals("properties.plan", plan.getName());
+ assertEquals(new Version(1, 0, 0), plan.getVersion());
+
+ List<ArtifactSpecification> artifactSpecifications = plan.getArtifactSpecifications();
+ assertEquals(1, artifactSpecifications.size());
+ ArtifactSpecification artifactSpecification = artifactSpecifications.iterator().next();
+ assertEquals("bundle", artifactSpecification.getType());
+ assertEquals("my.webapp", artifactSpecification.getName());
+ assertEquals(new VersionRange("[1.0.0, 2.0.0)"), artifactSpecification.getVersionRange());
+ assertEquals("/foo", artifactSpecification.getProperties().get("Web-ContextPath"));
+ }
+
+ @Test
+ public void testMultiArtifactPlan() throws FileNotFoundException {
+ PlanDescriptor plan = reader.read(new FileInputStream("src/test/resources/dms-plans/multi-artifact.plan"));
+ assertEquals("multi-artifact.plan", plan.getName());
+ assertEquals(new Version(1, 0, 0), plan.getVersion());
+
+ List<ArtifactSpecification> artifactSpecifications = plan.getArtifactSpecifications();
+ assertEquals(3, artifactSpecifications.size());
+ for (ArtifactSpecification artifactSpecification : artifactSpecifications) {
+ String type = artifactSpecification.getType();
+ if ("alpha".equals(type)) {
+ assertEquals("org.springframework.core", artifactSpecification.getName());
+ assertEquals(new VersionRange("0"), artifactSpecification.getVersionRange());
+ } else if ("bravo".equals(type)) {
+ assertEquals("org.springframework.context", artifactSpecification.getName());
+ assertEquals(new VersionRange("1.0.0"), artifactSpecification.getVersionRange());
+ } else if ("charlie".equals(type)) {
+ assertEquals("org.springframework.context.support", artifactSpecification.getName());
+ assertEquals(new VersionRange("[1.0.0, 2.0.0)"), artifactSpecification.getVersionRange());
+ }
+ }
+ }
+}
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/attributes.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/attributes.plan
new file mode 100644
index 00000000..5ae8d8c7
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/attributes.plan
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="single-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <attributes>
+ <attribute name="version" value="[1.0.0, 2.0.0)"/>
+
+ </attributes>
+ <artifact type="bundle" name="org.springframework.context.support" version="${version}"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/malformed.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/malformed.plan
new file mode 100644
index 00000000..71cc5c15
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/malformed.plan
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="malformed.plan" version="1.0.0"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ <artifact type="bundle"/>
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/multi-artifact.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/multi-artifact.plan
new file mode 100644
index 00000000..ea5363d0
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/multi-artifact.plan
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="alpha" name="org.springframework.core"/>
+ <artifact type="bravo" name="org.springframework.context" version="1.0.0"/>
+ <artifact type="charlie" name="org.springframework.context.support" version="[1.0.0, 2.0.0)"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/properties.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/properties.plan
new file mode 100644
index 00000000..8e76e718
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/properties.plan
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="properties.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="bundle" name="my.webapp" version="[1.0.0, 2.0.0)">
+ <property name="Web-ContextPath" value="/foo"/>
+ </artifact>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/single-artifact.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/single-artifact.plan
new file mode 100644
index 00000000..e5377970
--- /dev/null
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/dms-plans/single-artifact.plan
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="single-artifact.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="bundle" name="org.springframework.context.support" version="[1.0.0, 2.0.0)"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/attributes.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/attributes.plan
index 5ae8d8c7..d992b691 100644
--- a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/attributes.plan
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/attributes.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="single-artifact.plan" version="1.0.0" scoped="true" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<attributes>
<attribute name="version" value="[1.0.0, 2.0.0)"/>
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/malformed.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/malformed.plan
index 71cc5c15..f8764fd3 100644
--- a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/malformed.plan
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/malformed.plan
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="malformed.plan" version="1.0.0"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle"/>
</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/multi-artifact.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/multi-artifact.plan
index ea5363d0..2d6725d6 100644
--- a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/multi-artifact.plan
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/multi-artifact.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="alpha" name="org.springframework.core"/>
<artifact type="bravo" name="org.springframework.context" version="1.0.0"/>
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/properties.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/properties.plan
index 8e76e718..2a7d0fde 100644
--- a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/properties.plan
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/properties.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="properties.plan" version="1.0.0" scoped="true" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle" name="my.webapp" version="[1.0.0, 2.0.0)">
<property name="Web-ContextPath" value="/foo"/>
diff --git a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/single-artifact.plan b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/single-artifact.plan
index e5377970..6388d766 100644
--- a/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/single-artifact.plan
+++ b/org.eclipse.virgo.kernel.artifact/src/test/resources/plans/single-artifact.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="single-artifact.plan" version="1.0.0" scoped="true" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle" name="org.springframework.context.support" version="[1.0.0, 2.0.0)"/>
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/DMSPlanDeploymentTests.java b/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/DMSPlanDeploymentTests.java
new file mode 100644
index 00000000..d8537a61
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/DMSPlanDeploymentTests.java
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2010 VMware Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VMware Inc. - initial contribution
+ *******************************************************************************/
+
+package org.eclipse.virgo.kernel.deployer.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import org.eclipse.virgo.kernel.deployer.core.DeploymentException;
+import org.eclipse.virgo.kernel.deployer.core.DeploymentIdentity;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
+
+
+public class DMSPlanDeploymentTests extends AbstractDeployerIntegrationTest {
+
+ private ServiceReference configAdminServiceReference;
+
+ private ConfigurationAdmin configAdmin;
+
+ @Test
+ public void planReferencingAPar() throws Exception {
+ testPlanDeployment(new File("src/test/resources/dms-test-with-par.plan"), null, "par-deployed-by-plan-1-one");
+ }
+
+ @Test(expected=DeploymentException.class)
+ public void scopedPlanReferencingAPar() throws Exception {
+ testPlanDeployment(new File("src/test/resources/dms-scoped-test-with-par.plan"), null);
+ }
+
+ @Test
+ public void scopedBundlesAndConfig() throws Exception {
+ String oneBsn = "simple.bundle.one";
+ String twoBsn = "simple.bundle.two";
+
+ testPlanDeployment(new File("src/test/resources/dms-test.plan"), new File("src/test/resources/plan-deployment/com.foo.bar.properties"), oneBsn, twoBsn);
+ }
+
+ @Test
+ public void testSimpleBundleWithFragment() throws Exception {
+ String oneBsn = "simple.bundle.one";
+ String twoBsn = "simple.fragment.one";
+
+ testPlanDeployment(new File("src/test/resources/dms-fragment.plan"), null, oneBsn, twoBsn);
+ }
+
+ @Test
+ public void testUnscopedNonAtomicPlan() throws Exception {
+ String oneBsn = "simple.bundle.one";
+ String twoBsn = "simple.bundle.two";
+
+ testPlanDeployment(new File("src/test/resources/dms-testunscopednonatomic.plan"), new File("src/test/resources/plan-deployment/com.foo.bar.properties"), oneBsn, twoBsn);
+ }
+
+ @Test
+ public void testPlanWithProperties() throws Exception {
+ this.deployer.deploy(new File("src/test/resources/dms-properties.plan").toURI());
+ Bundle[] bundles = this.context.getBundles();
+ boolean found = false;
+ for (Bundle bundle : bundles) {
+ if("bundle.properties".equals(bundle.getSymbolicName())) {
+ found = true;
+ assertEquals("foo", bundle.getHeaders().get("Test-Header"));
+ }
+ }
+ assertTrue(found);
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ this.configAdminServiceReference = this.context.getServiceReference(ConfigurationAdmin.class.getName());
+ this.configAdmin = (ConfigurationAdmin) this.context.getService(this.configAdminServiceReference);
+ }
+
+ private void testPlanDeployment(File plan, File propertiesFile, String... candidateBsns) throws Exception {
+ Bundle[] beforeDeployBundles = this.context.getBundles();
+ assertBundlesNotInstalled(beforeDeployBundles, candidateBsns);
+
+ DeploymentIdentity deploymentIdentity = this.deployer.deploy(plan.toURI());
+ Bundle[] afterDeployBundles = this.context.getBundles();
+ assertBundlesInstalled(afterDeployBundles, candidateBsns);
+
+ String pid = null;
+
+ if (propertiesFile != null) {
+ pid = propertiesFile.getName().substring(0, propertiesFile.getName().length() - ".properties".length());
+ checkConfigAvailable(pid, propertiesFile);
+ }
+
+ this.deployer.undeploy(deploymentIdentity);
+ Bundle[] afterUndeployBundles = this.context.getBundles();
+ assertBundlesNotInstalled(afterUndeployBundles, candidateBsns);
+
+ if (propertiesFile != null) {
+ checkConfigUnavailable(pid);
+ }
+ }
+
+ private void assertBundlesNotInstalled(Bundle[] bundles, String... candidateBsns) {
+ List<String> installedBsns = getInstalledBsns(bundles);
+ for (String candidateBsn : candidateBsns) {
+ for (String installedBsn : installedBsns) {
+ if (installedBsn.contains(candidateBsn)) {
+ fail(candidateBsn + " was installed");
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void checkConfigAvailable(String pid, File propertiesFile) throws IOException {
+ Configuration configuration = this.configAdmin.getConfiguration(pid, null);
+ Dictionary<Object, Object> dictionary = configuration.getProperties();
+
+ Properties properties = new Properties();
+ properties.load(new FileReader(propertiesFile));
+
+ Set<Entry<Object, Object>> entrySet = properties.entrySet();
+
+ for (Entry<Object, Object> entry : entrySet) {
+ Assert.assertEquals(entry.getValue(), dictionary.get(entry.getKey()));
+ }
+
+ Assert.assertEquals(pid, dictionary.get("service.pid"));
+ }
+
+ private void checkConfigUnavailable(String pid) throws IOException {
+ Configuration configuration = this.configAdmin.getConfiguration(pid, null);
+ Assert.assertNull(configuration.getProperties());
+ }
+
+ private void assertBundlesInstalled(Bundle[] bundles, String... candidateBsns) {
+ List<String> installedBsns = getInstalledBsns(bundles);
+ for (String candidateBsn : candidateBsns) {
+ boolean found = false;
+ for (String installedBsn : installedBsns) {
+ if (installedBsn.contains(candidateBsn)) {
+ found = true;
+ }
+ }
+ assertTrue(candidateBsn + " was not installed", found);
+ }
+ }
+
+ private List<String> getInstalledBsns(Bundle[] bundles) {
+ List<String> installedBsns = new ArrayList<String>(bundles.length);
+ for (Bundle bundle : bundles) {
+ installedBsns.add(bundle.getSymbolicName());
+ }
+
+ return installedBsns;
+ }
+
+
+}
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/NestedPlanIntegrationTests.java b/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/NestedPlanIntegrationTests.java
index 6856a7f2..4cb6d68d 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/NestedPlanIntegrationTests.java
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/java/org/eclipse/virgo/kernel/deployer/test/NestedPlanIntegrationTests.java
@@ -88,7 +88,7 @@ public class NestedPlanIntegrationTests extends AbstractDeployerIntegrationTest
private static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
- private static final String NAMESPACES = " xmlns=\"http://www.springsource.org/schema/dm-server/plan\" \n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n xsi:schemaLocation=\" http://www.springsource.org/schema/dm-server/plan http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd\"";
+ private static final String NAMESPACES = " xmlns=\"http://www.eclipse.org/virgo/schema/plan\" \n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n xsi:schemaLocation=\" http://www.eclipse.org/virgo/schema/plan http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd\"";
private static final Version DEFAULT_VERSION = new Version("0");
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-fragment.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-fragment.plan
new file mode 100644
index 00000000..aa9a11ce
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-fragment.plan
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="fragment" version="1.0.0" scoped="false" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="bundle" name="simple.bundle.one" version="[1, 2)"/>
+ <artifact type="bundle" name="simple.fragment.one" version="[1, 2)"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-properties.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-properties.plan
new file mode 100644
index 00000000..95963fb9
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-properties.plan
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="properties.plan" version="1.0.0" scoped="false" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="bundle" name="bundle.properties" version="[1, 2)">
+ <property name="header:Test-Header" value="foo"/>
+ </artifact>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-scoped-test-with-par.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-scoped-test-with-par.plan
new file mode 100644
index 00000000..415387d3
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-scoped-test-with-par.plan
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="test.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="par" name="par-deployed-by-plan" version="[1, 2)"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test-with-par.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test-with-par.plan
new file mode 100644
index 00000000..1972dc47
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test-with-par.plan
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="test.plan" version="1.0.0" scoped="false" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="par" name="par-deployed-by-plan" version="[1, 2)"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test.plan
new file mode 100644
index 00000000..b9a4208c
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-test.plan
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="test.plan" version="1.0.0" scoped="true" atomic="true"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="bundle" name="simple.bundle.one" version="[1, 2)"/>
+ <artifact type="bundle" name="simple.bundle.two" version="[1, 2)"/>
+ <artifact type="configuration" name="com.foo.bar" version="[0,0]"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-testunscopednonatomic.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-testunscopednonatomic.plan
new file mode 100644
index 00000000..d863fcaf
--- /dev/null
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/dms-testunscopednonatomic.plan
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plan name="test.plan" version="1.0.0" scoped="false" atomic="false"
+ xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springsource.org/schema/dm-server/plan
+ http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+
+ <artifact type="bundle" name="simple.bundle.one" version="[1, 2)"/>
+ <artifact type="bundle" name="simple.bundle.two" version="[1, 2)"/>
+ <artifact type="configuration" name="com.foo.bar" version="[0,0]"/>
+
+</plan> \ No newline at end of file
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/fragment.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/fragment.plan
index aa9a11ce..abdbd6cd 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/fragment.plan
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/fragment.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="fragment" version="1.0.0" scoped="false" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle" name="simple.bundle.one" version="[1, 2)"/>
<artifact type="bundle" name="simple.fragment.one" version="[1, 2)"/>
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/properties.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/properties.plan
index 95963fb9..cf3bcbc6 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/properties.plan
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/properties.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="properties.plan" version="1.0.0" scoped="false" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle" name="bundle.properties" version="[1, 2)">
<property name="header:Test-Header" value="foo"/>
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/scoped-test-with-par.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/scoped-test-with-par.plan
index 415387d3..e615778c 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/scoped-test-with-par.plan
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/scoped-test-with-par.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="test.plan" version="1.0.0" scoped="true" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="par" name="par-deployed-by-plan" version="[1, 2)"/>
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test-with-par.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test-with-par.plan
index 1972dc47..f151fd25 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test-with-par.plan
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test-with-par.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="test.plan" version="1.0.0" scoped="false" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="par" name="par-deployed-by-plan" version="[1, 2)"/>
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test.plan
index b9a4208c..59e936af 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test.plan
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/test.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="test.plan" version="1.0.0" scoped="true" atomic="true"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle" name="simple.bundle.one" version="[1, 2)"/>
<artifact type="bundle" name="simple.bundle.two" version="[1, 2)"/>
diff --git a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/testunscopednonatomic.plan b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/testunscopednonatomic.plan
index d863fcaf..598b0bf8 100644
--- a/org.eclipse.virgo.kernel.deployer.test/src/test/resources/testunscopednonatomic.plan
+++ b/org.eclipse.virgo.kernel.deployer.test/src/test/resources/testunscopednonatomic.plan
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<plan name="test.plan" version="1.0.0" scoped="false" atomic="false"
- xmlns="http://www.springsource.org/schema/dm-server/plan"
+ xmlns="http://www.eclipse.org/virgo/schema/plan"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springsource.org/schema/dm-server/plan
- http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd">
+ http://www.eclipse.org/virgo/schema/plan
+ http://www.eclipse.org/virgo/schema/plan/eclipse-virgo-plan.xsd">
<artifact type="bundle" name="simple.bundle.one" version="[1, 2)"/>
<artifact type="bundle" name="simple.bundle.two" version="[1, 2)"/>

Back to the top