Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2013-03-01 16:22:06 +0000
committercletavernie2013-03-01 16:22:06 +0000
commit9e757c68b1cf72b3ebbd72a4ccb558b8d0e60183 (patch)
tree3050a2c2052d1ea4b16179e617dc64fa7f5bb9ca /plugins/customization
parent604dd014a6716f8f23cb2aefea00b0ad8b1c5cab (diff)
downloadorg.eclipse.papyrus-9e757c68b1cf72b3ebbd72a4ccb558b8d0e60183.tar.gz
org.eclipse.papyrus-9e757c68b1cf72b3ebbd72a4ccb558b8d0e60183.tar.xz
org.eclipse.papyrus-9e757c68b1cf72b3ebbd72a4ccb558b8d0e60183.zip
402155: [Properties View Customization] Using the Properties View Editor freezes the whole Eclipse UI
https://bugs.eclipse.org/bugs/show_bug.cgi?id=402155
Diffstat (limited to 'plugins/customization')
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/Activator.java12
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/AbstractContextualContentProvider.java3
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/EnvironmentContentProvider.java2
3 files changed, 15 insertions, 2 deletions
diff --git a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/Activator.java b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/Activator.java
index 0f0fe5920e8..af0a299af31 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/Activator.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/Activator.java
@@ -95,6 +95,18 @@ public class Activator extends AbstractUIPlugin {
try {
List<MetamodelView> registryDefaultCustomizations = CustomizationsCatalog.getInstance().getRegistryDefaultCustomizations();
for(MetamodelView metamodelView : registryDefaultCustomizations) {
+ //FIXME: One of the default uiCustom files in Papyrus has a side effect to call resolveAll on the resource set. While this is generally not a problem in Papyrus,
+ //it becomes critical with the properties view customization, as the resource set contains hundreds of proxies to xwt files (Which are really expensive to load)
+ //It seems that this uiCustom query cannot be easily fixed, so we disable it in this context.
+ //The query which tries to (indirectly) resolve all: org.eclipse.papyrus.infra.gmfdiag.modelexplorer.queries.IsDiagramContainer
+ //Used by: PapyrusNotationFacet.querySet -> PapyrusNotationFacet.uiCustom
+ if("PapyrusNotationFacet".equals(metamodelView.getName())) {
+ System.out.println("Disable " + metamodelView.getName());
+ continue; //Disable this specific uiCustom
+ }
+
+ System.out.println("Add " + metamodelView.getName());
+
customizationManager.registerCustomization(metamodelView);
}
diff --git a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/AbstractContextualContentProvider.java b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/AbstractContextualContentProvider.java
index b905edac67b..af60b730643 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/AbstractContextualContentProvider.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/AbstractContextualContentProvider.java
@@ -17,6 +17,7 @@ import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.customization.properties.Activator;
import org.eclipse.papyrus.infra.emf.providers.strategy.SemanticEMFContentProvider;
import org.eclipse.papyrus.infra.tools.util.ListHelper;
import org.eclipse.papyrus.infra.widgets.providers.IStaticContentProvider;
@@ -46,7 +47,7 @@ public abstract class AbstractContextualContentProvider extends SemanticEMFConte
* The EObject used to retrieve the available contexts
*/
protected AbstractContextualContentProvider(EObject source) {
- super(findContexts(source).toArray(new Context[0]));
+ super(findContexts(source).toArray(new Context[0]), Activator.getDefault().getCustomizationManager());
contexts = ListHelper.asList((Context[])roots);
}
diff --git a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/EnvironmentContentProvider.java b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/EnvironmentContentProvider.java
index 65a4255405b..a1a2565786e 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/EnvironmentContentProvider.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.properties/src/org/eclipse/papyrus/customization/properties/providers/EnvironmentContentProvider.java
@@ -38,7 +38,7 @@ public class EnvironmentContentProvider extends SemanticEMFContentProvider imple
* different environments.
*/
public EnvironmentContentProvider(EStructuralFeature feature) {
- super(null, feature, getRoots(feature));
+ super(null, feature, getRoots(feature), Activator.getDefault().getCustomizationManager());
}
private static EObject[] getRoots(EStructuralFeature feature) {

Back to the top