diff options
author | Quentin Le Menez | 2018-03-11 16:28:18 +0000 |
---|---|---|
committer | Quentin Le Menez | 2018-03-11 22:39:35 +0000 |
commit | 6a85d3a05d3bd942dba8e71edf82e97dce813b91 (patch) | |
tree | c58695b63c497d3af16b69f1634d3eb2de0deb49 /plugins/developer/org.eclipse.papyrus.dev.types/src/org | |
parent | ba98ab1ef4202d0489df0ae2dd2aee8fe6f378d4 (diff) | |
download | org.eclipse.papyrus-6a85d3a05d3bd942dba8e71edf82e97dce813b91.tar.gz org.eclipse.papyrus-6a85d3a05d3bd942dba8e71edf82e97dce813b91.tar.xz org.eclipse.papyrus-6a85d3a05d3bd942dba8e71edf82e97dce813b91.zip |
[Releng] [Photon] Delete old Dev framework and add a new Toolsmiths one
- Delete the old Dev releng profile and replace it with a Toolsmith one
- Add new features: Junit, Releng, Diagramgen and Debug to be released
- Move the junit framework at the root of the junit test folder
- Remove Toolsmiths from the main build as it will have its own
- Repopulate the SDK feature and distribute the excess features in theit own root parent
- Add a new views feature
- Moved the assistants to the toolsmiths folder and put them in the toolsmiths build
Change-Id: I1c0331b25607baaf1cfcc635d9c7b0d9c6d73e63
Signed-off-by: Quentin Le Menez <quentin.lemenez@cea.fr>
Diffstat (limited to 'plugins/developer/org.eclipse.papyrus.dev.types/src/org')
21 files changed, 0 insertions, 2408 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/Activator.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/Activator.java deleted file mode 100644 index e42d7fc21f8..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/Activator.java +++ /dev/null @@ -1,82 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.papyrus.infra.core.log.LogHelper; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.papyrus.dev.types"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** Logging helper */ - public static LogHelper log; - - /** - * The constructor - */ - public Activator() { - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - log = new LogHelper(this); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - log = null; - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path - * - * @param path - * the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return imageDescriptorFromPlugin(PLUGIN_ID, path); - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/generator/ElementTypeRegistryGenerator.xtend b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/generator/ElementTypeRegistryGenerator.xtend deleted file mode 100644 index 260c3d727b7..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/generator/ElementTypeRegistryGenerator.xtend +++ /dev/null @@ -1,61 +0,0 @@ -package org.eclipse.papyrus.dev.types.generator - -import org.eclipse.emf.ecore.resource.Resource -import org.eclipse.emf.common.util.TreeIterator -import org.eclipse.emf.ecore.EObject -import org.eclipse.papyrus.infra.types.ElementTypeConfiguration - -class ElementTypeRegistryGenerator { - - static def Iterable<EObject> allContentsIterable(Resource resource) { - var TreeIterator<EObject> _allContents = resource.getAllContents(); - return IteratorExtensions.<EObject>toIterable(_allContents); - } - - static def String camelToUnderScore(String in) { - var String regex = "([a-z])([A-Z])"; - var String replacement = "$1_$2"; - return in.replaceAll(regex, replacement); - } - - static def String safeName(String in) { - var result = camelToUnderScore(in) - result = result.replaceAll("[^A-Za-z0-9]", "_") - result = result.replaceAll("_{2,}", "_") - result = result.toUpperCase; - result = result.replaceAll("UML_",""); - return result; - } - - - - - static def generateRegistry(Resource it,String outputType) ''' - /***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ - import org.eclipse.gmf.runtime.emf.type.core.AbstractElementTypeEnumerator; - import org.eclipse.gmf.runtime.emf.type.core.IHintedType; - - public class «outputType» extends AbstractElementTypeEnumerator { - - /** Constant for UML nature */ - public static final String UML_NATURE = "UML_Nature"; - - «FOR elementTypeConfiguration : allContentsIterable(it).filter(typeof(ElementTypeConfiguration))» - public static final IHintedType «safeName(elementTypeConfiguration.name).toUpperCase» = (IHintedType)getElementType("«elementTypeConfiguration.identifier»"); //$NON-NLS-1$ - - «ENDFOR» - - } - ''' -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/ElementTypeInfo.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/ElementTypeInfo.java deleted file mode 100644 index 692f8220f1c..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/ElementTypeInfo.java +++ /dev/null @@ -1,72 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.handlers; - -import java.util.Iterator; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry; -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.papyrus.infra.core.services.ServiceException; -import org.eclipse.papyrus.infra.services.edit.context.TypeContext; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.handlers.HandlerUtil; - -public class ElementTypeInfo extends AbstractHandler { - - - public Object execute(ExecutionEvent event) throws ExecutionException { - - - - ISelection currentSelection = HandlerUtil.getCurrentSelection(event); - if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) { - return null; - } - - final IStructuredSelection selection = (IStructuredSelection) currentSelection; - - Iterator<?> it = selection.iterator(); - - while (it.hasNext()) { - Object selectedElement = (Object) it.next(); - - if (selectedElement instanceof IAdaptable) { - EObject adapted = ((IAdaptable) selectedElement).getAdapter(EObject.class); - if (adapted != null) { - try { - IElementType[] types = ElementTypeRegistry.getInstance().getAllTypesMatching(adapted, TypeContext.getContext(adapted)); - String result = ""; - for (IElementType iElementType : types) { - result += iElementType.getId() + "\n"; - } - MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Matching ElementTypes", result); - } catch (ServiceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - } - return null; - } - - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/GenerateElementTypesRegistry.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/GenerateElementTypesRegistry.java deleted file mode 100644 index d355447296d..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/GenerateElementTypesRegistry.java +++ /dev/null @@ -1,105 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.handlers; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.papyrus.dev.types.generator.ElementTypeRegistryGenerator; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.dialogs.ContainerSelectionDialog; -import org.eclipse.ui.handlers.HandlerUtil; - -/** - * Our sample handler extends AbstractHandler, an IHandler base class. - * - * @see org.eclipse.core.commands.IHandler - * @see org.eclipse.core.commands.AbstractHandler - */ -public class GenerateElementTypesRegistry extends AbstractHandler { - - - public GenerateElementTypesRegistry() { - } - - public Object execute(ExecutionEvent event) throws ExecutionException { - ResourceSet resourceSet = new ResourceSetImpl(); - ISelection currentSelection = HandlerUtil.getCurrentSelection(event); - if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) { - return null; - } - - final IStructuredSelection selection = (IStructuredSelection) currentSelection; - Object selectedElement = selection.getFirstElement(); - - if (selectedElement instanceof IFile) { - - String selectedFilePath = ((IFile) selectedElement).getFullPath().toString(); - String outputType = ((IFile) selectedElement).getFullPath().removeFileExtension().lastSegment(); - String outputFileName = outputType + ".java"; - - ContainerSelectionDialog dialog = new ContainerSelectionDialog(Display.getCurrent().getActiveShell(), null, true, "Select a folder:"); - dialog.setTitle("Select output folder"); - dialog.open(); - if (dialog.getResult() != null && dialog.getResult().length > 0 && dialog.getResult()[0] instanceof IPath) { - - IWorkspace workspace = ResourcesPlugin.getWorkspace(); - IWorkspaceRoot root = workspace.getRoot(); - IResource container = root.findMember((IPath) dialog.getResult()[0]); - - if (container instanceof IFolder) { - - Resource inputResource = resourceSet.getResource(URI.createURI(selectedFilePath), true); - CharSequence registryText = ElementTypeRegistryGenerator.generateRegistry(inputResource, outputType); - - - IFile outputFile = ((IFolder) container).getFile(outputFileName); - if (!outputFile.exists()) { - - InputStream source = new ByteArrayInputStream(registryText.toString().getBytes()); - try { - outputFile.create(source, IResource.NONE, null); - } catch (CoreException e) { - e.printStackTrace(); - } - } else { - MessageDialog.openWarning(Display.getCurrent().getActiveShell(), "Registry already exists", "No file generated: the registry file already exists."); - } - } else { - MessageDialog.openWarning(Display.getCurrent().getActiveShell(), "Container selection", "Selection must be a folder"); - } - } - - - } - return null; - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/MigrateSpecializations.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/MigrateSpecializations.java deleted file mode 100644 index 258976c9bc3..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/MigrateSpecializations.java +++ /dev/null @@ -1,275 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.handlers; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerFactoryConfigurationError; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.filesystem.EFS; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry; -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.papyrus.dev.types.Activator; -import org.eclipse.papyrus.infra.types.ElementTypeConfiguration; -import org.eclipse.papyrus.infra.types.core.IConfiguredHintedElementType; -import org.eclipse.ui.handlers.HandlerUtil; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -public class MigrateSpecializations extends AbstractHandler { - final String FILE_EXTENSION = "elementtypesconfigurations"; - - final String TYPE_ATTRIBUTE = "xsi:type"; - final String NAME_ATTRIBUTE = "name"; - final String IDENTIFIER_ATTRIBUTE = "identifier"; - final String ELEMENTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:elementtypesconfigurations"; - final String ELEMENTTYPECONFIGURATION_NAMESPACE_OLD = "http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1"; - final String ELEMENTTYPECONFIGURATION_NAMESPACE_NEW = "http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2"; - - final String ELEMENTTYPECONFIGURATIONS = "elementTypeConfigurations"; - final String ELEMENTTYPESCONFIGURATIONS_SPECIALIZATIONTYPECONFIGURATION = "elementtypesconfigurations:SpecializationTypeConfiguration"; - final String SPECIALIZEDTYPESID_ATTRIBUTE = "specializedTypesID"; - final String SPECIALIZEDTYPES_ATTRIBUTE = "specializedTypes"; - final String HREF_ATTRIBUTE = "href"; - - final String ELEMENTTYPESCONFIGURATIONS_METAMODELTYPECONFIGURATION = "elementtypesconfigurations:MetamodelTypeConfiguration"; - - - public Object execute(ExecutionEvent event) throws ExecutionException { - - - - - Map<String, String> mapSpecializationMigration = new HashMap<>(); - Map<String, String> mapMetamodelMigration = new HashMap<>(); - - - ISelection currentSelection = HandlerUtil.getCurrentSelection(event); - if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) { - return null; - } - - final IStructuredSelection selection = (IStructuredSelection) currentSelection; - - Iterator<?> it = selection.iterator(); - - while (it.hasNext()) { - Object selectedElement = (Object) it.next(); - - if (selectedElement instanceof IFile) { - if (FILE_EXTENSION.equals(((IFile) selectedElement).getFileExtension())) { - IFile selectedFile = ((IFile) selectedElement); - URI uri = selectedFile.getLocationURI(); - - - if (selectedFile.isLinked()) { - uri = selectedFile.getRawLocationURI(); - } - - try { - File file = EFS.getStore(uri).toLocalFile(0, new NullProgressMonitor()); - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document doc = builder.parse(file); - Element root = doc.getDocumentElement(); - - NodeList elementTypeConfigurations = root.getElementsByTagName(ELEMENTTYPECONFIGURATIONS); - - for (int i = 0; i < elementTypeConfigurations.getLength(); i++) { - Element elementTypeConfiguration = (Element) elementTypeConfigurations.item(i); - - Node identifierAttrib = elementTypeConfiguration.getAttributes().getNamedItem(IDENTIFIER_ATTRIBUTE); - - Node xmiid = elementTypeConfiguration.getAttributes().getNamedItem("xmi:id"); - - Node type = elementTypeConfiguration.getAttributes().getNamedItem(TYPE_ATTRIBUTE); - - if (type.getNodeValue().equals(ELEMENTTYPESCONFIGURATIONS_SPECIALIZATIONTYPECONFIGURATION)) { - mapSpecializationMigration.put(identifierAttrib.getNodeValue(), "platform:/plugin" + selectedFile.getFullPath().toString() + "#" + xmiid.getNodeValue()); - } else { - mapMetamodelMigration.put(identifierAttrib.getNodeValue(), "platform:/plugin" + selectedFile.getFullPath().toString() + "#" + xmiid.getNodeValue()); - } - - } - } catch (ParserConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (SAXException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - } - - } - - it = selection.iterator(); - - while (it.hasNext()) { - Object selectedElement = (Object) it.next(); - - if (selectedElement instanceof IFile) { - if (FILE_EXTENSION.equals(((IFile) selectedElement).getFileExtension())) { - IFile selectedFile = ((IFile) selectedElement); - URI uri = selectedFile.getLocationURI(); - - if (selectedFile.isLinked()) { - uri = selectedFile.getRawLocationURI(); - } - - try { - File file = EFS.getStore(uri).toLocalFile(0, new NullProgressMonitor()); - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document doc = builder.parse(file); - Element root = doc.getDocumentElement(); - - // update namespaces - root.setAttribute(ELEMENTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE, ELEMENTTYPECONFIGURATION_NAMESPACE_NEW); - - NodeList elementTypeConfigurations = root.getElementsByTagName(ELEMENTTYPECONFIGURATIONS); - - for (int i = 0; i < elementTypeConfigurations.getLength(); i++) { - Element elementTypeConfiguration = (Element) elementTypeConfigurations.item(i); - - // Node type = elementTypeConfiguration.getAttributes().getNamedItem(TYPE_ATTRIBUTE); - - // if (type.getNodeValue().equals(ELEMENTTYPESCONFIGURATIONS_SPECIALIZATIONTYPECONFIGURATION)) { - NodeList children = elementTypeConfiguration.getChildNodes(); - - ArrayList<String> specializedIDs = new ArrayList<String>(); - ArrayList<Node> childToRemove = new ArrayList<Node>(); - for (int j = 0; j < children.getLength(); j++) { - - Node child = children.item(j); - if (child instanceof Element) { - if (child.getNodeName().equals(SPECIALIZEDTYPESID_ATTRIBUTE)) { - String specialized = ((Element) child).getFirstChild().getNodeValue(); - specializedIDs.add(specialized); - childToRemove.add(child); - } - } - } - - for (Node node : childToRemove) { - elementTypeConfiguration.removeChild(node); - } - - for (String specialized : specializedIDs) { - Element specializedTypes = doc.createElement(SPECIALIZEDTYPES_ATTRIBUTE); - - if (mapMetamodelMigration.containsKey(specialized)) { - specializedTypes.setAttribute(TYPE_ATTRIBUTE, ELEMENTTYPESCONFIGURATIONS_METAMODELTYPECONFIGURATION); - specializedTypes.setAttribute(HREF_ATTRIBUTE, mapMetamodelMigration.get(specialized)); - elementTypeConfiguration.appendChild(specializedTypes); - } else if (mapSpecializationMigration.containsKey(specialized)) { - specializedTypes.setAttribute(TYPE_ATTRIBUTE, ELEMENTTYPESCONFIGURATIONS_SPECIALIZATIONTYPECONFIGURATION); - specializedTypes.setAttribute(HREF_ATTRIBUTE, mapSpecializationMigration.get(specialized)); - elementTypeConfiguration.appendChild(specializedTypes); - } else { - // handle case that the referenced element-type ID is not in this file, but defined - // in the registry - IElementType elementType = ElementTypeRegistry.getInstance().getType(specialized); - if (elementType instanceof IConfiguredHintedElementType) { - ElementTypeConfiguration etc = ((IConfiguredHintedElementType) elementType).getConfiguration(); - if (etc != null) { - specializedTypes.setAttribute(TYPE_ATTRIBUTE, ELEMENTTYPESCONFIGURATIONS_SPECIALIZATIONTYPECONFIGURATION); - specializedTypes.setAttribute(HREF_ATTRIBUTE, - etc.eResource().getURI().toString() + "#" + etc.eResource().getURIFragment(etc)); //$NON-NLS-1$ - elementTypeConfiguration.appendChild(specializedTypes); - } - } - else { - Activator.log.debug("Couldn't find : " + specialized); //$NON-NLS-1$ - } - } - } - } - - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); - Result output = new StreamResult(file); - Source input = new DOMSource(doc); - - transformer.transform(input, output); - - selectedFile.touch(new NullProgressMonitor()); - - - } catch (ParserConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (SAXException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransformerConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransformerFactoryConfigurationError e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransformerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - } - - return null; - } - - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/MigrateTypesConfigurations.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/MigrateTypesConfigurations.java deleted file mode 100644 index 0d39894b1bd..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/handlers/MigrateTypesConfigurations.java +++ /dev/null @@ -1,355 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.handlers; - -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerFactoryConfigurationError; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.filesystem.EFS; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.handlers.HandlerUtil; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -public class MigrateTypesConfigurations extends AbstractHandler { - final String FILE_EXTENSION = "elementtypesconfigurations"; - - final String ELEMENTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:elementtypesconfigurations"; - final String ELEMENTTYPECONFIGURATION_NAMESPACE_OLD = "http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.0"; - final String ELEMENTTYPECONFIGURATION_NAMESPACE_NEW = "http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.1"; - - final String APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE = "applystereotypeadviceconfiguration"; - final String APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACENEW = "applystereotypeadvice"; - final String APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE; - final String APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACENEW; - final String APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1"; - - final String INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE = "invariantstereotyperuleconfiguration"; - final String INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACENEW = "invariantstereotyperule"; - final String INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE; - final String INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACENEW; - final String INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/uml/types/invariantstereotyperule/1.1"; - - final String SETTYPEADVICECONFIGURATION_NAMESPACE = "settypeadviceconfiguration"; - final String SETTYPEADVICECONFIGURATION_NAMESPACENEW = "settypeadvice"; - final String SETTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + SETTYPEADVICECONFIGURATION_NAMESPACE; - final String SETTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + SETTYPEADVICECONFIGURATION_NAMESPACENEW; - final String SETTYPEADVICECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/uml/types/settypeadvice/1.1"; - - final String STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE = "stereotypeapplicationmatcherconfiguration"; - final String STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACENEW = "stereotypematcher"; - final String STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE; - final String STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACENEW; - final String STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/uml/types/stereotypematcher/1.1"; - - final String INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE = "invariantcontainerruleconfiguration"; - final String INVARIANTCONTAINERRULECONFIGURATION_NAMESPACENEW = "invariantcontainerrule"; - final String INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE; - final String INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + INVARIANTCONTAINERRULECONFIGURATION_NAMESPACENEW; - final String INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/emf/types/invariantcontainerrule/1.1"; - - final String RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE = "runtimevalueseditionadviceconfiguration"; - final String RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACENEW = "runtimevaluesadvice"; - final String RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE; - final String RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACENEW; - final String RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/emf/types/runtimevaluesadvice/1.1"; - - final String SETVALUESADVICECONFIGURATION_NAMESPACE = "setvaluesadviceconfiguration"; - final String SETVALUESADVICECONFIGURATION_NAMESPACENEW = "setvaluesadvice"; - final String SETVALUESADVICECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + SETVALUESADVICECONFIGURATION_NAMESPACE; - final String SETVALUESADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + SETVALUESADVICECONFIGURATION_NAMESPACENEW; - final String SETVALUESADVICECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/emf/types/setvaluesadvice/1.1"; - - final String INVARIANTTYPECONFIGURATION_NAMESPACE = "invarianttypeconfiguration"; - final String INVARIANTTYPECONFIGURATION_NAMESPACENEW = "rulebased"; - final String INVARIANTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE = "xmlns:" + INVARIANTTYPECONFIGURATION_NAMESPACE; - final String INVARIANTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW = "xmlns:" + INVARIANTTYPECONFIGURATION_NAMESPACENEW; - final String INVARIANTTYPECONFIGURATION_NAMESPACE_NEW_URL = "http://www.eclipse.org/papyrus/infra/types/rulebased/1.1"; - - final String INVARIANTTYPECONFIGURATION = "InvariantTypeConfiguration"; - final String INVARIANTTYPECONFIGURATION_NEW = "RuleBasedTypeConfiguration"; - - final String RUNTIMEVALUESEDITIONADVICECONFIGURATION = "RuntimeValuesEditionAdviceConfiguration"; - final String RUNTIMEVALUESADVICECONFIGURATION = "RuntimeValuesAdviceConfiguration"; - - final String INHERITANCE_ATTRIBUTE = "inheritance"; - final String TYPE_ATTRIBUTE = "xsi:type"; - final String EDITHELPERADVICECONFIGURATION_TAG = "editHelperAdviceConfiguration"; - final String MATCHERCONFIGURATION_TAG = "matcherConfiguration"; - final String INVARIANTRULECONFIGURATION_TAG = "invariantRuleConfiguration"; - final String RULECONFIGURATION_TAG = "ruleConfiguration"; - final String NAME_ATTRIBUTE = "name"; - final String IDENTIFIER_ATTRIBUTE = "identifier"; - final String EDITHELPERADVICECLASSNAME_ATTRIBUTE = "editHelperAdviceClassName"; - final String ADVICEBINDINGSCONFIGURATIONS_TAG = "adviceBindingsConfigurations"; - final String MATCHER_TYPE = "elementtypesconfigurations:MatcherConfiguration"; - final String ADVICEBINDINGCONFIGURATION_TYPE = "elementtypesconfigurations:AdviceBindingConfiguration"; - final String EDITHELPERADVICECONFIGURATION_TYPE = "elementtypesconfigurations:EditHelperAdviceConfiguration"; - final String MATCHERCLASSNAME_ATTRIBUTE = "matcherClassName"; - - public Object execute(ExecutionEvent event) throws ExecutionException { - - - - - Map<String, String> mapMigration = new HashMap<>(); - - mapMigration.put(APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE, APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACENEW); - mapMigration.put(INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE, INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACENEW); - mapMigration.put(SETTYPEADVICECONFIGURATION_NAMESPACE, SETTYPEADVICECONFIGURATION_NAMESPACENEW); - mapMigration.put(STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE, STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACENEW); - mapMigration.put(INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE, INVARIANTCONTAINERRULECONFIGURATION_NAMESPACENEW); - mapMigration.put(RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE, RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACENEW); - mapMigration.put(SETVALUESADVICECONFIGURATION_NAMESPACE, SETVALUESADVICECONFIGURATION_NAMESPACENEW); - mapMigration.put(INVARIANTTYPECONFIGURATION_NAMESPACE, INVARIANTTYPECONFIGURATION_NAMESPACENEW); - mapMigration.put(INVARIANTTYPECONFIGURATION, INVARIANTTYPECONFIGURATION_NEW); - mapMigration.put(RUNTIMEVALUESEDITIONADVICECONFIGURATION, RUNTIMEVALUESADVICECONFIGURATION); - - - ISelection currentSelection = HandlerUtil.getCurrentSelection(event); - if (!(currentSelection instanceof IStructuredSelection) || currentSelection.isEmpty()) { - return null; - } - - final IStructuredSelection selection = (IStructuredSelection) currentSelection; - - Iterator<?> it = selection.iterator(); - - while (it.hasNext()) { - Object selectedElement = (Object) it.next(); - - if (selectedElement instanceof IFile) { - if (FILE_EXTENSION.equals(((IFile) selectedElement).getFileExtension())) { - IFile selectedFile = ((IFile) selectedElement); - URI uri = selectedFile.getLocationURI(); - - if (selectedFile.isLinked()) { - uri = selectedFile.getRawLocationURI(); - } - - try { - File file = EFS.getStore(uri).toLocalFile(0, new NullProgressMonitor()); - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document doc = builder.parse(file); - Element root = doc.getDocumentElement(); - - - - // Update namespaces - root.setAttribute(ELEMENTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE, ELEMENTTYPECONFIGURATION_NAMESPACE_NEW); - - if (!root.getAttribute(APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, APPLYSTEREOTYPEADVICECONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, INVARIANTSTEREOTYPERULECONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(SETTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(SETTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(SETTYPEADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, SETTYPEADVICECONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, STEREOTYPEAPPLICATIONMATCHERCONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, INVARIANTCONTAINERRULECONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, RUNTIMEVALUESEDITIONADVICECONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(SETVALUESADVICECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(SETVALUESADVICECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(SETVALUESADVICECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, SETVALUESADVICECONFIGURATION_NAMESPACE_NEW_URL); - } - - if (!root.getAttribute(INVARIANTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE).isEmpty()) { - root.removeAttribute(INVARIANTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE); - root.setAttribute(INVARIANTTYPECONFIGURATION_NAMESPACE_ATTRIBUTE_NEW, INVARIANTTYPECONFIGURATION_NAMESPACE_NEW_URL); - } - - NodeList editHelperAdviceConfigurations = root.getElementsByTagName(EDITHELPERADVICECONFIGURATION_TAG); - - - for (int i = 0; i < editHelperAdviceConfigurations.getLength(); i++) { - Element editHelperAdvice = (Element) editHelperAdviceConfigurations.item(i); - - Node type = editHelperAdvice.getAttributes().getNamedItem(TYPE_ATTRIBUTE); - - if (type == null) { - editHelperAdvice.setAttribute(TYPE_ATTRIBUTE, EDITHELPERADVICECONFIGURATION_TYPE); - } else if (!type.getNodeValue().equals(EDITHELPERADVICECONFIGURATION_TYPE)) { - editHelperAdvice.removeAttribute(EDITHELPERADVICECLASSNAME_ATTRIBUTE); - } - - editHelperAdvice.removeAttribute(NAME_ATTRIBUTE); - editHelperAdvice.removeAttribute(IDENTIFIER_ATTRIBUTE); - editHelperAdvice.removeAttribute(INHERITANCE_ATTRIBUTE); - } - - NodeList adviceBindingsConfigurations = root.getElementsByTagName(ADVICEBINDINGSCONFIGURATIONS_TAG); - - for (int i = 0; i < adviceBindingsConfigurations.getLength(); i++) { - Element adviceBinding = (Element) adviceBindingsConfigurations.item(i); - - Node type = adviceBinding.getAttributes().getNamedItem(TYPE_ATTRIBUTE); - - if (type == null) { - adviceBinding.setAttribute(TYPE_ATTRIBUTE, ADVICEBINDINGCONFIGURATION_TYPE); - } else if (!type.getNodeValue().equals(ADVICEBINDINGCONFIGURATION_TYPE)) { - adviceBinding.removeAttribute(EDITHELPERADVICECLASSNAME_ATTRIBUTE); - } - - adviceBinding.removeAttribute(NAME_ATTRIBUTE); - } - - NodeList matcherConfigurations = root.getElementsByTagName(MATCHERCONFIGURATION_TAG); - - for (int i = 0; i < matcherConfigurations.getLength(); i++) { - Element matcher = (Element) matcherConfigurations.item(i); - - Node type = matcher.getAttributes().getNamedItem(TYPE_ATTRIBUTE); - - if (type == null) { - matcher.setAttribute(TYPE_ATTRIBUTE, MATCHER_TYPE); - } else if (!type.getNodeValue().equals(MATCHER_TYPE)) { - matcher.removeAttribute(MATCHERCLASSNAME_ATTRIBUTE); - } - } - - NodeList invariantRuleConfigurations = root.getElementsByTagName(INVARIANTRULECONFIGURATION_TAG); - - - for (int i = 0; i < invariantRuleConfigurations.getLength(); i++) { - Element invariantRule = (Element) invariantRuleConfigurations.item(i); - - doc.renameNode(invariantRule, null, RULECONFIGURATION_TAG); - - - } - - migrate(root.getChildNodes(), mapMigration); - - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); - Result output = new StreamResult(file); - Source input = new DOMSource(doc); - - transformer.transform(input, output); - - - } catch (ParserConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (SAXException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransformerConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransformerFactoryConfigurationError e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (TransformerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - } - - } - return null; - } - - - - void migrate(NodeList nodeList, Map<String, String> mapMigration) { - for (int i = 0; i < nodeList.getLength(); i++) { - Node childNode = nodeList.item(i); - - NamedNodeMap attributes = childNode.getAttributes(); - if (attributes != null) { - for (int j = 0; j < attributes.getLength(); j++) { - Node childAttr = attributes.item(j); - - if (childAttr.getNodeName().equals(TYPE_ATTRIBUTE)) { - - for (String old : mapMigration.keySet()) { - if (childAttr.getNodeValue().contains(old)) { - String newNS = mapMigration.get(old); - String newValue = childAttr.getNodeValue().replace(old, newNS); - childAttr.setNodeValue(newValue); - } - } - - } - } - } - - NodeList children = childNode.getChildNodes(); - if (children != null) { - migrate(children, mapMigration); - } - } - } - - - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesContentProvider.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesContentProvider.java deleted file mode 100644 index 984594e82d4..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesContentProvider.java +++ /dev/null @@ -1,85 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.providers; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.gmf.runtime.emf.type.core.MetamodelType; -import org.eclipse.gmf.runtime.emf.type.core.SpecializationType; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.papyrus.dev.types.utils.IElementTypeComparator; - -public class ElementTypesContentProvider implements ITreeContentProvider { - - private Map<IElementType, List<SpecializationType>> elementTypesHierarchy = new HashMap<IElementType, List<SpecializationType>>(); - - @Override - public void dispose() { - } - - @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - if (newInput instanceof Object[]) { - elementTypesHierarchy.clear(); - for (Object elementType : ((Object[]) newInput)) { - if (elementType instanceof MetamodelType) { - if (!elementTypesHierarchy.containsKey(elementType)) { - elementTypesHierarchy.put((MetamodelType) elementType, new ArrayList<SpecializationType>()); - } - } else if (elementType instanceof SpecializationType) { - for (IElementType superType : ((SpecializationType) elementType).getSpecializedTypes()) { - if (!elementTypesHierarchy.containsKey(superType)) { - elementTypesHierarchy.put(superType, new ArrayList<SpecializationType>()); - } - elementTypesHierarchy.get(superType).add((SpecializationType) elementType); - } - } - } - } - } - - @Override - public Object[] getElements(Object inputElement) { - inputChanged(null, null, inputElement); - ArrayList<IElementType> result = new ArrayList<IElementType>(); - for (IElementType iElementType : elementTypesHierarchy.keySet()) { - if (iElementType instanceof MetamodelType) { - result.add(iElementType); - } - } - Collections.sort(result, new IElementTypeComparator()); - - return result.toArray(); - } - - @Override - public Object[] getChildren(Object parentElement) { - return elementTypesHierarchy.containsKey(parentElement) ? elementTypesHierarchy.get(parentElement).toArray() : Collections.emptyList().toArray(); - } - - @Override - public Object getParent(Object element) { - return null; - } - - @Override - public boolean hasChildren(Object element) { - return getChildren(element).length == 0 ? false : true; - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesDetailsContentProvider.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesDetailsContentProvider.java deleted file mode 100644 index 3f6bf29481b..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesDetailsContentProvider.java +++ /dev/null @@ -1,170 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.providers; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import org.eclipse.emf.ecore.EReference; -import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil; -import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry; -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.gmf.runtime.emf.type.core.IHintedType; -import org.eclipse.gmf.runtime.emf.type.core.SpecializationType; -import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.papyrus.infra.types.core.utils.AdviceComparator; - -public class ElementTypesDetailsContentProvider implements ITreeContentProvider { - - String contextID; - - String typeID; - - - /** - * @param contextID - * the contextID to set - */ - public void setContextID(String contextID) { - this.contextID = contextID; - } - - public void setTypeID(String typeID) { - this.typeID = typeID; - } - - /** - * @see org.eclipse.jface.viewers.IContentProvider#dispose() - * - */ - @Override - public void dispose() { - - - } - - /** - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) - * - * @param viewer - * @param oldInput - * @param newInput - */ - @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - - - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object) - * - * @param inputElement - * @return - */ - @Override - public Object[] getElements(Object inputElement) { - ArrayList<Object> result = new ArrayList<Object>(); - if (inputElement instanceof IElementType) { - if (inputElement instanceof IHintedType) { - result.add("Semantic Hint: " + ((IHintedType) inputElement).getSemanticHint()); - } else { - result.add("Not Hinted"); - } - if (inputElement instanceof SpecializationType) { - for (String id : ((SpecializationType) inputElement).getSpecializedTypeIds()) { - result.add("SpecializedType Id: " + id); - } - - - if (((SpecializationType) inputElement).getEditHelperAdvice() != null) { - result.add("EditHelperAdvice: " + ((SpecializationType) inputElement).getEditHelperAdvice().getClass().getName()); - } else { - result.add("EditHelperAdvice: None"); - } - - if (((SpecializationType) inputElement).getEContainerDescriptor() != null) { - String eReferences = ""; - for (EReference eReference : ((SpecializationType) inputElement).getEContainerDescriptor().getContainmentFeatures()) { - eReferences += EMFCoreUtil.getQualifiedName(eReference, true) + " "; - } - result.add("EContainerDescriptor: " + eReferences); - } else { - result.add("EContainerDescriptor: None"); - } - } - - if (((IElementType) inputElement).getEditHelper() != null) { - result.add("EditHelper: " + ((IElementType) inputElement).getEditHelper().getClass().getName()); - } else { - result.add("EditHelper: None"); - } - - if (((IElementType) inputElement).getEClass() != null) { - result.add("Eclass: " + EMFCoreUtil.getQualifiedName(((IElementType) inputElement).getEClass(), true)); - } else { - result.add("Eclass: None"); - } - - result.add("Display Name: " + ((IElementType) inputElement).getDisplayName()); - IEditHelperAdvice[] advices = ElementTypeRegistry.getInstance().getEditHelperAdvice(((IElementType) inputElement)); - result.add(Arrays.asList(advices)); - } - return result.toArray(); - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) - * - * @param parentElement - * @return - */ - @Override - public Object[] getChildren(Object parentElement) { - if (parentElement instanceof List<?>) { - Collections.sort((List<IEditHelperAdvice>) parentElement, new AdviceComparator(ElementTypeRegistry.getInstance().getType(typeID), contextID)); - return ((List<?>) parentElement).toArray(); - } - - return Collections.emptyList().toArray(); - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) - * - * @param element - * @return - */ - @Override - public Object getParent(Object element) { - - return null; - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) - * - * @param element - * @return - */ - @Override - public boolean hasChildren(Object element) { - return getChildren(element).length == 0 ? false : true; - } - - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesDetailsLabelProvider.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesDetailsLabelProvider.java deleted file mode 100644 index 607ba42dcf6..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesDetailsLabelProvider.java +++ /dev/null @@ -1,39 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.providers; - -import java.util.List; - -import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice; -import org.eclipse.swt.graphics.Image; - -public class ElementTypesDetailsLabelProvider extends org.eclipse.jface.viewers.LabelProvider { - - @Override - public Image getImage(Object element) { - return null; - } - - @Override - public String getText(Object element) { - String result = ""; - if (element instanceof String) { - result += element; - } else if (element instanceof List<?>) { - result += "Advices: "; - } else if (element instanceof IEditHelperAdvice) { - result += element; - } - return result; - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesLabelProvider.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesLabelProvider.java deleted file mode 100644 index c89cc88d5e6..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/ElementTypesLabelProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.providers; - -import java.io.IOException; - -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Display; - -public class ElementTypesLabelProvider extends org.eclipse.jface.viewers.LabelProvider { - - @Override - public Image getImage(Object element) { - if (element instanceof IElementType) { - if (((IElementType) element).getIconURL() != null) { - try { - return new Image(Display.getCurrent(), ((IElementType) element).getIconURL().openStream()); - } catch (IOException ex) { - ex.printStackTrace(); - } - } - } - return null; - } - - @Override - public String getText(Object element) { - String result = ""; - if (element instanceof IElementType) { - result += ((IElementType) element).getId(); - } - return result; - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/TypesEventContentProvider.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/TypesEventContentProvider.java deleted file mode 100644 index 28d507d7ef5..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/TypesEventContentProvider.java +++ /dev/null @@ -1,161 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2016 CEA LIST and others. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ - -package org.eclipse.papyrus.dev.types.providers; - -import java.util.AbstractMap; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Map; - -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.papyrus.infra.types.core.notification.TypesEventsChain; -import org.eclipse.papyrus.infra.types.core.notification.events.AbstractTypesEvent; - - -public class TypesEventContentProvider implements ITreeContentProvider { - - /** - * @see org.eclipse.jface.viewers.IContentProvider#dispose() - * - */ - @Override - public void dispose() { - - - } - - /** - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) - * - * @param viewer - * @param oldInput - * @param newInput - */ - @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - - - } - - /** - * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) - * - * @param inputElement - * @return - */ - @Override - public Object[] getElements(Object inputElement) { - List<TypesEventsChain> result = new ArrayList<TypesEventsChain>(); - if (inputElement instanceof List<?>) { - List<?> inputSet = (List<?>) inputElement; - for (Object element : inputSet) { - if (element instanceof TypesEventsChain) { - result.add((TypesEventsChain) element); - } - } - } - - Collections.sort(result, new Comparator<TypesEventsChain>() { - - @Override - public int compare(TypesEventsChain o1, TypesEventsChain o2) { - if (o1.getTimestamp() > o2.getTimestamp()) { - return -1; - } - return 1; - } - }); - - - return result.toArray(); - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object) - * - * @param parentElement - * @return - */ - @Override - public Object[] getChildren(Object parentElement) { - - - List<Object> result = new ArrayList<Object>(); - if (parentElement instanceof TypesEventsChain) { - TypesEventsChain typesEventsChain = (TypesEventsChain) parentElement; - - List<AbstractTypesEvent> adviceRequestConfigurationEvents = typesEventsChain.getAdviceRequestConfigurationEvents(); - if (!adviceRequestConfigurationEvents.isEmpty()) { - result.add(new AbstractMap.SimpleEntry<String, Object>("AdviceRequestConfigurationEvents", adviceRequestConfigurationEvents)); - } - AbstractTypesEvent editHelperRequestConfigurationEvent = typesEventsChain.getEditHelperRequestConfigurationEvent(); - if (editHelperRequestConfigurationEvent != null) { - result.add(editHelperRequestConfigurationEvent); - } - List<AbstractTypesEvent> adviceApprovalEvents = typesEventsChain.getAdviceApprovalEvents(); - if (!adviceApprovalEvents.isEmpty()) { - result.add(new AbstractMap.SimpleEntry<String, Object>("AdviceApprovalEvents", adviceApprovalEvents)); - } - AbstractTypesEvent editHelperApprovalEvent = typesEventsChain.getEditHelperApprovalEvent(); - if (editHelperApprovalEvent != null) { - result.add(editHelperApprovalEvent); - } - List<AbstractTypesEvent> beforeAdvicesCommandsEvents = typesEventsChain.getBeforeAdvicesCommandsEvents(); - if (!beforeAdvicesCommandsEvents.isEmpty()) { - result.add(new AbstractMap.SimpleEntry<String, Object>("BeforeAdvicesCommandsEvents", beforeAdvicesCommandsEvents)); - } - AbstractTypesEvent editHelperCommandEvent = typesEventsChain.getEditHelperCommandEvent(); - if (editHelperCommandEvent != null) { - result.add(editHelperCommandEvent); - } - List<AbstractTypesEvent> afterAdvicesCommandsEvents = typesEventsChain.getAfterAdvicesCommandsEvents(); - if (!afterAdvicesCommandsEvents.isEmpty()) { - result.add(new AbstractMap.SimpleEntry<String, Object>("AfterAdvicesCommandsEvents", afterAdvicesCommandsEvents)); - } - } else if (parentElement instanceof Map.Entry) { - Object value = ((Map.Entry<?, ?>) parentElement).getValue(); - if (value instanceof Collection) { - result.addAll((Collection<?>) value); - } - } - return result.toArray(); - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object) - * - * @param element - * @return - */ - @Override - public Object getParent(Object element) { - return null; - } - - /** - * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) - * - * @param element - * @return - */ - @Override - public boolean hasChildren(Object element) { - return getChildren(element).length == 0 ? false : true; - } - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/TypesEventLabelProvider.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/TypesEventLabelProvider.java deleted file mode 100644 index ee532309225..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/providers/TypesEventLabelProvider.java +++ /dev/null @@ -1,135 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2016 CEA LIST and others. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ - -package org.eclipse.papyrus.dev.types.providers; - -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Collection; -import java.util.Map; - -import org.eclipse.jface.viewers.IColorProvider; -import org.eclipse.papyrus.infra.types.core.notification.TypesEventsChain; -import org.eclipse.papyrus.infra.types.core.notification.events.TypesEventKind; -import org.eclipse.papyrus.infra.types.core.notification.events.ITypesEvent; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.widgets.Display; - - -public class TypesEventLabelProvider extends org.eclipse.jface.viewers.LabelProvider implements IColorProvider { - - @Override - public Image getImage(Object element) { - - return null; - } - - @Override - public String getText(Object element) { - String result = ""; - Calendar calendar = Calendar.getInstance(); - SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd - hh:mm:ss:SSS"); - if (element instanceof ITypesEvent) { - calendar.setTimeInMillis(((ITypesEvent) element).getTimestamp()); - result += "[" + formater.format(calendar.getTime()) + "] " + ((ITypesEvent) element).getEventName(); - } else if (element instanceof TypesEventsChain) { - calendar.setTimeInMillis(((TypesEventsChain) element).getTimestamp()); - result += "[" + formater.format(calendar.getTime()) + "] " + ((TypesEventsChain) element).getName(); - } else if (element instanceof Map.Entry) { - result += ((Map.Entry<?, ?>) element).getKey().toString(); - } else { - result += element.toString(); - } - return result; - } - - Color yellow = new Color(Display.getCurrent(), new RGB(255, 200, 0)); - Color green = new Color(Display.getCurrent(), new RGB(0, 128, 0)); - Color red = new Color(Display.getCurrent(), new RGB(255, 0, 0)); - Color black = new Color(Display.getCurrent(), new RGB(0, 0, 0)); - Color blue = new Color(Display.getCurrent(), new RGB(0, 0, 255)); - - - /** - * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object) - * - * @param element - * @return - */ - @Override - public Color getForeground(Object element) { - if (element instanceof ITypesEvent) { - if (((ITypesEvent) element).getEventType().equals(TypesEventKind.Disapproved)) { - return red; - } else if (((ITypesEvent) element).getEventType().equals(TypesEventKind.Unexecutable)) { - return red; - } else if (((ITypesEvent) element).getEventType().equals(TypesEventKind.Executable)) { - return green; - } else if (((ITypesEvent) element).getEventType().equals(TypesEventKind.Approved)) { - return green; - } else if (((ITypesEvent) element).getEventType().equals(TypesEventKind.Identity)) { - return yellow; - } else if (((ITypesEvent) element).getEventType().equals(TypesEventKind.RequestConfiguration)) { - return blue; - } - } else if (element instanceof Map.Entry) { - Object value = ((Map.Entry<?, ?>) element).getValue(); - if (value instanceof Collection) { - return checkWorst((Collection<?>) value, true); - } - } else if (element instanceof TypesEventsChain) { - return checkWorst(((TypesEventsChain) element).getAllEvents(), false); - } - return black; - } - - /** - * @param value - */ - private Color checkWorst(Collection<?> value, boolean considerRequestConfiguration) { - Color result = green; - for (Object object : value) { - if (((ITypesEvent) object).getEventType().equals(TypesEventKind.Disapproved)) { - return red; - } else if (((ITypesEvent) object).getEventType().equals(TypesEventKind.Unexecutable)) { - return red; - } else if (((ITypesEvent) object).getEventType().equals(TypesEventKind.Identity)) { - if (result == green) { - result = yellow; - } - } else if (((ITypesEvent) object).getEventType().equals(TypesEventKind.RequestConfiguration)) { - if (considerRequestConfiguration) { - if (result != yellow && result != red) { - result = blue; - } - } - } - } - return result; - } - - /** - * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object) - * - * @param element - * @return - */ - @Override - public Color getBackground(Object element) { - - return null; - } - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/EClassComparator.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/EClassComparator.java deleted file mode 100644 index 25a9421e6f6..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/EClassComparator.java +++ /dev/null @@ -1,25 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.utils; - -import java.util.Comparator; - -import org.eclipse.emf.ecore.EClass; - -public class EClassComparator implements Comparator<EClass> { - - @Override - public int compare(EClass o1, EClass o2) { - return o1.getName().compareTo(o2.getName()); - } -}
\ No newline at end of file diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/ElementTypeConfigurationComparator.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/ElementTypeConfigurationComparator.java deleted file mode 100644 index b8de00edf4c..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/ElementTypeConfigurationComparator.java +++ /dev/null @@ -1,25 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.utils; - -import java.util.Comparator; - -import org.eclipse.papyrus.infra.types.ElementTypeConfiguration; - -public class ElementTypeConfigurationComparator implements Comparator<ElementTypeConfiguration> { - - @Override - public int compare(ElementTypeConfiguration o1, ElementTypeConfiguration o2) { - return o1.getName().compareTo(o2.getName()); - } -}
\ No newline at end of file diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/ElementTypeRegistryUtils.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/ElementTypeRegistryUtils.java deleted file mode 100644 index 0b44546e382..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/ElementTypeRegistryUtils.java +++ /dev/null @@ -1,45 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.utils; - -import java.lang.reflect.Field; - -import org.eclipse.gmf.runtime.emf.type.core.MetamodelType; -import org.eclipse.papyrus.dev.types.Activator; - - -public class ElementTypeRegistryUtils { - - - static public synchronized Field getNullElementTypeEditHelper() { - - Field declaredField = null; - try { - declaredField = MetamodelType.class.getDeclaredField("editHelper"); - } catch (SecurityException e1) { - Activator.log.error(e1); - return null; - } catch (NoSuchFieldException e1) { - Activator.log.error(e1); - return null; - } - if (declaredField == null) { - Activator.log.error("impossible to find editHelper", null); - return null; - } - declaredField.setAccessible(true); - - return declaredField; - } - -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/GenerateElementTypesConfigurationsUtils.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/GenerateElementTypesConfigurationsUtils.java deleted file mode 100644 index 05a3ad24c00..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/GenerateElementTypesConfigurationsUtils.java +++ /dev/null @@ -1,112 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.utils; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EClassifier; -import org.eclipse.emf.ecore.ENamedElement; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; -import org.eclipse.uml2.uml.UMLPackage; - -public class GenerateElementTypesConfigurationsUtils { - - - - static public Collection<EReference> findAmbiguousContainments(EReference eReference, Collection<EReference> possibleContainmentsEReference) { - HashSet<EReference> result = new HashSet<EReference>(); - - for (EReference ownerContainment : eReference.getEContainingClass().getEAllContainments()) { - for (EReference possibleContainement : possibleContainmentsEReference) { - if (eReference != possibleContainement) { - if (ownerContainment.equals(possibleContainement)) { - result.add(possibleContainement); - } - } - } - } - - return result; - } - - static public Collection<EReference> findPossibleContainmentsEReference(EClass ownedEClass, Collection<EClass> ownerTypes) { - HashSet<EReference> result = new HashSet<EReference>(); - for (EClass candidateOwner : ownerTypes) { - for (EReference eReference : candidateOwner.getEAllContainments()) { - if (isKindOf(ownedEClass, eReference.getEReferenceType())) { - result.add(eReference); - } - } - } - return result; - } - - static public boolean isKindOf(EClass a, EClassifier b) { - if (a.getEAllSuperTypes().contains(b)) { - return true; - } else { - return a.equals(b); - } - } - - static public Collection<EClass> getAllEClass(EPackage ePackage) { - List<EClass> eClasses = new ArrayList<EClass>(); - for (EClassifier eClassifier : ePackage.getEClassifiers()) { - if (eClassifier instanceof EClass) { - eClasses.add((EClass) eClassifier); - } - } - - Collections.sort(eClasses, new EClassComparator()); - - return eClasses; - } - - static public String getIdentifier(EClass eClass) { - return "org.eclipse.papyrus.uml." + eClass.getName(); - } - - static public String getAsName(EReference containmentEReference, EClass container) { - return "_As_" + ((ENamedElement) container.eContainer()).getName().toUpperCase() + "::" + container.getName() + "::" + containmentEReference.getName(); - } - - static public boolean isSpecializedASpecialization(EClass eClass, EReference containmentEReference) { - Collection<EReference> possibleContainmentsEReference = findPossibleContainmentsEReference(eClass, getAllEClass(UMLPackage.eINSTANCE)); - if (!findAmbiguousContainments(containmentEReference, possibleContainmentsEReference).isEmpty()) { - // The SpecialiazedType is SpecializationType - return true; - } else { - // The SpecialiazedType is MetamodelType - return false; - - } - } - - static public String findSpecializedTypesIDs(EClass eClass, EReference containmentEReference) { - if (isSpecializedASpecialization(eClass, containmentEReference)) { - // The SpecialiazedType is SpecializationType - return GenerateElementTypesConfigurationsUtils.getIdentifier(eClass) + GenerateElementTypesConfigurationsUtils.getAsName(containmentEReference, eClass); - } else { - // The SpecialiazedType is MetamodelType - return getIdentifier(eClass); - } - - - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/IElementTypeComparator.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/IElementTypeComparator.java deleted file mode 100644 index 622d729ecd7..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/IElementTypeComparator.java +++ /dev/null @@ -1,25 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.utils; - -import java.util.Comparator; - -import org.eclipse.gmf.runtime.emf.type.core.IElementType; - -public class IElementTypeComparator implements Comparator<IElementType> { - - @Override - public int compare(IElementType o1, IElementType o2) { - return o1.getId().compareTo(o2.getId()); - } -}
\ No newline at end of file diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/NotifierNullEditHelper.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/NotifierNullEditHelper.java deleted file mode 100644 index df2e84c7db1..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/NotifierNullEditHelper.java +++ /dev/null @@ -1,30 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2016 CEA LIST and others. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ - -package org.eclipse.papyrus.dev.types.utils; - -import org.eclipse.gmf.runtime.common.core.command.ICommand; -import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest; -import org.eclipse.papyrus.infra.types.core.notification.AbstractNotifierEditHelper; - -/** - * Edit helper for the NullElementType that considers before and after - * advice, only. - */ -public class NotifierNullEditHelper - extends AbstractNotifierEditHelper { - - protected ICommand getInsteadCommand(IEditCommandRequest req) { - return null; - } -}
\ No newline at end of file diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/TypesEventPrinter.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/TypesEventPrinter.java deleted file mode 100644 index f8213214503..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/utils/TypesEventPrinter.java +++ /dev/null @@ -1,138 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2016 CEA LIST and others. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ - -package org.eclipse.papyrus.dev.types.utils; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice; -import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest; -import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest; -import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest; -import org.eclipse.papyrus.infra.types.core.notification.events.AdviceApprovedEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.AdviceDisapprovedEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.AdviceRequestEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.EditHelperApprovedEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.EditHelperDisapprovedEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.EditHelperRequestEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.ExecutableAdviceEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.ExecutableEditHelperEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.IAdviceEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.ITypesEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.IdentityAdviceEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.IdentityEditHelperEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.UnexecutableAdviceEvent; -import org.eclipse.papyrus.infra.types.core.notification.events.UnexecutableEditHelperEvent; - -public class TypesEventPrinter { - public static Map<String, String> getEventDetails(ITypesEvent event) { - Map<String, String> result = new HashMap<>(); - - if (event instanceof AdviceApprovedEvent) { - result.put("Approved Advice", ((AdviceApprovedEvent) event).getAdvice().getClass().getName()); - } else if (event instanceof AdviceDisapprovedEvent) { - result.put("Disapprover Advice", ((AdviceDisapprovedEvent) event).getAdvice().getClass().getName()); - } else if (event instanceof EditHelperApprovedEvent) { - result.put("Approver edithelper", ((EditHelperApprovedEvent) event).getEditHelper().getClass().getName()); - } else if (event instanceof EditHelperDisapprovedEvent) { - result.put("Disapprover edithelper", ((EditHelperDisapprovedEvent) event).getEditHelper().getClass().getName()); - } else if (event instanceof ExecutableAdviceEvent) { - result.put("Advice", ((ExecutableAdviceEvent) event).getAdvice().getClass().getName()); - result.put("Phase ", ((ExecutableAdviceEvent) event).getAdvicePhase().name()); - result.put("Executable command", ((ExecutableAdviceEvent) event).getCommand().getClass().getName()); - } else if (event instanceof ExecutableEditHelperEvent) { - result.put("Executable command from edithelper", ((ExecutableEditHelperEvent) event).getEditHelper().getClass().getName()); - result.put("Executable command", ((ExecutableEditHelperEvent) event).getCommand().getClass().getName()); - } else if (event instanceof IdentityAdviceEvent) { - result.put("Identity Advice", ((IdentityAdviceEvent) event).getAdvice().getClass().getName()); - result.put("Phase ", ((IdentityAdviceEvent) event).getAdvicePhase().name()); - } else if (event instanceof IdentityEditHelperEvent) { - result.put("Identity EditHelper", ((IdentityEditHelperEvent) event).getEditHelper().getClass().getName()); - } else if (event instanceof UnexecutableAdviceEvent) { - result.put("Unexecutable Advice", ((UnexecutableAdviceEvent) event).getAdvice().getClass().getName()); - result.put("Phase ", ((UnexecutableAdviceEvent) event).getAdvicePhase().name()); - result.put("Unexecutable command", ((UnexecutableAdviceEvent) event).getCommand().getClass().getName()); - } else if (event instanceof UnexecutableEditHelperEvent) { - result.put("Unexecutable command from edithelper", ((UnexecutableEditHelperEvent) event).getEditHelper().getClass().getName()); - result.put("Unexecutable command", ((UnexecutableEditHelperEvent) event).getCommand().getClass().getName()); - } else if (event instanceof AdviceRequestEvent) { - result.put("RequestConfiguration Advice", ((AdviceRequestEvent) event).getAdvice().getClass().getName()); - } else if (event instanceof EditHelperRequestEvent) { - result.put("RequestConfiguration EditHelper", ((EditHelperRequestEvent) event).getEditHelper().getClass().getName()); - } - - if (event instanceof IAdviceEvent) { - String adviceNames = ""; - for (IEditHelperAdvice editHelperAdvice : ((IAdviceEvent) event).getAdvices()) { - adviceNames += " -" + editHelperAdvice.getClass().getName() + "\n"; - } - result.put("Among the following advices ", adviceNames); - } - - return result; - } - - public static String printHtmlEvent(Map<String, String> details) { - - - String html = "<table border=\"1\">"; - for (String key : details.keySet()) { - html += "<tr>"; - html += "<td><b>" + key + "<b></td>"; - html += "<td>" + details.get(key) + "</td>"; - html += "</tr>"; - } - html += "</table>"; - - html = html.replaceAll("\\n", "<br>"); - - return html; - } - - /** - * @param req - * @return - */ - public static String printHtmRequest(IEditCommandRequest req) { - String result = "<ul>"; - result += "<li><b>Request</b>: " + req + "</li>"; - result += "<li><b>Label</b>: " + req.getLabel() + "</li>"; - result += "<li><b>Kind</b>: " + req.getClass().getName() + "</li>"; - result += "<li><b>ElementsToEdit</b>: " + req.getElementsToEdit() + "</li>"; - result += "<li><b>Parameters</b>:</li>"; - - if (!req.getParameters().keySet().isEmpty()) { - result += "<ul>"; - - for (Object key : req.getParameters().keySet()) { - result += "<li><b>" + key + "</b> <-> " + req.getParameters().get(key) + "</li>"; - } - result += "</ul>"; - } - result += "<li><b>EditHelperContext</b>: " + req.getEditHelperContext() + "</li>"; - - if (req instanceof CreateElementRequest) { - result += "<li><b>ElementType</b>: " + ((CreateElementRequest) req).getElementType() + "</li>"; - result += "<li><b>Container</b>: " + ((CreateElementRequest) req).getContainer() + "</li>"; - result += "<li><b>ContainmentFeature</b>: " + ((CreateElementRequest) req).getContainmentFeature() + "</li>"; - if (req instanceof CreateRelationshipRequest) { - result += "<li><b>Source</b>: " + ((CreateRelationshipRequest) req).getSource() + "</li>"; - result += "<li><b>Target</b>: " + ((CreateRelationshipRequest) req).getTarget() + "</li>"; - } - } - result += "</ul>"; - - return result; - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/view/RegistredElementTypesView.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/view/RegistredElementTypesView.java deleted file mode 100644 index a1e446eb0d2..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/view/RegistredElementTypesView.java +++ /dev/null @@ -1,196 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.view; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import org.eclipse.gmf.runtime.emf.type.core.ClientContextManager; -import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry; -import org.eclipse.gmf.runtime.emf.type.core.IClientContext; -import org.eclipse.gmf.runtime.emf.type.core.IElementType; -import org.eclipse.gmf.runtime.emf.type.core.edithelper.IEditHelperAdvice; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.papyrus.dev.types.providers.ElementTypesContentProvider; -import org.eclipse.papyrus.dev.types.providers.ElementTypesDetailsContentProvider; -import org.eclipse.papyrus.dev.types.providers.ElementTypesDetailsLabelProvider; -import org.eclipse.papyrus.dev.types.providers.ElementTypesLabelProvider; -import org.eclipse.papyrus.infra.types.core.utils.AdviceComparator; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.SashForm; -import org.eclipse.swt.events.MouseAdapter; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.FileDialog; -import org.eclipse.ui.dialogs.FilteredTree; -import org.eclipse.ui.dialogs.PatternFilter; -import org.eclipse.ui.part.ViewPart; - -public class RegistredElementTypesView extends ViewPart { - - FilteredTree detailsFilteredTree = null; - SashForm sash = null; - FilteredTree elementTypesFilteredTree = null; - Combo combo = null; - ElementTypesDetailsContentProvider elementTypesDetailsContentProvider; - - - @Override - public void createPartControl(Composite parent) { - parent.setLayout(new GridLayout(1, true)); - - combo = new Combo(parent, SWT.NONE); - final List<String> itemsList = new ArrayList<>(); - List<IClientContext> contexts = new ArrayList<IClientContext>(ClientContextManager.getInstance().getClientContexts()); - - int index = -1; - int i = 0; - for (IClientContext context : contexts) { - itemsList.add(context.getId()); - if (context.getId().equals(ClientContextManager.getDefaultClientContext().getId())) { - index = i; - } - i++; - } - String[] items = new String[itemsList.size()]; - items = itemsList.toArray(items); - combo.setItems(items); - if (index != -1) { - combo.select(index); - } - combo.addSelectionListener(new SelectionListener() { - - @Override - public void widgetSelected(SelectionEvent e) { - int index = combo.getSelectionIndex(); - - String clientContexId = itemsList.get(index); - - if (clientContexId != null) { - IClientContext clientContex = ClientContextManager.getInstance().getClientContext(clientContexId); - if (clientContex != null) { - IElementType[] elementTypes = ElementTypeRegistry.getInstance().getElementTypes(clientContex); - elementTypesDetailsContentProvider.setContextID(clientContex.getId()); - elementTypesFilteredTree.getViewer().setInput(elementTypes); - } - } - - } - - @Override - public void widgetDefaultSelected(SelectionEvent e) { - - - } - }); - - Button exportButton = new Button(parent, SWT.NONE); - exportButton.setText("Export registry"); - exportButton.addMouseListener(new MouseAdapter() { - - @Override - public void mouseUp(MouseEvent e) { - FileDialog dialog = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE); - String dest = dialog.open(); - if (dest != null) { - File file = new File(dest); - if (file != null) { - BufferedWriter writer = null; - try { - writer = new BufferedWriter(new FileWriter(file)); - - for (String clientContexId : itemsList) { - writer.write(clientContexId + "\n"); - IElementType[] elementTypes = ElementTypeRegistry.getInstance().getElementTypes(ClientContextManager.getInstance().getClientContext(clientContexId)); - for (int j = 0; j < elementTypes.length; j++) { - IElementType elementType = elementTypes[j]; - writer.write("\t" + elementType.getId() + "\n"); - - - IEditHelperAdvice[] advices = ElementTypeRegistry.getInstance().getEditHelperAdvice(elementType); - List<IEditHelperAdvice> advicesList = Arrays.asList(advices); - Collections.sort(advicesList, new AdviceComparator(elementType, clientContexId)); - for (IEditHelperAdvice advice : advicesList) { - writer.write("\t\t" + advice.getClass().getName() + "\n"); - } - } - } - - writer.flush(); - - } catch (IOException e1) { - e1.printStackTrace(); - } finally { - try { - writer.close(); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - - } - } - } - }); - - sash = new SashForm(parent, SWT.HORIZONTAL); - sash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - - elementTypesFilteredTree = new FilteredTree(sash, SWT.BORDER, new PatternFilter(), true); - elementTypesFilteredTree.getViewer().setLabelProvider(new ElementTypesLabelProvider()); - elementTypesFilteredTree.getViewer().setContentProvider(new ElementTypesContentProvider()); - detailsFilteredTree = new FilteredTree(sash, SWT.BORDER, new PatternFilter(), true); - detailsFilteredTree.getViewer().setLabelProvider(new ElementTypesDetailsLabelProvider()); - elementTypesDetailsContentProvider = new ElementTypesDetailsContentProvider(); - detailsFilteredTree.getViewer().setContentProvider(elementTypesDetailsContentProvider); - - if (index != -1) { - combo.select(index); - } - - elementTypesFilteredTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() { - - @Override - public void selectionChanged(SelectionChangedEvent event) { - if (event.getSelection() instanceof IStructuredSelection) { - Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); - if (selection instanceof IElementType) { - elementTypesDetailsContentProvider.setTypeID(((IElementType) selection).getId()); - detailsFilteredTree.getViewer().setInput(selection); - } - } - - } - }); - } - - @Override - public void setFocus() { - - } -} diff --git a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/view/TypesConfigurationsListenerView.java b/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/view/TypesConfigurationsListenerView.java deleted file mode 100644 index 0e937b4fee0..00000000000 --- a/plugins/developer/org.eclipse.papyrus.dev.types/src/org/eclipse/papyrus/dev/types/view/TypesConfigurationsListenerView.java +++ /dev/null @@ -1,227 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014 CEA LIST. - * - * 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: - * CEA LIST - Initial API and implementation - * - *****************************************************************************/ -package org.eclipse.papyrus.dev.types.view; - - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.gmf.runtime.emf.type.core.IClientContext; -import org.eclipse.gmf.runtime.emf.type.core.NullElementType; -import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.papyrus.dev.types.Activator; -import org.eclipse.papyrus.dev.types.providers.TypesEventContentProvider; -import org.eclipse.papyrus.dev.types.providers.TypesEventLabelProvider; -import org.eclipse.papyrus.dev.types.utils.ElementTypeRegistryUtils; -import org.eclipse.papyrus.dev.types.utils.TypesEventPrinter; -import org.eclipse.papyrus.dev.types.utils.NotifierNullEditHelper; -import org.eclipse.papyrus.infra.types.core.notification.TypesEventsChain; -import org.eclipse.papyrus.infra.types.core.notification.TypesListenersRegistry; -import org.eclipse.papyrus.infra.types.core.notification.ITypesEventsChainListener; -import org.eclipse.papyrus.infra.types.core.notification.events.ITypesEvent; -import org.eclipse.swt.SWT; -import org.eclipse.swt.browser.Browser; -import org.eclipse.swt.custom.SashForm; -import org.eclipse.swt.events.MouseAdapter; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.dialogs.FilteredTree; -import org.eclipse.ui.dialogs.PatternFilter; -import org.eclipse.ui.part.ViewPart; - -public class TypesConfigurationsListenerView extends ViewPart { - - IClientContext context = null; - FilteredTree tree = null; - SashForm sash = null; - Browser browser = null; - ITypesEventsChainListener listener = null; - Text limitText = null; - - List<TypesEventsChain> eventsChains = new ArrayList<TypesEventsChain>(); - - final private int MAX_SIZE = 1000; - - - @Override - public void createPartControl(Composite parent) { - parent.setLayout(new GridLayout(3, true)); - Button startButton = new Button(parent, SWT.NONE); - startButton.setText("Start"); - startButton.addMouseListener(new MouseAdapter() { - - - - @Override - public void mouseUp(MouseEvent e) { - if (!Platform.inDebugMode()) { - MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Debug mode", "You must activate debug mode to be able to use this view. "); - } - - // Dirty work to force the NullElementType edithelper if in debug mode - if (Platform.inDebugMode()) { - - Field nullElementTypeEditHelperField = ElementTypeRegistryUtils.getNullElementTypeEditHelper(); - - if (nullElementTypeEditHelperField != null) { - // Register fake - - try { - nullElementTypeEditHelperField.set(NullElementType.getInstance(), new NotifierNullEditHelper()); - } catch (IllegalArgumentException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } catch (IllegalAccessException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - } else { - Activator.log.warn("Failed to override NullElementType's EditHelper"); - } - - MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "Debug mode", "Be careful, as the platform is in debug mode, the NullElementType's EditHelper has been overriden"); - } - - if (listener == null) { - listener = new ITypesEventsChainListener() { - - @Override - public void notifyChain(TypesEventsChain chain) { - int limit; - String text = limitText.getText(); - try { - limit = Integer.parseInt(text); - } catch (NumberFormatException e) { - limit = MAX_SIZE; - } - if (eventsChains.size() >= limit) { - eventsChains.remove(0); - } - eventsChains.add(chain); - Display.getCurrent().asyncExec(new Runnable() { - @Override - public void run() { - tree.getViewer().refresh(); - } - }); - - } - }; - TypesListenersRegistry.getInstance().addEventChainListener(listener); - } - } - - }); - startButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); - - Button stopButton = new Button(parent, SWT.NONE); - stopButton.setText("Stop"); - stopButton.addMouseListener(new MouseAdapter() { - - @Override - public void mouseUp(MouseEvent e) { - TypesListenersRegistry.getInstance().removeEventChainListener(listener); - listener = null; - } - - }); - stopButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); - - Button clearButton = new Button(parent, SWT.NONE); - clearButton.setText("Clear"); - clearButton.addMouseListener(new MouseAdapter() { - - @Override - public void mouseUp(MouseEvent e) { - eventsChains.clear(); - tree.getViewer().refresh(); - browser.setText(""); - } - - }); - clearButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); - - Label label = new Label(parent, SWT.NONE); - label.setText("Limit: "); - - limitText = new Text(parent, SWT.BORDER); - limitText.setText(MAX_SIZE + ""); - limitText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1)); - - sash = new SashForm(parent, SWT.HORIZONTAL | SWT.BORDER); - - sash.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1)); - - tree = new FilteredTree(sash, SWT.BORDER, new PatternFilter(), true); - tree.getViewer().setLabelProvider(new TypesEventLabelProvider()); - tree.getViewer().setContentProvider(new TypesEventContentProvider()); - tree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() { - - @Override - public void selectionChanged(SelectionChangedEvent event) { - if (event.getSelection() instanceof IStructuredSelection) { - Object first = ((IStructuredSelection) event.getSelection()).getFirstElement(); - String result = ""; - if (first instanceof ITypesEvent) { - - Map<String, String> details = TypesEventPrinter.getEventDetails(((ITypesEvent) first)); - result = TypesEventPrinter.printHtmlEvent(details); - } else if (first instanceof TypesEventsChain) { - IEditCommandRequest req = ((TypesEventsChain) first).getRequest(); - result = TypesEventPrinter.printHtmRequest(req); - } - browser.setText(result); - } - - } - }); - tree.getViewer().setInput(eventsChains); - - browser = new Browser(sash, SWT.NONE); - - - sash.setWeights(new int[] { 1, 3 }); - } - - - - @Override - public void setFocus() { - - } - - /** - * @see org.eclipse.ui.part.WorkbenchPart#dispose() - * - */ - @Override - public void dispose() { - TypesListenersRegistry.getInstance().removeEventChainListener(listener); - super.dispose(); - } - - -} |