/* * StsToolPaletteFactory.java * * This file is part of the STS-Tool project. * Copyright (c) 2011-2012 "University of Trento - DISI" All rights reserved. * * Is strictly forbidden to remove this copyright notice from this source code. * * Disclaimer of Warranty: * STS-Tool (this software) is provided "as-is" and without warranty of any kind, * express, implied or otherwise, including without limitation, any warranty of * merchantability or fitness for a particular purpose. * In no event shall the copyright holder or contributors be liable for any direct, * indirect, incidental, special, exemplary, or consequential damages * including, but not limited to, procurement of substitute goods or services; * loss of use, data, or profits; or business interruption) however caused and on * any theory of liability, whether in contract, strict liability, or tort (including * negligence or otherwise) arising in any way out of the use of this software, even * if advised of the possibility of such damage. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License version 3 * as published by the Free Software Foundation with the addition of the * following permission added to Section 15 as permitted in Section 7(a): * FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY * "University of Trento - DISI","University of Trento - DISI" DISCLAIMS THE * WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. * * See the GNU Affero General Public License for more details. * You should have received a copy of the GNU Affero General Public License * along with this program; if not, see http://www.gnu.org/licenses or write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA, 02110-1301 USA, or download the license from the following URL: * http://www.sts-tool.eu/License.php * * For more information, please contact STS-Tool group at this * address: ststool@disi.unitn.it * */ package eu.aniketos.wp1.ststool.diagram.part; import java.util.ArrayList; import java.util.List; import org.eclipse.gef.Tool; import org.eclipse.gef.palette.PaletteContainer; import org.eclipse.gef.palette.PaletteDrawer; import org.eclipse.gef.palette.PaletteRoot; import org.eclipse.gef.palette.ToolEntry; import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeConnectionTool; import org.eclipse.gmf.runtime.diagram.ui.tools.UnspecifiedTypeCreationTool; import eu.aniketos.wp1.ststool.diagram.providers.StsToolElementTypes; /** * @generated */ public class StsToolPaletteFactory { /** * @generated */ public void fillPalette(PaletteRoot paletteRoot){ paletteRoot.add(createStsElements1Group()); paletteRoot.add(createStsRelations2Group()); } /** * Creates "Sts Elements" palette tool group * * @generated */ private PaletteContainer createStsElements1Group(){ PaletteDrawer paletteContainer = new PaletteDrawer(Messages.StsElements1Group_title); paletteContainer.setId("createStsElements1Group"); //$NON-NLS-1$ paletteContainer.setDescription(Messages.StsElements1Group_desc); paletteContainer.add(createAgent1CreationTool()); paletteContainer.add(createRole2CreationTool()); paletteContainer.add(createGoal3CreationTool()); paletteContainer.add(createDocument4CreationTool()); paletteContainer.add(createInformation5CreationTool()); paletteContainer.add(createEvent6CreationTool()); return paletteContainer; } /** * Creates "Sts Relations" palette tool group * * @generated */ private PaletteContainer createStsRelations2Group(){ PaletteDrawer paletteContainer = new PaletteDrawer(Messages.StsRelations2Group_title); paletteContainer.setId("createStsRelations2Group"); //$NON-NLS-1$ paletteContainer.setDescription(Messages.StsRelations2Group_desc); paletteContainer.add(createNeed1CreationTool()); paletteContainer.add(createProduce2CreationTool()); paletteContainer.add(createModify3CreationTool()); paletteContainer.add(createPositiveContribution4CreationTool()); paletteContainer.add(createNegativeContribution5CreationTool()); paletteContainer.add(createOR6CreationTool()); paletteContainer.add(createAND7CreationTool()); paletteContainer.add(createOwn8CreationTool()); paletteContainer.add(createPartOf9CreationTool()); paletteContainer.add(createTangibleBy10CreationTool()); paletteContainer.add(createPlay11CreationTool()); paletteContainer.add(createProvide12CreationTool()); paletteContainer.add(createDelegate13CreationTool()); paletteContainer.add(createAuthorisation14CreationTool()); paletteContainer.add(createThreat15CreationTool()); paletteContainer.add(createIncompatible16CreationTool()); paletteContainer.add(createCompatible17CreationTool()); paletteContainer.add(createDependby18CreationTool()); return paletteContainer; } /** * @generated */ private ToolEntry createAgent1CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Agent_2001); NodeToolEntry entry = new NodeToolEntry(Messages.Agent1CreationTool_title, Messages.Agent1CreationTool_desc, types); entry.setId("createAgent1CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Agent_2001)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createRole2CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Role_2002); NodeToolEntry entry = new NodeToolEntry(Messages.Role2CreationTool_title, Messages.Role2CreationTool_desc, types); entry.setId("createRole2CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Role_2002)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createGoal3CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(2); types.add(StsToolElementTypes.Goal_3001); types.add(StsToolElementTypes.Goal_2003); NodeToolEntry entry = new NodeToolEntry(Messages.Goal3CreationTool_title, Messages.Goal3CreationTool_desc, types); entry.setId("createGoal3CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Goal_3001)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createDocument4CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(2); types.add(StsToolElementTypes.TResource_3002); types.add(StsToolElementTypes.TResource_2004); NodeToolEntry entry = new NodeToolEntry(Messages.Document4CreationTool_title, Messages.Document4CreationTool_desc, types); entry.setId("createDocument4CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.TResource_3002)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createInformation5CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.IResource_2005); NodeToolEntry entry = new NodeToolEntry(Messages.Information5CreationTool_title, Messages.Information5CreationTool_desc, types); entry.setId("createInformation5CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.IResource_2005)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createEvent6CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Event_2006); NodeToolEntry entry = new NodeToolEntry(Messages.Event6CreationTool_title, Messages.Event6CreationTool_desc, types); entry.setId("createEvent6CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Event_2006)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createNeed1CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Need_4001); LinkToolEntry entry = new LinkToolEntry(Messages.Need1CreationTool_title, Messages.Need1CreationTool_desc, types); entry.setId("createNeed1CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Need_4001)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createProduce2CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Produce_4002); LinkToolEntry entry = new LinkToolEntry(Messages.Produce2CreationTool_title, Messages.Produce2CreationTool_desc, types); entry.setId("createProduce2CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Produce_4002)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createModify3CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Modify_4003); LinkToolEntry entry = new LinkToolEntry(Messages.Modify3CreationTool_title, Messages.Modify3CreationTool_desc, types); entry.setId("createModify3CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Modify_4003)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createPositiveContribution4CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.PositiveGoalContribution_4004); LinkToolEntry entry = new LinkToolEntry(Messages.PositiveContribution4CreationTool_title, Messages.PositiveContribution4CreationTool_desc, types); entry.setId("createPositiveContribution4CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.PositiveGoalContribution_4004)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createNegativeContribution5CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.NegativeGoalContribution_4005); LinkToolEntry entry = new LinkToolEntry(Messages.NegativeContribution5CreationTool_title, Messages.NegativeContribution5CreationTool_desc, types); entry.setId("createNegativeContribution5CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.NegativeGoalContribution_4005)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createOR6CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.GoalDecompositionOR_4006); LinkToolEntry entry = new LinkToolEntry(Messages.OR6CreationTool_title, Messages.OR6CreationTool_desc, types); entry.setId("createOR6CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.GoalDecompositionOR_4006)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createAND7CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.GoalDecompositionAND_4007); LinkToolEntry entry = new LinkToolEntry(Messages.AND7CreationTool_title, Messages.AND7CreationTool_desc, types); entry.setId("createAND7CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.GoalDecompositionAND_4007)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createOwn8CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Own_4008); LinkToolEntry entry = new LinkToolEntry(Messages.Own8CreationTool_title, Messages.Own8CreationTool_desc, types); entry.setId("createOwn8CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Own_4008)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createPartOf9CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.PartOf_4009); LinkToolEntry entry = new LinkToolEntry(Messages.PartOf9CreationTool_title, Messages.PartOf9CreationTool_desc, types); entry.setId("createPartOf9CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.PartOf_4009)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createTangibleBy10CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.TangibleBy_4010); LinkToolEntry entry = new LinkToolEntry(Messages.TangibleBy10CreationTool_title, Messages.TangibleBy10CreationTool_desc, types); entry.setId("createTangibleBy10CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.TangibleBy_4010)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createPlay11CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Play_4011); LinkToolEntry entry = new LinkToolEntry(Messages.Play11CreationTool_title, Messages.Play11CreationTool_desc, types); entry.setId("createPlay11CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Play_4011)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createProvide12CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Provision_4012); LinkToolEntry entry = new LinkToolEntry(Messages.Provide12CreationTool_title, Messages.Provide12CreationTool_desc, types); entry.setId("createProvide12CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Provision_4012)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createDelegate13CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Delegation_4013); LinkToolEntry entry = new LinkToolEntry(Messages.Delegate13CreationTool_title, Messages.Delegate13CreationTool_desc, types); entry.setId("createDelegate13CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Delegation_4013)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createAuthorisation14CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Authorisation_4014); LinkToolEntry entry = new LinkToolEntry(Messages.Authorisation14CreationTool_title, Messages.Authorisation14CreationTool_desc, types); entry.setId("createAuthorisation14CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Authorisation_4014)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createThreat15CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Threat_4015); LinkToolEntry entry = new LinkToolEntry(Messages.Threat15CreationTool_title, Messages.Threat15CreationTool_desc, types); entry.setId("createThreat15CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Threat_4015)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createIncompatible16CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.IncompatibleDuties_4016); LinkToolEntry entry = new LinkToolEntry(Messages.Incompatible16CreationTool_title, Messages.Incompatible16CreationTool_desc, types); entry.setId("createIncompatible16CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.IncompatibleDuties_4016)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createCompatible17CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.CompatibleDuties_4017); LinkToolEntry entry = new LinkToolEntry(Messages.Compatible17CreationTool_title, Messages.Compatible17CreationTool_desc, types); entry.setId("createCompatible17CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.CompatibleDuties_4017)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private ToolEntry createDependby18CreationTool(){ List/*<IElementType>*/types = new ArrayList/*<IElementType>*/(1); types.add(StsToolElementTypes.Dependency_4018); LinkToolEntry entry = new LinkToolEntry(Messages.Dependby18CreationTool_title, Messages.Dependby18CreationTool_desc, types); entry.setId("createDependby18CreationTool"); //$NON-NLS-1$ entry.setSmallIcon(StsToolElementTypes.getImageDescriptor(StsToolElementTypes.Dependency_4018)); entry.setLargeIcon(entry.getSmallIcon()); return entry; } /** * @generated */ private static class NodeToolEntry extends ToolEntry { /** * @generated */ private final List elementTypes; /** * @generated */ private NodeToolEntry(String title, String description, List elementTypes) { super(title, description, null, null); this.elementTypes = elementTypes; } /** * @generated */ @Override public Tool createTool(){ Tool tool = new UnspecifiedTypeCreationTool(elementTypes); tool.setProperties(getToolProperties()); return tool; } } /** * @generated */ private static class LinkToolEntry extends ToolEntry { /** * @generated */ private final List relationshipTypes; /** * @generated */ private LinkToolEntry(String title, String description, List relationshipTypes) { super(title, description, null, null); this.relationshipTypes = relationshipTypes; } /** * @generated */ @Override public Tool createTool(){ Tool tool = new UnspecifiedTypeConnectionTool(relationshipTypes); tool.setProperties(getToolProperties()); return tool; } } }