Bug 495726: MetadataRepositoryElementWrapper ignores parent context

If have content set for MetadataRepositories and children of it is
MetedataRepository, because of this wrapper context is not passed
around, for example if I say I don't want filters, it will only
apply to root and not individual repos which does not make any sense

Change-Id: I8a89d9366f9cd7575f36c85c66e025b782d6019a
Signed-off-by: elaskavaia <elaskavaia.cdt@gmail.com>
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java
index 70487fc..67f3207 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java
@@ -16,6 +16,7 @@
 import org.eclipse.equinox.internal.p2.ui.model.*;
 import org.eclipse.equinox.p2.operations.ProvisioningSession;
 import org.eclipse.equinox.p2.query.IQueryable;
+import org.eclipse.equinox.p2.ui.ProvisioningUI;
 
 /**
  * ElementWrapper that accepts the matched repo URLs and
@@ -47,13 +48,16 @@
 	 */
 	protected Object wrap(Object item) {
 		// Assume the item is enabled
-		boolean enabled = true;
+
 		// if the parent is a queried element then use its provisioning UI to find out about enablement
 		if (parent instanceof QueriedElement) {
-			ProvisioningSession session = ((QueriedElement) parent).getProvisioningUI().getSession();
-			enabled = ProvUI.getMetadataRepositoryManager(session).isEnabled((URI) item);
-		} 
-		return super.wrap(new MetadataRepositoryElement(parent, (URI) item, enabled));
+			QueriedElement qe = (QueriedElement) parent;
+			ProvisioningUI provisioningUI = qe.getProvisioningUI();
+			ProvisioningSession session = provisioningUI.getSession();
+			boolean enabled = ProvUI.getMetadataRepositoryManager(session).isEnabled((URI) item);
+			return super.wrap(new MetadataRepositoryElement(parent, qe.getQueryContext(), provisioningUI, (URI) item, enabled));
+		}
+		return super.wrap(new MetadataRepositoryElement(parent, (URI) item, true));
 	}
 
 }