387986 adding the user region to the test repo
diff --git a/build.versions b/build.versions
index cff4dda..365aab2 100644
--- a/build.versions
+++ b/build.versions
@@ -3,6 +3,7 @@
 org.eclipse.osgi=3.8.0.v20120508-2119
 org.eclipse.osgi.services=3.3.0.v20120307-2102
 org.eclipse.virgo.util=3.6.0.D-20120903015800
+org.eclipse.equinox.region=1.1.0.v20120319-1602
 
 # Test
 org.junit=4.7.0
diff --git a/org.eclipse.virgo.test.stubs/.classpath b/org.eclipse.virgo.test.stubs/.classpath
index a7bd023..4c7e6dd 100644
--- a/org.eclipse.virgo.test.stubs/.classpath
+++ b/org.eclipse.virgo.test.stubs/.classpath
@@ -25,6 +25,6 @@
 	<classpathentry kind="con" path="org.eclipse.ajdt.core.ASPECTJRT_CONTAINER"/>
 	<classpathentry kind="var" path="TEST_IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.osgi/3.8.0.v20120508-2119/org.eclipse.osgi-3.8.0.v20120508-2119.jar" sourcepath="/TEST_IVY_CACHE/org.eclipse.osgi/org.eclipse.osgi/3.7.1.R37x_v20110808-1106/org.eclipse.osgi-sources-3.7.1.R37x_v20110808-1106.jar"/>
 	<classpathentry kind="var" path="TEST_IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.osgi.services/3.3.0.v20120307-2102/org.eclipse.osgi.services-3.3.0.v20120307-2102.jar" sourcepath="/TEST_IVY_CACHE/org.eclipse.osgi/org.eclipse.osgi.services/3.3.0.v20110513/org.eclipse.osgi.services-sources-3.3.0.v20110513.jar"/>
-	<classpathentry kind="var" path="TEST_IVY_CACHE"/>
+	<classpathentry kind="var" path="TEST_IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.equinox.region/1.1.0.v20120319-1602/org.eclipse.equinox.region-1.1.0.v20120319-1602.jar"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/org.eclipse.virgo.test.stubs/ivy.xml b/org.eclipse.virgo.test.stubs/ivy.xml
index 3afb283..19710a5 100644
--- a/org.eclipse.virgo.test.stubs/ivy.xml
+++ b/org.eclipse.virgo.test.stubs/ivy.xml
@@ -20,6 +20,7 @@
 		<dependency org="org.aspectj" name="com.springsource.org.aspectj.runtime" rev="${org.aspectj}" conf="compile->runtime"/>
 		<dependency org="org.junit" name="com.springsource.org.junit" rev="${org.junit}" conf="compile->runtime"/>
 		<dependency org='org.eclipse.virgo.mirrored' name='org.eclipse.osgi' rev='${org.eclipse.osgi}' conf='compile->runtime'/>
+		<dependency org="org.eclipse.virgo.mirrored" name='org.eclipse.equinox.region' rev='${org.eclipse.equinox.region}' conf='compile->runtime' />
 		<dependency org="org.eclipse.virgo.mirrored" name="org.eclipse.osgi.services" rev="${org.eclipse.osgi.services}" conf="compile->runtime"/>
 	</dependencies>
 
