diff options
author | atischenko | 2014-12-29 15:04:56 +0000 |
---|---|---|
committer | atischenko | 2014-12-29 16:54:20 +0000 |
commit | 6d780931b366df1cf50943da8ba0b0bb657d8490 (patch) | |
tree | a1edecdb7cc33b6d4811474ff1583b058d32561e | |
parent | 9710aff881020ac8f8e7c1b0ede56a7c79976eaa (diff) | |
download | org.eclipse.papyrus-6d780931b366df1cf50943da8ba0b0bb657d8490.tar.gz org.eclipse.papyrus-6d780931b366df1cf50943da8ba0b0bb657d8490.tar.xz org.eclipse.papyrus-6d780931b366df1cf50943da8ba0b0bb657d8490.zip |
Bug 449899 - [Diagram Generation] Impossible to regenerate Activity
Diagram
- org.eclipse.papyrus.uml.diagram.activity.navigator package.
Signed-off-by: atischenko <montages.t7@gmail.com>
Change-Id: I1441d493f8bdd4e6c06d237bde86fd3d3092957c
6 files changed, 91 insertions, 28 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLAbstractNavigatorItem.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLAbstractNavigatorItem.java index f9b014c3c36..1c38fd2c203 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLAbstractNavigatorItem.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLAbstractNavigatorItem.java @@ -27,6 +27,7 @@ public abstract class UMLAbstractNavigatorItem extends PlatformObject { * @generated */ static { + @SuppressWarnings("rawtypes") final Class[] supportedTypes = new Class[] { ITabbedPropertySheetPageContributor.class }; final ITabbedPropertySheetPageContributor propertySheetPageContributor = new ITabbedPropertySheetPageContributor() { @@ -38,6 +39,7 @@ public abstract class UMLAbstractNavigatorItem extends PlatformObject { Platform.getAdapterManager().registerAdapters(new IAdapterFactory() { @Override + @SuppressWarnings("rawtypes") public Object getAdapter(Object adaptableObject, Class adapterType) { if (adaptableObject instanceof org.eclipse.papyrus.uml.diagram.activity.navigator.UMLAbstractNavigatorItem && adapterType == ITabbedPropertySheetPageContributor.class) { return propertySheetPageContributor; @@ -46,6 +48,7 @@ public abstract class UMLAbstractNavigatorItem extends PlatformObject { } @Override + @SuppressWarnings("rawtypes") public Class[] getAdapterList() { return supportedTypes; } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorContentProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorContentProvider.java index 5f37307793b..51f9a9a53f8 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorContentProvider.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorContentProvider.java @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import org.eclipse.core.resources.IFile; import org.eclipse.emf.common.util.URI; @@ -75,16 +76,20 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider myAdapterFctoryContentProvier = new AdapterFactoryContentProvider(UMLDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory()); TransactionalEditingDomain editingDomain = WorkspaceEditingDomainFactory.INSTANCE.createEditingDomain(); myEditingDomain = (AdapterFactoryEditingDomain) editingDomain; - myEditingDomain.setResourceToReadOnlyMap(new HashMap() { + @SuppressWarnings("serial") + Map<Resource, Boolean> map = new HashMap<Resource, Boolean>() { @Override - public Object get(Object key) { + public Boolean get(java.lang.Object key) { if (!containsKey(key)) { - put(key, Boolean.TRUE); + if (key instanceof Resource) { + put((Resource) key, Boolean.TRUE); + } } return super.get(key); } - }); + }; + myEditingDomain.setResourceToReadOnlyMap(map); myViewerRefreshRunnable = new Runnable() { @Override @@ -102,8 +107,8 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider @Override public boolean handleResourceChanged(final Resource resource) { - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource nextResource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource nextResource = it.next(); nextResource.unload(); } if (myViewer != null) { @@ -114,8 +119,8 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider @Override public boolean handleResourceDeleted(Resource resource) { - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource nextResource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource nextResource = it.next(); nextResource.unload(); } if (myViewer != null) { @@ -126,8 +131,8 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider @Override public boolean handleResourceMoved(Resource resource, final URI newURI) { - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource nextResource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource nextResource = it.next(); nextResource.unload(); } if (myViewer != null) { @@ -146,8 +151,8 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider myWorkspaceSynchronizer.dispose(); myWorkspaceSynchronizer = null; myViewerRefreshRunnable = null; - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource resource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource resource = it.next(); resource.unload(); } ((TransactionalEditingDomain) myEditingDomain).dispose(); @@ -165,6 +170,24 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider /** * @generated */ + void unloadAllResources() { + for (Resource nextResource : myEditingDomain.getResourceSet().getResources()) { + nextResource.unload(); + } + } + + /** + * @generated + */ + void asyncRefresh() { + if (myViewer != null && !myViewer.getControl().isDisposed()) { + myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable); + } + } + + /** + * @generated + */ @Override public Object[] getElements(Object inputElement) { return getChildren(inputElement); @@ -212,7 +235,7 @@ public class UMLDomainNavigatorContentProvider implements ICommonContentProvider * @generated */ public Object[] wrapEObjects(Object[] objects, Object parentElement) { - Collection result = new ArrayList(); + Collection<UMLDomainNavigatorItem> result = new ArrayList<UMLDomainNavigatorItem>(); for (int i = 0; i < objects.length; i++) { if (objects[i] instanceof EObject) { result.add(new UMLDomainNavigatorItem((EObject) objects[i], parentElement, myAdapterFctoryContentProvier)); diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorItem.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorItem.java index da3ce86880c..29184ece718 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorItem.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLDomainNavigatorItem.java @@ -30,10 +30,12 @@ public class UMLDomainNavigatorItem extends PlatformObject { * @generated */ static { + @SuppressWarnings("rawtypes") final Class[] supportedTypes = new Class[] { EObject.class, IPropertySource.class }; Platform.getAdapterManager().registerAdapters(new IAdapterFactory() { @Override + @SuppressWarnings("rawtypes") public Object getAdapter(Object adaptableObject, Class adapterType) { if (adaptableObject instanceof org.eclipse.papyrus.uml.diagram.activity.navigator.UMLDomainNavigatorItem) { org.eclipse.papyrus.uml.diagram.activity.navigator.UMLDomainNavigatorItem domainNavigatorItem = (org.eclipse.papyrus.uml.diagram.activity.navigator.UMLDomainNavigatorItem) adaptableObject; @@ -49,6 +51,7 @@ public class UMLDomainNavigatorItem extends PlatformObject { } @Override + @SuppressWarnings("rawtypes") public Class[] getAdapterList() { return supportedTypes; } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorContentProvider.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorContentProvider.java index a715bb126e0..de48a9fe525 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorContentProvider.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorContentProvider.java @@ -18,9 +18,12 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; +import java.util.List; +import java.util.Map; import org.eclipse.core.resources.IFile; import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; import org.eclipse.emf.transaction.TransactionalEditingDomain; @@ -74,16 +77,20 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { public UMLNavigatorContentProvider() { TransactionalEditingDomain editingDomain = WorkspaceEditingDomainFactory.INSTANCE.createEditingDomain(); myEditingDomain = (AdapterFactoryEditingDomain) editingDomain; - myEditingDomain.setResourceToReadOnlyMap(new HashMap() { + @SuppressWarnings("serial") + Map<Resource, Boolean> map = new HashMap<Resource, Boolean>() { @Override - public Object get(Object key) { + public Boolean get(java.lang.Object key) { if (!containsKey(key)) { - put(key, Boolean.TRUE); + if (key instanceof Resource) { + put((Resource) key, Boolean.TRUE); + } } return super.get(key); } - }); + }; + myEditingDomain.setResourceToReadOnlyMap(map); myViewerRefreshRunnable = new Runnable() { @Override @@ -101,8 +108,8 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { @Override public boolean handleResourceChanged(final Resource resource) { - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource nextResource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource nextResource = it.next(); nextResource.unload(); } if (myViewer != null) { @@ -113,8 +120,8 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { @Override public boolean handleResourceDeleted(Resource resource) { - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource nextResource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource nextResource = it.next(); nextResource.unload(); } if (myViewer != null) { @@ -125,8 +132,8 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { @Override public boolean handleResourceMoved(Resource resource, final URI newURI) { - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource nextResource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource nextResource = it.next(); nextResource.unload(); } if (myViewer != null) { @@ -4340,8 +4347,8 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { myWorkspaceSynchronizer.dispose(); myWorkspaceSynchronizer = null; myViewerRefreshRunnable = null; - for (Iterator it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { - Resource resource = (Resource) it.next(); + for (Iterator<Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) { + Resource resource = it.next(); resource.unload(); } ((TransactionalEditingDomain) myEditingDomain).dispose(); @@ -4359,6 +4366,24 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { /** * @generated */ + void unloadAllResources() { + for (Resource nextResource : myEditingDomain.getResourceSet().getResources()) { + nextResource.unload(); + } + } + + /** + * @generated + */ + void asyncRefresh() { + if (myViewer != null && !myViewer.getControl().isDisposed()) { + myViewer.getControl().getDisplay().asyncExec(myViewerRefreshRunnable); + } + } + + /** + * @generated + */ @Override public Object[] getElements(Object inputElement) { return getChildren(inputElement); @@ -4394,7 +4419,13 @@ public class UMLNavigatorContentProvider implements ICommonContentProvider { IFile file = (IFile) parentElement; URI fileURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true); Resource resource = myEditingDomain.getResourceSet().getResource(fileURI, true); - Collection result = new ArrayList(); + Collection<Object> result = new ArrayList<Object>(); + List<View> topViews = new ArrayList<View>(resource.getContents().size()); + for (EObject o : resource.getContents()) { + if (o instanceof View) { + topViews.add((View) o); + } + } result.addAll(createNavigatorItems(selectViewsByType(resource.getContents(), ActivityDiagramEditPart.MODEL_ID), file, false)); return result.toArray(); } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorGroup.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorGroup.java index e3fb13c745a..1ea200a203f 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorGroup.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorGroup.java @@ -34,7 +34,7 @@ public class UMLNavigatorGroup extends UMLAbstractNavigatorItem { /** * @generated */ - private Collection myChildren = new LinkedList(); + private Collection<java.lang.Object> myChildren = new LinkedList<java.lang.Object>(); /** * @generated @@ -69,7 +69,7 @@ public class UMLNavigatorGroup extends UMLAbstractNavigatorItem { /** * @generated */ - public void addChildren(Collection children) { + public void addChildren(Collection<java.lang.Object> children) { myChildren.addAll(children); } diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorItem.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorItem.java index 7dc69c04bf7..31ce6310034 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorItem.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity/src/org/eclipse/papyrus/uml/diagram/activity/navigator/UMLNavigatorItem.java @@ -28,10 +28,12 @@ public class UMLNavigatorItem extends UMLAbstractNavigatorItem { * @generated */ static { + @SuppressWarnings("rawtypes") final Class[] supportedTypes = new Class[] { View.class, EObject.class }; Platform.getAdapterManager().registerAdapters(new IAdapterFactory() { @Override + @SuppressWarnings("rawtypes") public Object getAdapter(Object adaptableObject, Class adapterType) { if (adaptableObject instanceof org.eclipse.papyrus.uml.diagram.activity.navigator.UMLNavigatorItem && (adapterType == View.class || adapterType == EObject.class)) { return ((org.eclipse.papyrus.uml.diagram.activity.navigator.UMLNavigatorItem) adaptableObject).getView(); @@ -40,6 +42,7 @@ public class UMLNavigatorItem extends UMLAbstractNavigatorItem { } @Override + @SuppressWarnings("rawtypes") public Class[] getAdapterList() { return supportedTypes; } |