Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2013-03-08 15:26:37 +0000
committercletavernie2013-03-08 15:26:37 +0000
commit53b3b8782d855eda25918a009f12aed715ba6796 (patch)
tree758724d3b3571008391a7360973893be49a173db /plugins/views
parent4af90f5dc4ca5d227869e7f5fd3ee6617977be27 (diff)
downloadorg.eclipse.papyrus-53b3b8782d855eda25918a009f12aed715ba6796.tar.gz
org.eclipse.papyrus-53b3b8782d855eda25918a009f12aed715ba6796.tar.xz
org.eclipse.papyrus-53b3b8782d855eda25918a009f12aed715ba6796.zip
359051: NPE in SortElementHandler
https://bugs.eclipse.org/bugs/show_bug.cgi?id=359051
Diffstat (limited to 'plugins/views')
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/Activator.java55
-rw-r--r--plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/SortElementHandler.java65
2 files changed, 50 insertions, 70 deletions
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/Activator.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/Activator.java
index 4744b87b146..ef8c35bf105 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/Activator.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/Activator.java
@@ -124,7 +124,7 @@ public class Activator extends AbstractUIPlugin implements org.eclipse.ui.IStart
* @return the customization manager in charge to adapt element in modisco
*/
public CustomizationManager getCustomizationManager() {
- return org.eclipse.papyrus.infra.emf.Activator.getDefault().getCustomizationManager();
+ return org.eclipse.papyrus.infra.emf.Activator.getDefault().getCustomizationManager();
}
private void init(final CustomizationManager customizationManager) {
@@ -141,7 +141,7 @@ public class Activator extends AbstractUIPlugin implements org.eclipse.ui.IStart
customizationManager.registerCustomization(metamodelView);
}
customizationManager.loadCustomizations();
- loadFacetsForCustomizations(registryDefaultCustomizations,customizationManager);
+ loadFacetsForCustomizations(registryDefaultCustomizations, customizationManager);
} catch (Throwable e) {
Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error initializing customizations", e)); //$NON-NLS-1$
@@ -152,54 +152,43 @@ public class Activator extends AbstractUIPlugin implements org.eclipse.ui.IStart
* load the facets
*
* @param customizations
- * list of customization
+ * list of customization
* @param customizationManager
- * the Customization Manager
+ * the Customization Manager
*/
- protected void loadFacetsForCustomizations(
- final List<MetamodelView> customizations,
- final CustomizationManager customizationManager) {
+ protected void loadFacetsForCustomizations(final List<MetamodelView> customizations, final CustomizationManager customizationManager) {
final Set<Facet> referencedFacets = new HashSet<Facet>();
- final Collection<FacetSet> facetSets = FacetSetCatalog.getSingleton()
- .getAllFacetSets();
+ final Collection<FacetSet> facetSets = FacetSetCatalog.getSingleton().getAllFacetSets();
- for (MetamodelView customization : customizations) {
+ for(MetamodelView customization : customizations) {
String metamodelURI = customization.getMetamodelURI();
// find customized FacetSet
FacetSet customizedFacetSet = null;
- if (metamodelURI != null) {
- for (FacetSet facetSet : facetSets) {
- if (metamodelURI.equals(facetSet.getNsURI())) {
+ if(metamodelURI != null) {
+ for(FacetSet facetSet : facetSets) {
+ if(metamodelURI.equals(facetSet.getNsURI())) {
customizedFacetSet = facetSet;
break;
}
}
}
- if (customizedFacetSet == null) {
+ if(customizedFacetSet == null) {
continue;
}
// find customized Facets
EList<TypeView> types = customization.getTypes();
- for (TypeView typeView : types) {
+ for(TypeView typeView : types) {
String metaclassName = typeView.getMetaclassName();
- Facet facet = findFacetWithFullyQualifiedName(metaclassName,
- customizedFacetSet);
- if (facet != null) {
+ Facet facet = findFacetWithFullyQualifiedName(metaclassName, customizedFacetSet);
+ if(facet != null) {
referencedFacets.add(facet);
} else {
- Activator.log.warn(NLS
- .bind(
- Messages.BrowserActionBarContributor_missingRequiredFacet,
- new Object[] {
- metaclassName,
- customizedFacetSet
- .getName(),
- customization.getName() }));
+ Activator.log.warn(NLS.bind(Messages.BrowserActionBarContributor_missingRequiredFacet, new Object[]{ metaclassName, customizedFacetSet.getName(), customization.getName() }));
}
}
- for (Facet referencedFacet : referencedFacets) {
+ for(Facet referencedFacet : referencedFacets) {
customizationManager.loadFacet(referencedFacet);
}
}
@@ -210,6 +199,7 @@ public class Activator extends AbstractUIPlugin implements org.eclipse.ui.IStart
// customizationManager.getAppearanceConfiguration().touch();
// customizationManager.refreshDelayed(true);
}
+
/**
* fin a facet from
*
@@ -217,12 +207,11 @@ public class Activator extends AbstractUIPlugin implements org.eclipse.ui.IStart
* @param customizedFacetSet
* @return
*/
- private Facet findFacetWithFullyQualifiedName(final String metaclassName,
- final FacetSet customizedFacetSet) {
+ private Facet findFacetWithFullyQualifiedName(final String metaclassName, final FacetSet customizedFacetSet) {
EList<Facet> facets = customizedFacetSet.getFacets();
- for (Facet facet : facets) {
+ for(Facet facet : facets) {
String facetName = getMetaclassQualifiedName(facet);
- if (metaclassName.equals(facetName)) {
+ if(metaclassName.equals(facetName)) {
return facet;
}
}
@@ -235,12 +224,12 @@ public class Activator extends AbstractUIPlugin implements org.eclipse.ui.IStart
final StringBuilder builder = new StringBuilder();
EPackage ePackage = eClass.getEPackage();
- while (ePackage != null) {
+ while(ePackage != null) {
qualifiedNameParts.add(ePackage.getName());
ePackage = ePackage.getESuperPackage();
}
- for (int i = qualifiedNameParts.size() - 1; i >= 0; i--) {
+ for(int i = qualifiedNameParts.size() - 1; i >= 0; i--) {
builder.append(qualifiedNameParts.get(i) + "."); //$NON-NLS-1$
}
diff --git a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/SortElementHandler.java b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/SortElementHandler.java
index 75bda21994e..5189beb6901 100644
--- a/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/SortElementHandler.java
+++ b/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer/src/org/eclipse/papyrus/views/modelexplorer/handler/SortElementHandler.java
@@ -17,8 +17,6 @@ package org.eclipse.papyrus.views.modelexplorer.handler;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.emf.facet.infra.browser.uicore.CustomizationManager;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.papyrus.views.modelexplorer.Activator;
import org.eclipse.papyrus.views.modelexplorer.CustomCommonViewer;
@@ -28,11 +26,12 @@ import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.navigator.CommonViewerSorter;
+
+
/**
* this handler is used to set a sorter on the model explorer
- *
*/
public class SortElementHandler extends AbstractHandler {
@@ -40,22 +39,26 @@ public class SortElementHandler extends AbstractHandler {
* {@inheritDoc}
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
- if (Activator.getDefault().getCustomizationManager() != null) {
- CustomizationManager customizationManager = Activator.getDefault()
- .getCustomizationManager();
- if(((ToolItem)((Event)event.getTrigger()).widget).getSelection()){
- getSelectedTreeViewer(event).setSorter(new CommonViewerSorter());
- if(getSelectedTreeViewer(event) instanceof CustomCommonViewer){
- ((CustomCommonViewer)getSelectedTreeViewer(event)).getDropAdapter().setFeedbackEnabled(false);
- }
+ if(Activator.getDefault().getCustomizationManager() != null) {
+ TreeViewer selectedTreeViewer = getSelectedTreeViewer(event);
+ if(selectedTreeViewer == null) {
+ return null;
}
- else{
- getSelectedTreeViewer(event).setSorter(null);
- if(getSelectedTreeViewer(event) instanceof CustomCommonViewer){
- ((CustomCommonViewer)getSelectedTreeViewer(event)).getDropAdapter().setFeedbackEnabled(true);
+
+ if(((ToolItem)((Event)event.getTrigger()).widget).getSelection()) {
+
+
+ selectedTreeViewer.setSorter(new CommonViewerSorter());
+ if(selectedTreeViewer instanceof CustomCommonViewer) {
+ ((CustomCommonViewer)selectedTreeViewer).getDropAdapter().setFeedbackEnabled(false);
+ }
+ } else {
+ selectedTreeViewer.setSorter(null);
+ if(selectedTreeViewer instanceof CustomCommonViewer) {
+ ((CustomCommonViewer)selectedTreeViewer).getDropAdapter().setFeedbackEnabled(true);
}
-
}
+
getSelectedTreeViewer(event).refresh();
}
return null;
@@ -63,34 +66,22 @@ public class SortElementHandler extends AbstractHandler {
/**
* used to obtain the tree viewer of the model explorer
+ *
* @param event
* @return
*/
protected TreeViewer getSelectedTreeViewer(ExecutionEvent event) {
-
- IWorkbenchPart activePart;
// Try to get the active part
+ IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
- // Try to get the TreeViewer from the evaluation context
- if( event.getApplicationContext() instanceof EvaluationContext) {
- EvaluationContext context = (EvaluationContext)event.getApplicationContext();
- // activeEditor, activeSite, selection, activeShell, activePart
- Object site = context.getVariable("activeSite");
- activePart = (IWorkbenchPart)context.getVariable("activePart");
- }
- else {
- activePart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
- }
-
- if(activePart instanceof TreeViewer)
+ if(activePart instanceof TreeViewer) {
return (TreeViewer)activePart;
+ }
- if( activePart instanceof MultiViewPageBookView)
- {
- MultiViewPageBookView pageBookView =(MultiViewPageBookView)activePart;
- IViewPart viewPart = pageBookView.getActiveView();
- if(viewPart instanceof ModelExplorerView)
- {
+ if(activePart instanceof MultiViewPageBookView) {
+ MultiViewPageBookView pageBookView = (MultiViewPageBookView)activePart;
+ IViewPart viewPart = pageBookView.getActiveView();
+ if(viewPart instanceof ModelExplorerView) {
return ((ModelExplorerView)viewPart).getCommonViewer();
}
}

Back to the top