diff --git a/org.eclipse.virgo.test.stubs/src/main/java/org/eclipse/virgo/test/stubs/region/StubRegion.java b/org.eclipse.virgo.test.stubs/src/main/java/org/eclipse/virgo/test/stubs/region/StubRegion.java
new file mode 100644
index 0000000..6f34502
--- /dev/null
+++ b/org.eclipse.virgo.test.stubs/src/main/java/org/eclipse/virgo/test/stubs/region/StubRegion.java
@@ -0,0 +1,162 @@
+/**
+ * This file is part of the Eclipse Virgo project.
+ *
+ * Copyright (c) 2011 copyright_holder
+ * 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:
+ *    cgfrost - initial contribution
+ */
+package org.eclipse.virgo.test.stubs.region;
+
+import java.io.InputStream;
+import java.util.Set;
+
+import org.eclipse.equinox.region.Region;
+import org.eclipse.equinox.region.RegionDigraph;
+import org.eclipse.equinox.region.RegionDigraphVisitor;
+import org.eclipse.equinox.region.RegionFilter;
+import org.eclipse.equinox.region.RegionDigraph.FilteredRegion;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Version;
+
+/**
+ * StubRegion
+ */
+public class StubRegion implements Region {
+
+    private final String name;
+    
+	private final RegionDigraph regionDigraph;
+
+    public StubRegion(String name, RegionDigraph regionDigraph) {
+        this.name = name;
+		this.regionDigraph = regionDigraph;
+    }
+    
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public String getName() {
+        return this.name;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public void addBundle(Bundle bundle) throws BundleException {
+
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public void addBundle(long bundleId) {
+
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public Bundle installBundle(String location, InputStream input) throws BundleException {
+        return null;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public Bundle installBundle(String location) throws BundleException {
+        return null;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public Set<Long> getBundleIds() {
+        return null;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean contains(Bundle bundle) {
+        return false;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean contains(long bundleId) {
+        return false;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public Bundle getBundle(String symbolicName, Version version) {
+        return null;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public void connectRegion(Region headRegion, RegionFilter filter) throws BundleException {
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public RegionDigraph getRegionDigraph() {
+        return this.regionDigraph;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public void removeBundle(Bundle bundle) {
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public void removeBundle(long bundleId) {
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public Set<FilteredRegion> getEdges() {
+        return null;
+    }
+
+    /** 
+     * {@inheritDoc}
+     */
+    @Override
+    public void visitSubgraph(RegionDigraphVisitor visitor) {
+    }
+
+	@Override
+	public Bundle installBundleAtLocation(String arg0, InputStream arg1) throws BundleException {
+		return null;
+	}
+
+}
diff --git a/org.eclipse.virgo.test.stubs/src/main/java/org/eclipse/virgo/test/stubs/region/StubRegionDigraph.java b/org.eclipse.virgo.test.stubs/src/main/java/org/eclipse/virgo/test/stubs/region/StubRegionDigraph.java
new file mode 100644
index 0000000..2e77f60
--- /dev/null
+++ b/org.eclipse.virgo.test.stubs/src/main/java/org/eclipse/virgo/test/stubs/region/StubRegionDigraph.java
@@ -0,0 +1,147 @@
+/**
+ * This file is part of the Eclipse Virgo project.
+ *
+ * Copyright (c) 2011 copyright_holder
+ * 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:
+ *    cgfrost - initial contribution
+ */
+package org.eclipse.virgo.test.stubs.region;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.equinox.region.Region;
+import org.eclipse.equinox.region.RegionDigraph;
+import org.eclipse.equinox.region.RegionDigraphPersistence;
+import org.eclipse.equinox.region.RegionDigraphVisitor;
+import org.eclipse.equinox.region.RegionFilter;
+import org.eclipse.equinox.region.RegionFilterBuilder;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.hooks.bundle.EventHook;
+import org.osgi.framework.hooks.bundle.FindHook;
+import org.osgi.framework.hooks.resolver.ResolverHookFactory;
+
+public class StubRegionDigraph implements RegionDigraph {
+
+	private final Map<String, Region> regions = new HashMap<String, Region>();
+	
+	private Region defaultRegion;
+	
+	@Override
+	public Iterator<Region> iterator() {
+		return this.regions.values().iterator();
+	}
+
+	@Override
+	public Region createRegion(String regionName) throws BundleException {
+		StubRegion stubRegion = new StubRegion(regionName, this);
+		this.regions.put(regionName, stubRegion);
+		return stubRegion;
+	}
+
+	@Override
+	public RegionFilterBuilder createRegionFilterBuilder() {
+		return null;
+	}
+
+	@Override
+	public void removeRegion(Region region) {
+		this.regions.remove(region.getName());
+	}
+
+	@Override
+	public Set<Region> getRegions() {
+		return Collections.unmodifiableSet(new HashSet<Region>(this.regions.values()));
+	}
+
+	@Override
+	public Region getRegion(String regionName) {
+		return this.regions.get(regionName);
+	}
+
+	@Override
+	public Region getRegion(Bundle bundle) {
+		return null;
+	}
+
+	@Override
+	public Region getRegion(long bundleId) {
+		return null;
+	}
+
+	@Override
+	public void connect(Region tailRegion, RegionFilter filter, Region headRegion) throws BundleException {
+
+	}
+
+	@Override
+	public Set<FilteredRegion> getEdges(Region tailRegion) {
+		return null;
+	}
+
+	@Override
+	public void visitSubgraph(Region startingRegion, RegionDigraphVisitor visitor) {
+
+	}
+
+	@Override
+	public RegionDigraphPersistence getRegionDigraphPersistence() {
+		return null;
+	}
+
+	@Override
+	public RegionDigraph copy() throws BundleException {
+		return null;
+	}
+
+	@Override
+	public void replace(RegionDigraph digraph) throws BundleException {
+
+	}
+
+	@Override
+	public ResolverHookFactory getResolverHookFactory() {
+		return null;
+	}
+
+	@Override
+	public EventHook getBundleEventHook() {
+		return null;
+	}
+
+	@Override
+	public FindHook getBundleFindHook() {
+		return null;
+	}
+
+	@Override
+	public org.osgi.framework.hooks.service.EventHook getServiceEventHook() {
+		return null;
+	}
+
+	@Override
+	public org.osgi.framework.hooks.service.FindHook getServiceFindHook() {
+		return null;
+	}
+
+	@Override
+	public void setDefaultRegion(Region defaultRegion) {
+		this.defaultRegion = defaultRegion;
+	}
+
+	@Override
+	public Region getDefaultRegion() {
+		return this.defaultRegion;
+	}
+
+}
diff --git a/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/framework/StubBundleTests.java b/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/framework/StubBundleTests.java
index 77c353e..9ddad75 100644
--- a/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/framework/StubBundleTests.java
+++ b/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/framework/StubBundleTests.java
@@ -8,7 +8,6 @@
  * Contributors:
  *   VMware Inc. - initial contribution
  *******************************************************************************/
-
 package org.eclipse.virgo.test.stubs.framework;
 
 import static org.eclipse.virgo.test.stubs.AdditionalAsserts.assertContains;
diff --git a/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/region/StubRegionDigraphTests.java b/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/region/StubRegionDigraphTests.java
new file mode 100644
index 0000000..27e9817
--- /dev/null
+++ b/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/region/StubRegionDigraphTests.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 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.test.stubs.region;
+
+import org.eclipse.equinox.region.Region;
+import org.junit.Test;
+import org.osgi.framework.BundleException;
+
+import static org.junit.Assert.assertEquals;
+
+
+public class StubRegionDigraphTests {
+
+	private StubRegionDigraph stubRegionDigraph;
+	
+	@Test
+	public void testRegionDigraaph() throws BundleException{
+		this.stubRegionDigraph = new StubRegionDigraph();
+		Region createRegion = this.stubRegionDigraph.createRegion("testRegion");
+		assertEquals(createRegion.getName(), "testRegion");
+		assertEquals(this.stubRegionDigraph, createRegion.getRegionDigraph());
+	}
+	
+	@Test
+	public void testGetRemoveRegion() throws BundleException {
+		this.stubRegionDigraph = new StubRegionDigraph();
+		this.stubRegionDigraph.createRegion("testRegion");
+		assertEquals(1, this.stubRegionDigraph.getRegions().size());
+		this.stubRegionDigraph.removeRegion(this.stubRegionDigraph.getRegion("testRegion"));
+		assertEquals(0, this.stubRegionDigraph.getRegions().size());
+	}
+	
+}
diff --git a/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/region/StubRegionTests.java b/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/region/StubRegionTests.java
new file mode 100644
index 0000000..36af522
--- /dev/null
+++ b/org.eclipse.virgo.test.stubs/src/test/java/org/eclipse/virgo/test/stubs/region/StubRegionTests.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2012 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.test.stubs.region;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.equinox.region.Region;
+import org.junit.Test;
+
+public class StubRegionTests {
+
+	private StubRegionDigraph stubRegionDigraph = new StubRegionDigraph();
+	
+	@Test
+	public void testRegion(){
+		Region region = new StubRegion("testRegion", this.stubRegionDigraph);
+		assertEquals("testRegion", region.getName());
+	}
+}