diff options
author | Maxime Porhel | 2015-09-02 15:35:58 +0000 |
---|---|---|
committer | Maxime Porhel | 2015-09-03 09:39:12 +0000 |
commit | 09891bf1b590bba8532e6c96ec716e8cf26bdc38 (patch) | |
tree | a3b6819c2ff556e80523b572ee8fd5abe6044696 /plugins/org.eclipse.sirius.diagram.sequence | |
parent | 2235cc2c71ba5d879ba05a6e89cf883fd822c6da (diff) | |
download | org.eclipse.sirius-09891bf1b590bba8532e6c96ec716e8cf26bdc38.tar.gz org.eclipse.sirius-09891bf1b590bba8532e6c96ec716e8cf26bdc38.tar.xz org.eclipse.sirius-09891bf1b590bba8532e6c96ec716e8cf26bdc38.zip |
[472057] Externalize translatable strings from org.eclipse.sirius.diagram.sequence
Bug: 472057
Change-Id: I5dbb660993f680b5239fe3c65fb92502f3da36e4
Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
Diffstat (limited to 'plugins/org.eclipse.sirius.diagram.sequence')
42 files changed, 608 insertions, 632 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.sequence/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.sirius.diagram.sequence/.settings/org.eclipse.jdt.core.prefs index fc8c7f3ddc..39e1d0d4d4 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.sirius.diagram.sequence/.settings/org.eclipse.jdt.core.prefs @@ -32,7 +32,7 @@ org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore diff --git a/plugins/org.eclipse.sirius.diagram.sequence/META-INF/MANIFEST.MF b/plugins/org.eclipse.sirius.diagram.sequence/META-INF/MANIFEST.MF index 79197351e8..66b00b5f38 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.sirius.diagram.sequence/META-INF/MANIFEST.MF @@ -6,10 +6,10 @@ Bundle-Version: 3.1.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin -Export-Package: org.eclipse.sirius.diagram.sequence;version="2.0.4", +Export-Package: org.eclipse.sirius.diagram.sequence;version="2.1.0", org.eclipse.sirius.diagram.sequence.business.internal;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.color;x-internal:=true;version="2.0.4", - org.eclipse.sirius.diagram.sequence.business.internal.elements;x-internal:=true;version="2.0.4", + org.eclipse.sirius.diagram.sequence.business.internal.elements;x-internal:=true;version="3.0.0", org.eclipse.sirius.diagram.sequence.business.internal.layout;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.layout.flag;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.layout.horizontal;x-internal:=true;version="2.0.4", @@ -17,9 +17,9 @@ Export-Package: org.eclipse.sirius.diagram.sequence;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.layout.vertical;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.metamodel;x-internal:=true;version="3.0.0", org.eclipse.sirius.diagram.sequence.business.internal.metamodel.description;x-internal:=true;version="2.0.4", - org.eclipse.sirius.diagram.sequence.business.internal.metamodel.description.tool;x-internal:=true;version="3.0.0", + org.eclipse.sirius.diagram.sequence.business.internal.metamodel.description.tool;x-internal:=true;version="3.1.0", org.eclipse.sirius.diagram.sequence.business.internal.metamodel.ordering;x-internal:=true;version="3.0.0", - org.eclipse.sirius.diagram.sequence.business.internal.operation;x-internal:=true;version="2.0.4", + org.eclipse.sirius.diagram.sequence.business.internal.operation;x-internal:=true;version="3.0.0", org.eclipse.sirius.diagram.sequence.business.internal.ordering;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.query;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.refresh;x-internal:=true;version="2.0.4", @@ -27,12 +27,12 @@ Export-Package: org.eclipse.sirius.diagram.sequence;version="2.0.4", org.eclipse.sirius.diagram.sequence.business.internal.util;x-internal:=true;version="2.0.4", org.eclipse.sirius.diagram.sequence.description;version="2.0.4", org.eclipse.sirius.diagram.sequence.description.impl;version="3.0.0", - org.eclipse.sirius.diagram.sequence.description.tool;version="2.0.4", - org.eclipse.sirius.diagram.sequence.description.tool.impl;version="3.0.0", + org.eclipse.sirius.diagram.sequence.description.tool;version="2.1.0", + org.eclipse.sirius.diagram.sequence.description.tool.impl;version="3.1.0", org.eclipse.sirius.diagram.sequence.description.tool.util;version="2.0.4", org.eclipse.sirius.diagram.sequence.description.util;version="2.0.4", org.eclipse.sirius.diagram.sequence.impl;version="2.0.4", - org.eclipse.sirius.diagram.sequence.internal.tool.command.builders;x-internal:=true;version="2.0.4", + org.eclipse.sirius.diagram.sequence.internal.tool.command.builders;x-internal:=true;version="2.1.0", org.eclipse.sirius.diagram.sequence.ordering;version="2.0.4", org.eclipse.sirius.diagram.sequence.ordering.impl;x-internal:=true;version="3.0.0", org.eclipse.sirius.diagram.sequence.ordering.util;version="2.0.4", @@ -56,6 +56,6 @@ Require-Bundle: org.eclipse.sirius.common;bundle-version="2.0.0", Eclipse-LazyStart: true Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Import-Package: org.eclipse.sirius.ext.base;version="2.0.0", +Import-Package: org.eclipse.sirius.ext.base;version="2.1.0", org.eclipse.sirius.ext.emf;version="2.0.0" Bundle-Activator: org.eclipse.sirius.diagram.sequence.SequenceDiagramPlugin$Implementation diff --git a/plugins/org.eclipse.sirius.diagram.sequence/plugin.properties b/plugins/org.eclipse.sirius.diagram.sequence/plugin.properties index c512a5e9d3..f53a3ea8a1 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/plugin.properties +++ b/plugins/org.eclipse.sirius.diagram.sequence/plugin.properties @@ -1,5 +1,5 @@ # ==================================================================== -# Copyright (c) 2007, 2008 THALES GLOBAL SERVICES +# Copyright (c) 2007, 2015 THALES GLOBAL SERVICES # 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 @@ -12,7 +12,7 @@ # ==================================================================== # To code developer: # Do NOT change the properties between this line and the -# "%%% END OF TRANSLATED PROPERTIES %%%" line. +# %%% END OF TRANSLATED PROPERTIES %%% line. # Make a new property name, append to the end of the file and change # the code to use the new property. # ==================================================================== @@ -23,3 +23,54 @@ pluginName = Sirius Sequence Diagrams Model providerName = Eclipse Modeling Project + +AbstractFrame_coverageProfilerTaskCategory = Sequence +AbstractFrame_coverageProfilerTaskName = Compute interaction use coverage +AbstractNodeEvent_nonAbstractNodeEventNode = The node does not represent an AbstractNodeEvent. +AbstractSequenceElement_invalidDiagram = The element is not part of a sequence diagram. +CombinedFragment_nonCombinedFragmentNode = The node does not represent a combined fragment. +EndOfLife_nonEndOfLifeNode = The node does not represent an end-of-life. +EndOfLifeMoveOperation_operationName = Move EOL +Execution_invalidExecutionContext = Invalid context for execution {0} +Execution_nonExecutionNode = The node does not represent an execution. +FixGraphicalOrderingOperation_operationName = Remove invalid ends from graphical ordering +FlagSequenceEventsCommand_commandName = Flag Sequence events +InstanceRole_nonInstanceRoleNode = The node does not represent an instance role. +InteractionUse_nonInsteractionUseNode = The node does not represent an interaction use. +InverseRelativeNodePositionOperation_operationName = Inverse Relative Node Position +ISequenceNodeMoveOperation_operationName = Move sequence node +Lifeline_nonLifelineNode = The node does not represent a lifeline. +LostMessage_nonLostMessageEndNode = The node does not represent an lost message end. +Message_invalidOperand = The source and target parent operand must be the same one or not existing. +Message_nonSequenceMessageEdge = The edge does not represent a sequence message. +Message_unsupportedMessageKind = Unsupported kind of message detected +ObservationPoint_nonObservationPointNode = The node does not represent an observation point. +Operand_invalidOperandContext = Invalid context for operand {0} +Operand_nonOperandNode = The node does not represent an operand. +Range_emptyRange = empty range +RefreshGraphicalOrderingOperation_operationName = Refresh graphical ordering +RefreshLayoutCommand_commandName = Refresh graphical layout +RefreshLayoutCommand_profilerTaskCategory = Sequence +RefreshLayoutCommand_profilerTaskName = Refresh layout +RefreshSemanticOrderingsOperation_operationName = Refresh semantic ordering +ReparentExecutionOperation_operationName = Reparent execution +SequenceDiagram_InternalError = Internal error. +SequenceDiagram_nonSequenceDiagramDiagram = The diagram does not represent a sequence diagram. +SequenceDiagramQuery_invalidTimePoint = timePoint must be strictly positive +SequenceDiagramQuery_nullSequenceDiagram = contextual SequenceDiagram can't be null +SequenceDiagramRepairParticipant_repairCommandName = Repair Sequence Diagram +SequenceFlagAndSyncCommand_commandName = PostRefreshFlag +SequenceGenericToolCommandBuilder_canonicalSyncTask = Synchronize the GMF model +SequenceGenericToolCommandBuilder_setEndBeforeTask = Add end before variable +SequenceGenericToolCommandBuilder_unsetEndBeforeTask = Unset end before variable +SetMessageRangeOperation_operationName = Set Sequence Message Vertical Range +SetVerticalRangeOperation_operationName = Set vertical range +ShiftDirectSubExecutionsOperation_operationName = Shift sub-executions' positions by {0} +State_invalidStateContext = Invalid context for state {0} +State_nonStaveNode = The node does not represent an state. +SynchronizeGraphicalOrderingOperation_operationName = Synchronize graphical ordering +SynchronizeInstanceRoleSemanticOrderingOperation_invalidInstanceRoleContext = Invalid context for InstanceRole {0} +SynchronizeInstanceRoleSemanticOrderingOperation_operationName = Synchronize semantic ordering +SynchronizeISequenceEventsSemanticOrderingOperation_invalidISequenceEventContext = Invalid context for ISequenceEvent {0} +SynchronizeISequenceEventsSemanticOrderingOperation_operationName = Synchronize semantic ordering +VerticalSpaceExpansion_operationName = Auto-expand of {0} diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/Messages.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/Messages.java new file mode 100644 index 0000000000..5bb8df89d3 --- /dev/null +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/Messages.java @@ -0,0 +1,184 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.diagram.sequence; + +import org.eclipse.sirius.ext.base.I18N; +import org.eclipse.sirius.ext.base.I18N.TranslatableMessage; + +/** + * Helper class to obtains translated strings. + * + * @author mporhel + */ +public final class Messages { + + static { + I18N.initializeMessages(Messages.class, SequenceDiagramPlugin.INSTANCE); + } + + // CHECKSTYLE:OFF + + @TranslatableMessage + public static String AbstractFrame_coverageProfilerTaskCategory; + + @TranslatableMessage + public static String AbstractFrame_coverageProfilerTaskName; + + @TranslatableMessage + public static String AbstractNodeEvent_nonAbstractNodeEventNode; + + @TranslatableMessage + public static String AbstractSequenceElement_invalidDiagram; + + @TranslatableMessage + public static String CombinedFragment_nonCombinedFragmentNode; + + @TranslatableMessage + public static String EndOfLife_nonEndOfLifeNode; + + @TranslatableMessage + public static String EndOfLifeMoveOperation_operationName; + + @TranslatableMessage + public static String Execution_invalidExecutionContext; + + @TranslatableMessage + public static String Execution_nonExecutionNode; + + @TranslatableMessage + public static String FixGraphicalOrderingOperation_operationName; + + @TranslatableMessage + public static String FlagSequenceEventsCommand_commandName; + + @TranslatableMessage + public static String InstanceRole_nonInstanceRoleNode; + + @TranslatableMessage + public static String InteractionUse_nonInsteractionUseNode; + + @TranslatableMessage + public static String InverseRelativeNodePositionOperation_operationName; + + @TranslatableMessage + public static String ISequenceNodeMoveOperation_operationName; + + @TranslatableMessage + public static String Lifeline_nonLifelineNode; + + @TranslatableMessage + public static String LostMessage_nonLostMessageEndNode; + + @TranslatableMessage + public static String Message_invalidOperand; + + @TranslatableMessage + public static String Message_nonSequenceMessageEdge; + + @TranslatableMessage + public static String Message_unsupportedMessageKind; + + @TranslatableMessage + public static String ObservationPoint_nonObservationPointNode; + + @TranslatableMessage + public static String Operand_invalidOperandContext; + + @TranslatableMessage + public static String Operand_nonOperandNode; + + @TranslatableMessage + public static String Range_emptyRange; + + @TranslatableMessage + public static String RefreshGraphicalOrderingOperation_operationName; + + @TranslatableMessage + public static String RefreshLayoutCommand_commandName; + + @TranslatableMessage + public static String RefreshLayoutCommand_profilerTaskCategory; + + @TranslatableMessage + public static String RefreshLayoutCommand_profilerTaskName; + + @TranslatableMessage + public static String RefreshSemanticOrderingsOperation_operationName; + + @TranslatableMessage + public static String ReparentExecutionOperation_operationName; + + @TranslatableMessage + public static String SequenceDiagram_InternalError; + + @TranslatableMessage + public static String SequenceDiagram_nonSequenceDiagramDiagram; + + @TranslatableMessage + public static String SequenceDiagramQuery_invalidTimePoint; + + @TranslatableMessage + public static String SequenceDiagramQuery_nullSequenceDiagram; + + @TranslatableMessage + public static String SequenceDiagramRepairParticipant_repairCommandName; + + @TranslatableMessage + public static String SequenceFlagAndSyncCommand_commandName; + + @TranslatableMessage + public static String SequenceGenericToolCommandBuilder_canonicalSyncTask; + + @TranslatableMessage + public static String SequenceGenericToolCommandBuilder_setEndBeforeTask; + + @TranslatableMessage + public static String SequenceGenericToolCommandBuilder_unsetEndBeforeTask; + + @TranslatableMessage + public static String SetMessageRangeOperation_operationName; + + @TranslatableMessage + public static String SetVerticalRangeOperation_operationName; + + @TranslatableMessage + public static String ShiftDirectSubExecutionsOperation_operationName; + + @TranslatableMessage + public static String State_invalidStateContext; + + @TranslatableMessage + public static String State_nonStaveNode; + + @TranslatableMessage + public static String SynchronizeGraphicalOrderingOperation_operationName; + + @TranslatableMessage + public static String SynchronizeInstanceRoleSemanticOrderingOperation_invalidInstanceRoleContext; + + @TranslatableMessage + public static String SynchronizeInstanceRoleSemanticOrderingOperation_operationName; + + @TranslatableMessage + public static String SynchronizeISequenceEventsSemanticOrderingOperation_invalidISequenceEventContext; + + @TranslatableMessage + public static String SynchronizeISequenceEventsSemanticOrderingOperation_operationName; + + @TranslatableMessage + public static String VerticalSpaceExpansion_operationName; + + // CHECKSTYLE:ON + + private Messages() { + // Prevents instanciation. + } +} diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractFrame.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractFrame.java index fdbedea35a..4078457c3b 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractFrame.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractFrame.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -25,6 +25,7 @@ import org.eclipse.sirius.common.tools.api.profiler.ProfilerTask; import org.eclipse.sirius.common.tools.api.util.StringUtil; import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.description.DiagramElementMapping; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.util.EventFinder; import org.eclipse.sirius.diagram.sequence.business.internal.util.ParentOperandFinder; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; @@ -47,7 +48,7 @@ import com.google.common.collect.Sets; */ public abstract class AbstractFrame extends AbstractSequenceNode implements ISequenceEvent { - private static final ProfilerTask COVERAGE = new ProfilerTask("Sequence", "Compute interaction use coverage", SiriusTasks.IMAGES_VIEWPOINT); + private static final ProfilerTask COVERAGE = new ProfilerTask(Messages.AbstractFrame_coverageProfilerTaskCategory, Messages.AbstractFrame_coverageProfilerTaskName, SiriusTasks.IMAGES_VIEWPOINT); /** * Constructor. @@ -73,6 +74,7 @@ public abstract class AbstractFrame extends AbstractSequenceNode implements ISeq * * @return proper logical bounds */ + @Override public Rectangle getProperLogicalBounds() { /* * Combined Fragments are directly on the diagram itself, so we can use @@ -160,69 +162,52 @@ public abstract class AbstractFrame extends AbstractSequenceNode implements ISeq * <p> * {@inheritDoc} */ + @Override public Option<Lifeline> getLifeline() { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getParentEvent() { return null; } - /** - * {@inheritDoc} - */ + @Override public boolean isLogicallyInstantaneous() { return false; } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return false; } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return false; } - /** - * {@inheritDoc} - */ + @Override public Range getOccupiedRange() { return Range.emptyRange(); } - /** - * {@inheritDoc} - */ + @Override public Range getValidSubEventsRange() { return Range.emptyRange(); } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getHierarchicalParentEvent() { return null; } - /** - * {@inheritDoc} - */ + @Override public Option<Operand> getParentOperand() { return new ParentOperandFinder(this).getParentOperand(); } - /** - * {@inheritDoc} - */ + @Override public Collection<ISequenceEvent> getEventsToMoveWith() { return getSubEvents(); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractNodeEvent.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractNodeEvent.java index 4f7e9eb594..f88f8dd798 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractNodeEvent.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractNodeEvent.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -15,12 +15,12 @@ import java.util.List; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.runtime.notation.Bounds; import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.query.SequenceNodeQuery; import org.eclipse.sirius.diagram.sequence.business.internal.util.ParentOperandFinder; import org.eclipse.sirius.diagram.sequence.business.internal.util.RangeSetter; @@ -42,6 +42,7 @@ public abstract class AbstractNodeEvent extends AbstractSequenceNode implements * execution reparent. */ public static final Predicate<ISequenceEvent> NO_REPARENTABLE_EVENTS = new Predicate<ISequenceEvent>() { + @Override public boolean apply(ISequenceEvent input) { return input instanceof AbstractFrame || input instanceof State || input instanceof Operand || input instanceof Message; } @@ -62,6 +63,7 @@ public abstract class AbstractNodeEvent extends AbstractSequenceNode implements private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return (AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getExecutionMapping()) || AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getStateMapping())) && !InstanceRole.viewpointElementPredicate().apply((DDiagramElement) input.eContainer()); @@ -76,7 +78,7 @@ public abstract class AbstractNodeEvent extends AbstractSequenceNode implements */ AbstractNodeEvent(Node node) { super(node); - Preconditions.checkArgument(AbstractNodeEvent.notationPredicate().apply(node), "The node does not represent an AbstractNodeEvent."); + Preconditions.checkArgument(AbstractNodeEvent.notationPredicate().apply(node), Messages.AbstractNodeEvent_nonAbstractNodeEventNode); } /** @@ -99,9 +101,7 @@ public abstract class AbstractNodeEvent extends AbstractSequenceNode implements return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getParentEvent() { ISequenceEvent parent = getHierarchicalParentEvent(); @@ -114,21 +114,6 @@ public abstract class AbstractNodeEvent extends AbstractSequenceNode implements } /** - * {@inheritDoc} - */ - public ISequenceEvent getHierarchicalParentEvent() { - EObject viewContainer = this.view.eContainer(); - if (viewContainer instanceof View) { - View parentView = (View) viewContainer; - Option<ISequenceEvent> parentElement = ISequenceElementAccessor.getISequenceEvent(parentView); - if (parentElement.some()) { - return parentElement.get(); - } - } - throw new RuntimeException("Invalid context for execution " + this); - } - - /** * Finds the deepest Operand container including the position if existing. * * @param verticalPosition @@ -157,41 +142,32 @@ public abstract class AbstractNodeEvent extends AbstractSequenceNode implements * * @return the deepest Operand container if existing */ + @Override public Option<Operand> getParentOperand() { return new ParentOperandFinder(this).getParentOperand(); } - /** - * {@inheritDoc} - */ + @Override public Range getVerticalRange() { return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ + @Override public boolean isLogicallyInstantaneous() { return false; } - /** - * {@inheritDoc} - */ + @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { return getParentLifeline(); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { if (getNotationNode().getLayoutConstraint() instanceof Bounds) { Bounds bounds = (Bounds) getNotationNode().getLayoutConstraint(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractSequenceElement.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractSequenceElement.java index 614dc4a4b1..5083249776 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractSequenceElement.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/AbstractSequenceElement.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.business.api.query.DiagramElementMappingQuery; import org.eclipse.sirius.diagram.description.DiagramElementMapping; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.ext.base.Option; import org.eclipse.sirius.ext.base.Options; import org.eclipse.sirius.viewpoint.DSemanticDecorator; @@ -72,34 +73,24 @@ public abstract class AbstractSequenceElement extends AdapterImpl implements ISe return result; } - /** - * {@inheritDoc} - */ + @Override public View getNotationView() { return view; } - /** - * {@inheritDoc} - */ + @Override public SequenceDiagram getDiagram() { Diagram gmfDiagram = view.getDiagram(); Option<SequenceDiagram> diagram = ISequenceElementAccessor.getSequenceDiagram(gmfDiagram); - assert diagram.some() : "The element is not part of a sequence diagram."; + assert diagram.some() : Messages.AbstractSequenceElement_invalidDiagram; return diagram.get(); } - /** - * {@inheritDoc} - */ @Override public int hashCode() { return view.hashCode(); } - /** - * {@inheritDoc} - */ @Override public boolean equals(Object obj) { boolean result = false; @@ -114,9 +105,7 @@ public abstract class AbstractSequenceElement extends AdapterImpl implements ISe return result; } - /** - * {@inheritDoc} - */ + @Override public Option<EObject> getSemanticTargetElement() { if (view.getElement() instanceof DSemanticDecorator) { return Options.newSome(((DSemanticDecorator) view.getElement()).getTarget()); @@ -144,9 +133,6 @@ public abstract class AbstractSequenceElement extends AdapterImpl implements ISe return Options.newNone(); } - /** - * {@inheritDoc} - */ @Override public String toString() { return "#<" + getClass().getSimpleName() + ": " + view.getElement() + ">"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/CombinedFragment.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/CombinedFragment.java index 2445ccb620..495cb80a94 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/CombinedFragment.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/CombinedFragment.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -17,6 +17,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.RangeHelper; import org.eclipse.sirius.diagram.sequence.business.internal.query.SequenceNodeQuery; import org.eclipse.sirius.diagram.sequence.business.internal.util.RangeSetter; @@ -58,6 +59,7 @@ public class CombinedFragment extends AbstractFrame { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getCombinedFragmentMapping()); } @@ -71,7 +73,7 @@ public class CombinedFragment extends AbstractFrame { */ CombinedFragment(Node node) { super(node); - Preconditions.checkArgument(CombinedFragment.notationPredicate().apply(node), "The node does not represent a combined fragment."); + Preconditions.checkArgument(CombinedFragment.notationPredicate().apply(node), Messages.CombinedFragment_nonCombinedFragmentNode); } /** @@ -107,25 +109,19 @@ public class CombinedFragment extends AbstractFrame { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ + @Override public Range getVerticalRange() { // Rectangle logicalBounds = getProperLogicalBounds(); // return new Range(logicalBounds.y, logicalBounds.bottom()); return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ + @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } - /** - * {@inheritDoc} - */ + @Override public List<ISequenceEvent> getSubEvents() { return Lists.newArrayList(Iterables.filter(getOperands(), ISequenceEvent.class)); } @@ -139,6 +135,7 @@ public class CombinedFragment extends AbstractFrame { List<Operand> result = Lists.newArrayList(); Predicate<View> compartementView = new Predicate<View>() { + @Override public boolean apply(View input) { return input.getType().equals(Integer.toString(COMPARTMENT_VISUAL_ID)); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/EndOfLife.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/EndOfLife.java index 0ca140ccaf..6e2ca812e9 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/EndOfLife.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/EndOfLife.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.ext.base.Option; import org.eclipse.sirius.ext.base.Options; @@ -50,6 +51,7 @@ public class EndOfLife extends AbstractSequenceNode { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getEndOfLifeMapping()); } @@ -63,7 +65,7 @@ public class EndOfLife extends AbstractSequenceNode { */ EndOfLife(Node node) { super(node); - Preconditions.checkArgument(EndOfLife.notationPredicate().apply(node), "The node does not represent an end-of-life."); + Preconditions.checkArgument(EndOfLife.notationPredicate().apply(node), Messages.EndOfLife_nonEndOfLifeNode); } /** @@ -86,9 +88,7 @@ public class EndOfLife extends AbstractSequenceNode { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { return getParentLifeline(); } @@ -109,9 +109,7 @@ public class EndOfLife extends AbstractSequenceNode { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { if (getNotationNode().getLayoutConstraint() instanceof Bounds) { Bounds bounds = (Bounds) getNotationNode().getLayoutConstraint(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Execution.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Execution.java index 41cedd51f3..4c78d1360c 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Execution.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Execution.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.elements; +import java.text.MessageFormat; import java.util.Collection; import java.util.List; import java.util.Set; @@ -20,6 +21,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.layout.LayoutConstants; import org.eclipse.sirius.diagram.sequence.business.internal.ordering.EventEndHelper; import org.eclipse.sirius.diagram.sequence.business.internal.query.ISequenceEventQuery; @@ -52,6 +54,7 @@ public class Execution extends AbstractNodeEvent { * execution reparent. */ public static final Predicate<ISequenceEvent> NO_REPARENTABLE_EVENTS = new Predicate<ISequenceEvent>() { + @Override public boolean apply(ISequenceEvent input) { return input instanceof AbstractFrame || input instanceof Operand || input instanceof Message; } @@ -69,6 +72,7 @@ public class Execution extends AbstractNodeEvent { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getExecutionMapping()) && !InstanceRole.viewpointElementPredicate().apply((DDiagramElement) input.eContainer()); @@ -83,7 +87,7 @@ public class Execution extends AbstractNodeEvent { */ Execution(Node node) { super(node); - Preconditions.checkArgument(Execution.notationPredicate().apply(node), "The node does not represent an execution."); + Preconditions.checkArgument(Execution.notationPredicate().apply(node), Messages.Execution_nonExecutionNode); } /** @@ -106,9 +110,6 @@ public class Execution extends AbstractNodeEvent { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ @Override public List<Message> getLinkedMessages() { List<Message> linkedMessages = Lists.newArrayList(); @@ -212,9 +213,6 @@ public class Execution extends AbstractNodeEvent { return startMessage.some() && startMessage.get().isReflective() && (!endMessage.some() || endMessage.get().isReflective()); } - /** - * {@inheritDoc} - */ @Override public ISequenceEvent getParentEvent() { ISequenceEvent parent = getHierarchicalParentEvent(); @@ -227,9 +225,6 @@ public class Execution extends AbstractNodeEvent { return parent; } - /** - * {@inheritDoc} - */ @Override public ISequenceEvent getHierarchicalParentEvent() { EObject viewContainer = this.view.eContainer(); @@ -240,7 +235,7 @@ public class Execution extends AbstractNodeEvent { return parentElement.get(); } } - throw new RuntimeException("Invalid context for execution " + this); + throw new RuntimeException(MessageFormat.format(Messages.Execution_invalidExecutionContext, this)); } /** @@ -279,16 +274,12 @@ public class Execution extends AbstractNodeEvent { return new ParentOperandFinder(this).getParentOperand(); } - /** - * {@inheritDoc} - */ + @Override public List<ISequenceEvent> getSubEvents() { return new SubEventsHelper(this).getSubEvents(); } - /** - * {@inheritDoc} - */ + @Override public Collection<ISequenceEvent> getEventsToMoveWith() { Set<ISequenceEvent> toMove = Sets.newLinkedHashSet(); List<ISequenceEvent> subEvents = getSubEvents(); @@ -328,55 +319,37 @@ public class Execution extends AbstractNodeEvent { return coveredExecutions; } - /** - * {@inheritDoc} - */ @Override public Range getVerticalRange() { return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ @Override public boolean isLogicallyInstantaneous() { return false; } - /** - * {@inheritDoc} - */ @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } - /** - * {@inheritDoc} - */ @Override public Option<Lifeline> getLifeline() { return getParentLifeline(); } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return new SubEventsHelper(this).canChildOccupy(child, range); } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return new SubEventsHelper(this).canChildOccupy(child, range, eventsToIgnore, lifelines); } - /** - * {@inheritDoc} - */ + @Override public Range getOccupiedRange() { return new ISequenceEventQuery(this).getOccupiedRange(); } @@ -387,6 +360,7 @@ public class Execution extends AbstractNodeEvent { * <p> * {@inheritDoc} */ + @Override public Range getValidSubEventsRange() { Range range = getVerticalRange(); if (range.width() > 2 * LayoutConstants.EXECUTION_CHILDREN_MARGIN) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InstanceRole.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InstanceRole.java index 75c3c06fa2..b8ef4831a6 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InstanceRole.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InstanceRole.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -20,6 +20,7 @@ import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.DNode; import org.eclipse.sirius.diagram.business.api.query.NodeStyleQuery; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.ext.base.Option; import org.eclipse.sirius.ext.base.Options; @@ -49,6 +50,7 @@ public class InstanceRole extends AbstractSequenceNode { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getInstanceRoleMapping()); } @@ -62,7 +64,7 @@ public class InstanceRole extends AbstractSequenceNode { */ InstanceRole(Node node) { super(node); - Preconditions.checkArgument(InstanceRole.notationPredicate().apply(node), "The node does not represent an instance role."); + Preconditions.checkArgument(InstanceRole.notationPredicate().apply(node), Messages.InstanceRole_nonInstanceRoleNode); } @@ -115,9 +117,7 @@ public class InstanceRole extends AbstractSequenceNode { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { for (View child : Iterables.filter(getNotationView().getChildren(), View.class)) { Option<Lifeline> lifeline = ISequenceElementAccessor.getLifeline(child); @@ -128,9 +128,7 @@ public class InstanceRole extends AbstractSequenceNode { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { if (getNotationNode().getLayoutConstraint() instanceof Bounds) { Bounds bounds = (Bounds) getNotationNode().getLayoutConstraint(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InteractionUse.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InteractionUse.java index 29603dee53..0b9b362653 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InteractionUse.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/InteractionUse.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.query.SequenceNodeQuery; import org.eclipse.sirius.diagram.sequence.business.internal.util.RangeSetter; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; @@ -47,6 +48,7 @@ public class InteractionUse extends AbstractFrame { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getInteractionUseMapping()); } @@ -61,7 +63,7 @@ public class InteractionUse extends AbstractFrame { */ InteractionUse(Node node) { super(node); - Preconditions.checkArgument(InteractionUse.notationPredicate().apply(node), "The node does not represent an interaction use."); + Preconditions.checkArgument(InteractionUse.notationPredicate().apply(node), Messages.InteractionUse_nonInsteractionUseNode); } /** @@ -84,38 +86,26 @@ public class InteractionUse extends AbstractFrame { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ + @Override public Range getVerticalRange() { return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ + @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } - /** - * {@inheritDoc} - */ + @Override public List<ISequenceEvent> getSubEvents() { return Collections.emptyList(); } - /** - * {@inheritDoc} - */ @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return false; } - /** - * {@inheritDoc} - */ @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return false; diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Lifeline.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Lifeline.java index 2f84b8dc2b..4255f0e87d 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Lifeline.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Lifeline.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -20,6 +20,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.layout.LayoutConstants; import org.eclipse.sirius.diagram.sequence.business.internal.query.ISequenceEventQuery; import org.eclipse.sirius.diagram.sequence.business.internal.query.SequenceNodeQuery; @@ -56,6 +57,7 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getExecutionMapping()) && InstanceRole.viewpointElementPredicate().apply((DDiagramElement) input.eContainer()); @@ -70,7 +72,7 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { */ Lifeline(Node node) { super(node); - Preconditions.checkArgument(Lifeline.notationPredicate().apply(node), "The node does not represent a lifeline."); + Preconditions.checkArgument(Lifeline.notationPredicate().apply(node), Messages.Lifeline_nonLifelineNode); } /** @@ -93,30 +95,21 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ public InstanceRole getInstanceRole() { return ISequenceElementAccessor.getInstanceRole((View) getNotationNode().eContainer()).get(); } - /** - * {@inheritDoc} - */ + @Override public Range getVerticalRange() { return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ + @Override public boolean isLogicallyInstantaneous() { return false; } - /** - * {@inheritDoc} - */ + @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } @@ -138,16 +131,12 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { return Options.newSome(this); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { if (getNotationNode().getLayoutConstraint() instanceof Bounds) { Bounds bounds = (Bounds) getNotationNode().getLayoutConstraint(); @@ -165,48 +154,37 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { * <p> * {@inheritDoc} */ + @Override public ISequenceEvent getParentEvent() { return null; } - /** - * {@inheritDoc} - */ + @Override public List<ISequenceEvent> getSubEvents() { return new SubEventsHelper(this).getSubEvents(); } - /** - * {@inheritDoc} - */ + @Override public Collection<ISequenceEvent> getEventsToMoveWith() { return getSubEvents(); } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return new SubEventsHelper(this).canChildOccupy(child, range); } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return new SubEventsHelper(this).canChildOccupy(child, range, eventsToIgnore, lifelines); } - /** - * {@inheritDoc} - */ + @Override public Range getOccupiedRange() { return new ISequenceEventQuery(this).getOccupiedRange(); } - /** - * {@inheritDoc} - */ + @Override public Range getValidSubEventsRange() { Range result = getVerticalRange(); if (result.width() > 2 * LayoutConstants.EXECUTION_CHILDREN_MARGIN) { @@ -274,9 +252,7 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Option<Operand> getParentOperand() { return getParentOperand(getVerticalRange()); } @@ -305,9 +281,7 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { return new ParentOperandFinder(this).getParentOperand(range); } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getHierarchicalParentEvent() { return null; } @@ -320,6 +294,7 @@ public class Lifeline extends AbstractSequenceNode implements ISequenceEvent { public Collection<InteractionUse> getAllCoveringInteractionUses() { Predicate<InteractionUse> interactionUseCoveringLifeline = new Predicate<InteractionUse>() { + @Override public boolean apply(InteractionUse input) { return input.computeCoveredLifelines().contains(Lifeline.this); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/LostMessageEnd.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/LostMessageEnd.java index e376b46181..c581688314 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/LostMessageEnd.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/LostMessageEnd.java @@ -20,6 +20,7 @@ import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.EdgeTarget; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.ext.base.Option; import org.eclipse.sirius.ext.base.Options; @@ -51,6 +52,7 @@ public class LostMessageEnd extends AbstractSequenceNode { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { boolean result = AbstractSequenceElement.isSequenceDiagramElement(input, org.eclipse.sirius.diagram.description.DescriptionPackage.eINSTANCE.getNodeMapping()); if (input instanceof EdgeTarget) { @@ -78,7 +80,7 @@ public class LostMessageEnd extends AbstractSequenceNode { */ LostMessageEnd(Node node) { super(node); - Preconditions.checkArgument(LostMessageEnd.notationPredicate().apply(node), "The node does not represent an lost message end."); + Preconditions.checkArgument(LostMessageEnd.notationPredicate().apply(node), Messages.LostMessage_nonLostMessageEndNode); } /** @@ -124,16 +126,12 @@ public class LostMessageEnd extends AbstractSequenceNode { return Options.newSome(msg); } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { if (getNotationNode().getLayoutConstraint() instanceof Bounds) { Bounds bounds = (Bounds) getNotationNode().getLayoutConstraint(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Message.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Message.java index 310f92fe4b..40dace762d 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Message.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Message.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -23,6 +23,7 @@ import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.DEdge; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.RangeHelper; import org.eclipse.sirius.diagram.sequence.business.internal.layout.LayoutConstants; import org.eclipse.sirius.diagram.sequence.business.internal.ordering.EventEndHelper; @@ -58,6 +59,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { * or target of a message reconnection. */ public static final Predicate<ISequenceEvent> NO_RECONNECTABLE_EVENTS = new Predicate<ISequenceEvent>() { + @Override public boolean apply(ISequenceEvent input) { return input instanceof AbstractFrame || input instanceof Operand || input instanceof State; } @@ -67,6 +69,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { * Function to get the Sirius DDiagramElement message kind. */ public static final Function<DEdge, Kind> VIEWPOINT_MESSAGE_KIND = new Function<DEdge, Kind>() { + @Override public Kind apply(DEdge from) { Kind result = null; if (AbstractSequenceElement.isSequenceDiagramElement(from, DescriptionPackage.eINSTANCE.getBasicMessageMapping())) { @@ -78,7 +81,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { } else if (AbstractSequenceElement.isSequenceDiagramElement(from, DescriptionPackage.eINSTANCE.getDestructionMessageMapping())) { result = Kind.DESTRUCTION; } - assert result != null : "Unsupported kind of message detected"; + assert result != null : Messages.Message_unsupportedMessageKind; return result; } }; @@ -119,6 +122,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getMessageMapping()); } @@ -132,7 +136,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { */ public Message(Edge edge) { super(edge); - Preconditions.checkArgument(Message.notationPredicate().apply(edge), "The edge does not represent a sequence message."); + Preconditions.checkArgument(Message.notationPredicate().apply(edge), Messages.Message_nonSequenceMessageEdge); } /** @@ -191,30 +195,22 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { return ISequenceElementAccessor.getISequenceNode(getNotationEdge().getTarget()).get(); } - /** - * {@inheritDoc} - */ + @Override public Range getVerticalRange() { return new SequenceMessageViewQuery(getNotationEdge()).getVerticalRange(); } - /** - * {@inheritDoc} - */ + @Override public boolean isLogicallyInstantaneous() { return !isReflective(); } - /** - * {@inheritDoc} - */ + @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { if (isReflective()) { return getSourceLifeline(); @@ -287,9 +283,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { return !Iterables.isEmpty(Iterables.filter(getDiagram().findEnds(this), CompoundEventEnd.class)); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { Range range = getVerticalRange(); @@ -331,20 +325,17 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { * <p> * {@inheritDoc} */ + @Override public List<ISequenceEvent> getSubEvents() { return Collections.emptyList(); } - /** - * {@inheritDoc} - */ + @Override public Collection<ISequenceEvent> getEventsToMoveWith() { return getSubEvents(); } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getParentEvent() { ISequenceNode sourceElement = getSourceElement(); if (sourceElement instanceof ISequenceEvent) { @@ -353,16 +344,12 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { return null; } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getHierarchicalParentEvent() { return null; } - /** - * {@inheritDoc} - */ + @Override public Range getOccupiedRange() { return new ISequenceEventQuery(this).getOccupiedRange(); } @@ -372,6 +359,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { * <p> * {@inheritDoc} */ + @Override public Range getValidSubEventsRange() { return Range.emptyRange(); } @@ -381,6 +369,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { * <p> * {@inheritDoc} */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return false; } @@ -390,13 +379,12 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { * <p> * {@inheritDoc} */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return false; } - /** - * {@inheritDoc} - */ + @Override public Option<Operand> getParentOperand() { Option<Lifeline> sourceLifeline = getSourceLifeline(); Option<Operand> sourceParentOperand = Options.newNone(); @@ -414,7 +402,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { boolean noOperand = !sourceParentOperand.some() && !targetParentOperand.some(); boolean lostEnd = sourceLifeline.some() && !targetLifeline.some() || !sourceLifeline.some() && targetLifeline.some(); boolean sameOperand = lostEnd || noOperand || sourceParentOperand.get().equals(targetParentOperand.get()); - Preconditions.checkArgument(noOperand || sameOperand, "The source and target parent operand must be the same one or not existing."); + Preconditions.checkArgument(noOperand || sameOperand, Messages.Message_invalidOperand); Option<Operand> parentOperand = sourceParentOperand; if (!parentOperand.some()) { @@ -444,6 +432,7 @@ public class Message extends AbstractSequenceElement implements ISequenceEvent { Collection<ISequenceEvent> events = getSurroundedSameLifelineEvents(); final Range range = getVerticalRange(); Predicate<ISequenceEvent> toConsider = new Predicate<ISequenceEvent>() { + @Override public boolean apply(ISequenceEvent input) { boolean toConsider = range.includes(input.getVerticalRange()); if (input instanceof Message) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/ObservationPoint.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/ObservationPoint.java index fca1072403..d3aa73f81f 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/ObservationPoint.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/ObservationPoint.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2012, 2015 THALES GLOBAL SERVICES 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 @@ -18,6 +18,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.description.DescriptionPackage; import org.eclipse.sirius.diagram.sequence.ordering.EventEnd; import org.eclipse.sirius.ext.base.Option; @@ -48,6 +49,7 @@ public class ObservationPoint extends AbstractSequenceNode { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getObservationPointMapping()); } @@ -61,7 +63,7 @@ public class ObservationPoint extends AbstractSequenceNode { */ ObservationPoint(Node node) { super(node); - Preconditions.checkArgument(ObservationPoint.notationPredicate().apply(node), "The node does not represent an observation point."); + Preconditions.checkArgument(ObservationPoint.notationPredicate().apply(node), Messages.ObservationPoint_nonObservationPointNode); } /** @@ -86,16 +88,12 @@ public class ObservationPoint extends AbstractSequenceNode { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ + @Override public Option<Lifeline> getLifeline() { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { if (getNotationNode().getLayoutConstraint() instanceof Bounds) { Bounds bounds = (Bounds) getNotationNode().getLayoutConstraint(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Operand.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Operand.java index d03fd82030..bd58e850d9 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Operand.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/Operand.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.elements; +import java.text.MessageFormat; import java.util.Collection; import java.util.List; @@ -20,6 +21,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.layout.LayoutConstants; import org.eclipse.sirius.diagram.sequence.business.internal.ordering.EventEndHelper; import org.eclipse.sirius.diagram.sequence.business.internal.query.ISequenceEventQuery; @@ -63,6 +65,7 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getOperandMapping()); } @@ -76,7 +79,7 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { */ Operand(Node node) { super(node); - Preconditions.checkArgument(Operand.notationPredicate().apply(node), "The node does not represent an operand."); + Preconditions.checkArgument(Operand.notationPredicate().apply(node), Messages.Operand_nonOperandNode); } /** @@ -115,13 +118,12 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { * <p> * {@inheritDoc} */ + @Override public Option<Lifeline> getLifeline() { return Options.newNone(); } - /** - * {@inheritDoc} - */ + @Override public Rectangle getProperLogicalBounds() { Rectangle cfBounds = getCombinedFragment().getProperLogicalBounds(); if (getNotationNode().getLayoutConstraint() instanceof Bounds) { @@ -132,53 +134,39 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { } } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getParentEvent() { return getCombinedFragment(); } - /** - * {@inheritDoc} - */ + @Override public ISequenceEvent getHierarchicalParentEvent() { return getCombinedFragment(); } - /** - * {@inheritDoc} - */ + @Override public List<ISequenceEvent> getSubEvents() { return new SubEventsHelper(this).getSubEvents(); } - /** - * {@inheritDoc} - */ + @Override public Collection<ISequenceEvent> getEventsToMoveWith() { return getSubEvents(); } - /** - * {@inheritDoc} - */ + @Override public Range getVerticalRange() { // Rectangle logicalBounds = getProperLogicalBounds(); // return new Range(logicalBounds.y, logicalBounds.bottom()); return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ + @Override public boolean isLogicallyInstantaneous() { return false; } - /** - * {@inheritDoc} - */ + @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } @@ -206,7 +194,7 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { } } } - throw new RuntimeException("Invalid context for operand " + this); + throw new RuntimeException(MessageFormat.format(Messages.Operand_invalidOperandContext, this)); } /** @@ -260,30 +248,22 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { return combinedFragment.getOperand(combinedFragment.getIndexOfOperand(this) - 1); } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return new SubEventsHelper(this).canChildOccupy(child, range); } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return new SubEventsHelper(this).canChildOccupy(child, range, eventsToIgnore, lifelines); } - /** - * {@inheritDoc} - */ + @Override public Range getOccupiedRange() { return new ISequenceEventQuery(this).getOccupiedRange(); } - /** - * {@inheritDoc} - */ + @Override public Range getValidSubEventsRange() { return getVerticalRange().shrinked(LayoutConstants.EXECUTION_CHILDREN_MARGIN); } @@ -318,9 +298,7 @@ public class Operand extends AbstractSequenceNode implements ISequenceEvent { } } - /** - * {@inheritDoc} - */ + @Override public Option<Operand> getParentOperand() { return getCombinedFragment().getParentOperand(); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/SequenceDiagram.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/SequenceDiagram.java index 4e9d85d0b6..22856147aa 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/SequenceDiagram.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/SequenceDiagram.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -25,6 +25,7 @@ import org.eclipse.gmf.runtime.notation.Edge; import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagram; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.RangeHelper; import org.eclipse.sirius.diagram.sequence.business.internal.ordering.EventEndHelper; @@ -49,14 +50,13 @@ import com.google.common.collect.Sets; */ public class SequenceDiagram extends AbstractSequenceElement { - private static final String INTERNAL_ERROR = "Internal error."; - /** * Predicate to check whether a GMF View represents a sequence diagram. */ private static enum NotationPredicate implements Predicate<View> { INSTANCE; + @Override public boolean apply(View input) { if (input instanceof Diagram) { EObject element = input.getElement(); @@ -75,6 +75,7 @@ public class SequenceDiagram extends AbstractSequenceElement { private static enum SiriusElementPredicate implements Predicate<DDiagram> { INSTANCE; + @Override public boolean apply(DDiagram input) { if (input == null) { return false; @@ -146,7 +147,7 @@ public class SequenceDiagram extends AbstractSequenceElement { */ SequenceDiagram(Diagram diagram) { super(diagram); - Preconditions.checkArgument(SequenceDiagram.notationPredicate().apply(diagram), "The diagram does not represent a sequence diagram."); + Preconditions.checkArgument(SequenceDiagram.notationPredicate().apply(diagram), Messages.SequenceDiagram_nonSequenceDiagramDiagram); } /** @@ -192,6 +193,7 @@ public class SequenceDiagram extends AbstractSequenceElement { public Set<Lifeline> getGraphicallyCoveredLifelines(final Rectangle area) { List<Lifeline> result = Lists.newArrayList(); Iterables.addAll(result, Iterables.filter(getAllLifelines(), new Predicate<Lifeline>() { + @Override public boolean apply(Lifeline input) { return input.getProperLogicalBounds().intersects(area) && input.getVerticalRange().includes(area.getTop().y); } @@ -207,6 +209,7 @@ public class SequenceDiagram extends AbstractSequenceElement { */ public List<InstanceRole> getSortedInstanceRole() { Function<InstanceRole, Integer> xLocation = new Function<InstanceRole, Integer>() { + @Override public Integer apply(InstanceRole from) { Rectangle bounds = from.getBounds(); return bounds.x; @@ -265,6 +268,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allLifelines = Lists.newArrayList(); Collection<InstanceRole> allInstanceRoles = getAllInstanceRoles(); Function<ISequenceNode, Lifeline> lifelineFunction = new Function<ISequenceNode, Lifeline>() { + @Override public Lifeline apply(ISequenceNode from) { return from.getLifeline().get(); } @@ -368,7 +372,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allMessages = Lists.newArrayList(); for (Edge edge : Iterables.filter(Iterables.filter(getNotationDiagram().getEdges(), Edge.class), Message.notationPredicate())) { Option<Message> message = ISequenceElementAccessor.getMessage(edge); - assert message.some() : INTERNAL_ERROR; + assert message.some() : Messages.SequenceDiagram_InternalError; allMessages.add(message.get()); } if (useCache) { @@ -406,7 +410,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allAbstractNodeEvents = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(AllContents.of(getNotationDiagram()), Node.class), AbstractNodeEvent.notationPredicate())) { Option<AbstractNodeEvent> exec = ISequenceElementAccessor.getAbstractNodeEvent(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; allAbstractNodeEvents.add(exec.get()); } if (useCache) { @@ -444,7 +448,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allExecutions = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(AllContents.of(getNotationDiagram()), Node.class), Execution.notationPredicate())) { Option<Execution> exec = ISequenceElementAccessor.getExecution(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; allExecutions.add(exec.get()); } if (useCache) { @@ -482,7 +486,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allStates = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(AllContents.of(getNotationDiagram()), Node.class), State.notationPredicate())) { Option<State> exec = ISequenceElementAccessor.getState(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; allStates.add(exec.get()); } if (useCache) { @@ -520,7 +524,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allFrames = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(getNotationDiagram().getChildren(), Node.class), AbstractFrame.notationPredicate())) { Option<ISequenceEvent> exec = ISequenceElementAccessor.getISequenceEvent(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; if (exec.get() instanceof AbstractFrame) { allFrames.add((AbstractFrame) exec.get()); } @@ -560,7 +564,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allInteractionUses = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(getNotationDiagram().getChildren(), Node.class), InteractionUse.notationPredicate())) { Option<InteractionUse> exec = ISequenceElementAccessor.getInteractionUse(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; allInteractionUses.add(exec.get()); } if (useCache) { @@ -598,7 +602,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allCombinedFragments = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(getNotationDiagram().getChildren(), Node.class), CombinedFragment.notationPredicate())) { Option<CombinedFragment> exec = ISequenceElementAccessor.getCombinedFragment(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; allCombinedFragments.add(exec.get()); } if (useCache) { @@ -636,7 +640,7 @@ public class SequenceDiagram extends AbstractSequenceElement { allOperands = Lists.newArrayList(); for (Node node : Iterables.filter(Iterables.filter(AllContents.of(getNotationDiagram()), Node.class), Operand.notationPredicate())) { Option<Operand> exec = ISequenceElementAccessor.getOperand(node); - assert exec.some() : INTERNAL_ERROR; + assert exec.some() : Messages.SequenceDiagram_InternalError; allOperands.add(exec.get()); } if (useCache) { @@ -714,9 +718,10 @@ public class SequenceDiagram extends AbstractSequenceElement { */ public Iterable<? extends ISequenceEvent> getAllDelimitedSequenceEvents() { Function<View, ? extends ISequenceEvent> getISE = new Function<View, ISequenceEvent>() { + @Override public ISequenceEvent apply(View from) { Option<ISequenceEvent> ise = ISequenceElementAccessor.getISequenceEvent(from); - assert ise.some() : INTERNAL_ERROR; + assert ise.some() : Messages.SequenceDiagram_InternalError; return ise.get(); } }; @@ -749,6 +754,7 @@ public class SequenceDiagram extends AbstractSequenceElement { * <p> * {@inheritDoc} */ + @Override public Option<Lifeline> getLifeline() { return Options.newNone(); } @@ -758,6 +764,7 @@ public class SequenceDiagram extends AbstractSequenceElement { * * @return the bounds of the diagram. */ + @Override public Rectangle getProperLogicalBounds() { return new Rectangle(0, 0, 0, 0); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/State.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/State.java index 8acd1bbb17..7958517c39 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/State.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/elements/State.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.elements; +import java.text.MessageFormat; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -19,6 +20,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DDiagramElement; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.ordering.EventEndHelper; import org.eclipse.sirius.diagram.sequence.business.internal.query.SequenceNodeQuery; import org.eclipse.sirius.diagram.sequence.business.internal.util.ParentOperandFinder; @@ -51,6 +53,7 @@ public class State extends AbstractNodeEvent { private static enum SiriusElementPredicate implements Predicate<DDiagramElement> { INSTANCE; + @Override public boolean apply(DDiagramElement input) { return AbstractSequenceElement.isSequenceDiagramElement(input, DescriptionPackage.eINSTANCE.getStateMapping()) && !InstanceRole.viewpointElementPredicate().apply((DDiagramElement) input.eContainer()); @@ -65,7 +68,7 @@ public class State extends AbstractNodeEvent { */ State(Node node) { super(node); - Preconditions.checkArgument(State.notationPredicate().apply(node), "The node does not represent an state."); + Preconditions.checkArgument(State.notationPredicate().apply(node), Messages.State_nonStaveNode); } /** @@ -88,30 +91,21 @@ public class State extends AbstractNodeEvent { return SiriusElementPredicate.INSTANCE; } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range) { return false; } - /** - * {@inheritDoc} - */ + @Override public boolean canChildOccupy(ISequenceEvent child, Range range, List<ISequenceEvent> eventsToIgnore, Collection<Lifeline> lifelines) { return false; } - /** - * {@inheritDoc} - */ + @Override public Collection<ISequenceEvent> getEventsToMoveWith() { return Collections.emptyList(); } - /** - * {@inheritDoc} - */ @Override public ISequenceEvent getHierarchicalParentEvent() { EObject viewContainer = this.view.eContainer(); @@ -122,19 +116,14 @@ public class State extends AbstractNodeEvent { return parentElement.get(); } } - throw new RuntimeException("Invalid context for state " + this); + throw new RuntimeException(MessageFormat.format(Messages.State_invalidStateContext, this)); } - /** - * {@inheritDoc} - */ + @Override public Range getOccupiedRange() { return Range.emptyRange(); } - /** - * {@inheritDoc} - */ @Override public ISequenceEvent getParentEvent() { ISequenceEvent parent = getHierarchicalParentEvent(); @@ -147,64 +136,42 @@ public class State extends AbstractNodeEvent { return parent; } - /** - * {@inheritDoc} - */ @Override public Option<Operand> getParentOperand() { return new ParentOperandFinder(this).getParentOperand(); } - /** - * {@inheritDoc} - */ + @Override public List<ISequenceEvent> getSubEvents() { return Collections.emptyList(); } - /** - * {@inheritDoc} - */ + @Override public Range getValidSubEventsRange() { return Range.emptyRange(); } - /** - * {@inheritDoc} - */ @Override public Range getVerticalRange() { return new SequenceNodeQuery(getNotationNode()).getVerticalRange(); } - /** - * {@inheritDoc} - */ @Override public boolean isLogicallyInstantaneous() { List<EventEnd> ends = EventEndHelper.findEndsFromSemanticOrdering(this); return ends.size() == 1 && EventEndHelper.PUNCTUAL_COMPOUND_EVENT_END.apply(ends.iterator().next()); } - /** - * {@inheritDoc} - */ @Override public void setVerticalRange(Range range) throws IllegalStateException { RangeSetter.setVerticalRange(this, range); } - /** - * {@inheritDoc} - */ @Override public Option<Lifeline> getLifeline() { return getParentLifeline(); } - /** - * {@inheritDoc} - */ @Override public List<Message> getLinkedMessages() { return Collections.emptyList(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/EndOfLifeMoveOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/EndOfLifeMoveOperation.java index 66d12eb050..5626b1fd6d 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/EndOfLifeMoveOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/EndOfLifeMoveOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.operation; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.RangeHelper; import org.eclipse.sirius.diagram.sequence.business.internal.elements.Lifeline; import org.eclipse.sirius.diagram.sequence.util.Range; @@ -37,14 +38,11 @@ public class EndOfLifeMoveOperation extends AbstractModelChangeOperation<Void> { * the rangeDeltaWidth. */ public EndOfLifeMoveOperation(Lifeline lifeline, int rangeDeltaWidth) { - super("Move EOL"); + super(Messages.EndOfLifeMoveOperation_operationName); this.lifeline = Preconditions.checkNotNull(lifeline); this.rangeDeltaWidth = rangeDeltaWidth; } - /** - * {@inheritDoc} - */ @Override public Void execute() { Range movedRange = RangeHelper.verticalRange(lifeline.getProperLogicalBounds()); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/FixGraphicalOrderingOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/FixGraphicalOrderingOperation.java index c0e8e2d2cc..8817924e18 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/FixGraphicalOrderingOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/FixGraphicalOrderingOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013 THALES GLOBAL SERVICES. + * Copyright (c) 2013, 2015 THALES GLOBAL SERVICES 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 @@ -12,6 +12,7 @@ package org.eclipse.sirius.diagram.sequence.business.internal.operation; import java.util.List; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.ordering.EventEnd; import org.eclipse.sirius.diagram.sequence.ordering.EventEndsOrdering; @@ -35,13 +36,10 @@ public final class FixGraphicalOrderingOperation extends AbstractModelChangeOper * the diagram whos graphical ordering to fix. */ public FixGraphicalOrderingOperation(SequenceDDiagram diagram) { - super("Remove invalid ends from graphical ordering"); + super(Messages.FixGraphicalOrderingOperation_operationName); this.diagram = diagram; } - /** - * {@inheritDoc} - */ @Override public Void execute() { EventEndsOrdering graphical = diagram.getGraphicalOrdering(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ISequenceNodeMoveOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ISequenceNodeMoveOperation.java index b389c205bb..9951807834 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ISequenceNodeMoveOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ISequenceNodeMoveOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -15,6 +15,7 @@ import java.util.Collection; import org.eclipse.gmf.runtime.notation.LayoutConstraint; import org.eclipse.gmf.runtime.notation.Location; import org.eclipse.gmf.runtime.notation.Node; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceNode; import org.eclipse.sirius.diagram.ui.business.internal.operation.AbstractModelChangeOperation; @@ -41,7 +42,7 @@ public class ISequenceNodeMoveOperation extends AbstractModelChangeOperation<Voi * the logical shift. */ public ISequenceNodeMoveOperation(ISequenceNode node, int logicalShift) { - super("Move sequence node"); + super(Messages.ISequenceNodeMoveOperation_operationName); this.seqNodes.add(Preconditions.checkNotNull(node)); this.logicalShift = logicalShift; } @@ -55,15 +56,12 @@ public class ISequenceNodeMoveOperation extends AbstractModelChangeOperation<Voi * the logical shift. */ public ISequenceNodeMoveOperation(Collection<ISequenceNode> nodes, int logicalShift) { - super("Move sequence node"); + super(Messages.ISequenceNodeMoveOperation_operationName); Preconditions.checkNotNull(nodes); this.seqNodes.addAll(nodes); this.logicalShift = logicalShift; } - /** - * {@inheritDoc} - */ @Override public Void execute() { for (ISequenceNode seqNode : seqNodes) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/InverseRelativeNodePositionOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/InverseRelativeNodePositionOperation.java index b1d29cbcd8..9f730d43be 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/InverseRelativeNodePositionOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/InverseRelativeNodePositionOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -12,6 +12,7 @@ package org.eclipse.sirius.diagram.sequence.business.internal.operation; import org.eclipse.gmf.runtime.notation.Location; import org.eclipse.gmf.runtime.notation.Node; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.ui.business.internal.operation.AbstractModelChangeOperation; import com.google.common.base.Preconditions; @@ -33,13 +34,10 @@ public class InverseRelativeNodePositionOperation extends AbstractModelChangeOpe * the node whose position to inverse. */ public InverseRelativeNodePositionOperation(Node node) { - super("Inverse Relative Node Position"); + super(Messages.InverseRelativeNodePositionOperation_operationName); this.node = Preconditions.checkNotNull(node); } - /** - * {@inheritDoc} - */ @Override public Void execute() { if (node.getLayoutConstraint() instanceof Location) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshGraphicalOrderingOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshGraphicalOrderingOperation.java index b77c607a5e..b5e219521d 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshGraphicalOrderingOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshGraphicalOrderingOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -14,6 +14,7 @@ import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutionException; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.VerticalPositionFunction; import org.eclipse.sirius.diagram.sequence.business.internal.elements.SequenceDiagram; @@ -53,13 +54,10 @@ public class RefreshGraphicalOrderingOperation extends AbstractModelChangeOperat * the diagram whose graphical ordering should be refreshed. */ public RefreshGraphicalOrderingOperation(SequenceDiagram sequenceDiagram) { - super("Refresh graphical ordering"); + super(Messages.RefreshGraphicalOrderingOperation_operationName); this.sequenceDiagram = sequenceDiagram.getSequenceDDiagram(); } - /** - * {@inheritDoc} - */ @Override public Boolean execute() { EventEndsOrdering graphicalOrdering = sequenceDiagram.getGraphicalOrdering(); @@ -89,6 +87,7 @@ public class RefreshGraphicalOrderingOperation extends AbstractModelChangeOperat private boolean refreshGlobalOrdering(EventEndsOrdering graphicalOrdering, VerticalPositionFunction verticalPosition) { final LoadingCache<EventEnd, Integer> positions = CacheBuilder.newBuilder().build(CacheLoader.from(verticalPosition)); Predicate<EventEnd> isValidEnd = new Predicate<EventEnd>() { + @Override public boolean apply(EventEnd input) { try { Integer pos = positions.get(input); @@ -113,9 +112,10 @@ public class RefreshGraphicalOrderingOperation extends AbstractModelChangeOperat } /** - * Returns all the event ends of the current Sequence diagram. + * Returns all the event ends of the current Sequence diagram. * - * The default implementation does the computation on each call, subclasses may override this method to change this behavior. + * The default implementation does the computation on each call, subclasses + * may override this method to change this behavior. * * @return an Iterable with all event ends. */ @@ -133,15 +133,12 @@ public class RefreshGraphicalOrderingOperation extends AbstractModelChangeOperat private static class CustomVerticalPositionFunction extends VerticalPositionFunction { /** - * {@inheritDoc} + * Constructor. */ public CustomVerticalPositionFunction(SequenceDDiagram diagram) { super(diagram); } - /** - * {@inheritDoc} - */ @Override public Integer apply(EventEnd end) { Integer customPos = super.apply(end); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshSemanticOrderingsOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshSemanticOrderingsOperation.java index 1a48ea9e1e..534dee793b 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshSemanticOrderingsOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/RefreshSemanticOrderingsOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -23,6 +23,7 @@ import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter; import org.eclipse.sirius.common.tools.api.util.StringUtil; import org.eclipse.sirius.diagram.DNode; import org.eclipse.sirius.diagram.description.DiagramDescription; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.elements.InstanceRole; import org.eclipse.sirius.diagram.sequence.business.internal.ordering.RefreshOrderingHelper; @@ -67,13 +68,10 @@ public class RefreshSemanticOrderingsOperation extends AbstractModelChangeOperat * the diagram whose semantic ordering should be refreshed. */ public RefreshSemanticOrderingsOperation(SequenceDDiagram diagram) { - super("Refresh semantic ordering"); + super(Messages.RefreshSemanticOrderingsOperation_operationName); this.sequenceDDiagram = Preconditions.checkNotNull(diagram); } - /** - * {@inheritDoc} - */ @Override public Boolean execute() { boolean changed = false; @@ -117,6 +115,7 @@ public class RefreshSemanticOrderingsOperation extends AbstractModelChangeOperat } Iterable<EObject> semanticEnds = Iterables.transform(allEnds, new Function<EventEnd, EObject>() { + @Override public EObject apply(EventEnd from) { return from.getSemanticEnd(); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ReparentExecutionOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ReparentExecutionOperation.java index c24242f5e5..3e04546b5c 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ReparentExecutionOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ReparentExecutionOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -15,6 +15,7 @@ import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.AbstractDNode; import org.eclipse.sirius.diagram.DNode; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.AbstractNodeEvent; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent; import org.eclipse.sirius.diagram.ui.business.internal.operation.AbstractModelChangeOperation; @@ -41,16 +42,13 @@ public class ReparentExecutionOperation extends AbstractModelChangeOperation<Voi * the new parent event of the execution. */ public ReparentExecutionOperation(AbstractNodeEvent execution, ISequenceEvent finalParent) { - super("Reparent execution"); + super(Messages.ReparentExecutionOperation_operationName); this.execution = Preconditions.checkNotNull(execution); this.finalParent = Preconditions.checkNotNull(finalParent); Preconditions.checkArgument(execution.getNotationView().getElement() instanceof DNode); Preconditions.checkArgument(finalParent.getNotationView().getElement() instanceof AbstractDNode); } - /** - * {@inheritDoc} - */ @Override public Void execute() { DNode thisSem = (DNode) execution.getNotationView().getElement(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetMessageRangeOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetMessageRangeOperation.java index 9b85c9c6da..b53c25eb3a 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetMessageRangeOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetMessageRangeOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -15,6 +15,7 @@ import org.eclipse.gmf.runtime.notation.Edge; import org.eclipse.gmf.runtime.notation.View; import org.eclipse.sirius.diagram.DEdge; import org.eclipse.sirius.diagram.EdgeTarget; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.util.Range; import org.eclipse.sirius.diagram.ui.business.internal.operation.AbstractModelChangeOperation; @@ -27,8 +28,6 @@ import com.google.common.base.Objects; */ public class SetMessageRangeOperation extends AbstractModelChangeOperation<Void> { - private static final String LABEL = "Set Sequence Message Vertical Range"; - private Edge message; private final Range range; @@ -64,7 +63,7 @@ public class SetMessageRangeOperation extends AbstractModelChangeOperation<Void> * . */ public SetMessageRangeOperation(Edge message, Range range, boolean copyEdge) { - super(LABEL); + super(Messages.SetMessageRangeOperation_operationName); this.message = message; this.range = range; } @@ -95,9 +94,6 @@ public class SetMessageRangeOperation extends AbstractModelChangeOperation<Void> this.targetBounds = tgtBounds.getCopy(); } - /** - * {@inheritDoc} - */ @Override public Void execute() { if (message.getElement() != null && message.getElement().eContainer() != null) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetVerticalRangeOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetVerticalRangeOperation.java index f37b029828..7e3092d674 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetVerticalRangeOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SetVerticalRangeOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.operation; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent; import org.eclipse.sirius.diagram.sequence.util.Range; import org.eclipse.sirius.diagram.ui.business.internal.operation.AbstractModelChangeOperation; @@ -35,15 +36,12 @@ public class SetVerticalRangeOperation extends AbstractModelChangeOperation<Void * the new vertical range for the event. */ public SetVerticalRangeOperation(ISequenceEvent ise, Range newRange) { - super("Set vertical range"); + super(Messages.SetVerticalRangeOperation_operationName); this.ise = Preconditions.checkNotNull(ise); this.newRange = Preconditions.checkNotNull(newRange); Preconditions.checkArgument(!newRange.isEmpty()); } - /** - * {@inheritDoc} - */ @Override public Void execute() { if (ise.getSemanticTargetElement().some()) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ShiftDirectSubExecutionsOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ShiftDirectSubExecutionsOperation.java index 18eb22cf2a..f0deb26a98 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ShiftDirectSubExecutionsOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/ShiftDirectSubExecutionsOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,7 +10,10 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.operation; +import java.text.MessageFormat; + import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.AbstractNodeEvent; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent; @@ -45,14 +48,11 @@ public class ShiftDirectSubExecutionsOperation extends AbstractModelChangeOperat * space). */ public ShiftDirectSubExecutionsOperation(ISequenceEvent parent, int deltaY) { - super("Shift sub-executions' positions by " + deltaY); + super(MessageFormat.format(Messages.ShiftDirectSubExecutionsOperation_operationName, deltaY)); this.parent = Preconditions.checkNotNull(parent); this.deltaY = deltaY; } - /** - * {@inheritDoc} - */ @Override public Void execute() { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeGraphicalOrderingOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeGraphicalOrderingOperation.java index c031147cbf..9e25db2c58 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeGraphicalOrderingOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeGraphicalOrderingOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -11,6 +11,7 @@ package org.eclipse.sirius.diagram.sequence.business.internal.operation; import org.eclipse.gmf.runtime.notation.Diagram; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.elements.SequenceDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.layout.SequenceLayout; @@ -45,14 +46,11 @@ public class SynchronizeGraphicalOrderingOperation extends AbstractModelChangeOp * if <code>true</code> the diagram will be packed */ public SynchronizeGraphicalOrderingOperation(Diagram sequenceDiagram, boolean pack) { - super("Synchronize graphical ordering"); + super(Messages.SynchronizeGraphicalOrderingOperation_operationName); this.sequenceDiagram = Preconditions.checkNotNull(sequenceDiagram); this.pack = pack; } - /** - * {@inheritDoc} - */ @Override public Boolean execute() { boolean result = false; diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeISequenceEventsSemanticOrderingOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeISequenceEventsSemanticOrderingOperation.java index ea8d42b789..8ab235cf0c 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeISequenceEventsSemanticOrderingOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeISequenceEventsSemanticOrderingOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2013 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.operation; +import java.text.MessageFormat; import java.util.Collection; import java.util.HashSet; import java.util.List; @@ -23,6 +24,7 @@ import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.business.api.componentization.DiagramComponentizationManager; import org.eclipse.sirius.diagram.business.api.query.DiagramElementMappingQuery; import org.eclipse.sirius.diagram.description.DiagramElementMapping; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.elements.AbstractNodeEvent; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElement; @@ -62,11 +64,6 @@ import com.google.common.collect.Sets; * @author pcdavid, smonnier */ public class SynchronizeISequenceEventsSemanticOrderingOperation extends AbstractModelChangeOperation<Void> { - /** - * The name of the command. - */ - public static final String COMMAND_NAME = "Synchronize semantic ordering"; - private static final boolean STARTING_END = true; private static final boolean FINISHING_END = false; @@ -90,7 +87,7 @@ public class SynchronizeISequenceEventsSemanticOrderingOperation extends Abstrac * the event to move to its new location in the semantic order. */ public SynchronizeISequenceEventsSemanticOrderingOperation(ISequenceEvent event) { - super("Synchronize semantic ordering"); + super(Messages.SynchronizeISequenceEventsSemanticOrderingOperation_operationName); this.event = Preconditions.checkNotNull(event); this.diagram = event.getDiagram(); this.sequenceDiagram = this.diagram.getSequenceDDiagram(); @@ -110,9 +107,6 @@ public class SynchronizeISequenceEventsSemanticOrderingOperation extends Abstrac this.selection.addAll(selection); } - /** - * {@inheritDoc} - */ @Override public Void execute() { if (event instanceof AbstractNodeEvent && event.getParentEvent() == null) { @@ -198,12 +192,13 @@ public class SynchronizeISequenceEventsSemanticOrderingOperation extends Abstrac if (element instanceof DDiagramElement) { return (DDiagramElement) element; } - throw new RuntimeException("Invalid context for ISequenceEvent " + eventToUpdate); + throw new RuntimeException(MessageFormat.format(Messages.SynchronizeISequenceEventsSemanticOrderingOperation_invalidISequenceEventContext, eventToUpdate)); } private List<EventEnd> getCompoundEnds(ISequenceEvent eventToUpdate, List<EventEnd> ends) { List<ISequenceEvent> compoundEvents = EventEndHelper.getCompoundEvents(eventToUpdate); Predicate<ISequenceEvent> isLogicallyInstantaneousNonReorderedEvent = new Predicate<ISequenceEvent>() { + @Override public boolean apply(ISequenceEvent input) { return input.isLogicallyInstantaneous() && !reordered.contains(input); }; @@ -267,6 +262,7 @@ public class SynchronizeISequenceEventsSemanticOrderingOperation extends Abstrac final Iterable<ISequenceEvent> movedElements = Iterables.filter(allElementsToReorder, Predicates.not(Predicates.in(reordered))); final Set<EObject> semanticLinked = Sets.newHashSet(Iterables.filter(Iterables.transform(movedElements, ISequenceElement.SEMANTIC_TARGET), Predicates.notNull())); final Predicate<EObject> isLinkedSubEventEnd = new Predicate<EObject>() { + @Override public boolean apply(EObject input) { return semanticLinked.contains(input); } @@ -275,12 +271,14 @@ public class SynchronizeISequenceEventsSemanticOrderingOperation extends Abstrac final Set<EObject> semanticDescendants = Sets.newHashSet(Iterables.filter(Iterables.transform(new ISequenceEventQuery(ise).getAllDescendants(), ISequenceElement.SEMANTIC_TARGET), Predicates.notNull())); final Predicate<EObject> isSemanticSubEventEnd = new Predicate<EObject>() { + @Override public boolean apply(EObject input) { return semanticDescendants.contains(input); } }; Predicate<EventEnd> toIgnore = new Predicate<EventEnd>() { + @Override public boolean apply(EventEnd input) { return !iseEnds.contains(input) && (Iterables.any(EventEndHelper.getSemanticEvents(input), Predicates.or(isSemanticSubEventEnd, isLinkedSubEventEnd)) || compoundEnds.contains(input)); } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeInstanceRoleSemanticOrderingOperation.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeInstanceRoleSemanticOrderingOperation.java index 3f64475343..83e458464a 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeInstanceRoleSemanticOrderingOperation.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/SynchronizeInstanceRoleSemanticOrderingOperation.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2011 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.operation; +import java.text.MessageFormat; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -21,6 +22,7 @@ import org.eclipse.sirius.business.api.session.Session; import org.eclipse.sirius.business.api.session.SessionManager; import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.business.api.componentization.DiagramComponentizationManager; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElement; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor; @@ -52,11 +54,6 @@ import com.google.common.collect.Sets; * @author pcdavid, smonnier */ public class SynchronizeInstanceRoleSemanticOrderingOperation extends AbstractModelChangeOperation<Void> { - /** - * The name of the command. - */ - public static final String COMMAND_NAME = "Synchronize semantic ordering"; - private final SequenceDDiagram sequenceDiagram; private final SequenceDiagram diagram; @@ -75,7 +72,7 @@ public class SynchronizeInstanceRoleSemanticOrderingOperation extends AbstractMo * order. */ public SynchronizeInstanceRoleSemanticOrderingOperation(InstanceRole instanceRole) { - super(COMMAND_NAME); + super(Messages.SynchronizeInstanceRoleSemanticOrderingOperation_operationName); this.instanceRole = Preconditions.checkNotNull(instanceRole); this.diagram = instanceRole.getDiagram(); this.sequenceDiagram = this.diagram.getSequenceDDiagram(); @@ -96,9 +93,6 @@ public class SynchronizeInstanceRoleSemanticOrderingOperation extends AbstractMo this.selection.addAll(selection); } - /** - * {@inheritDoc} - */ @Override public Void execute() { updateSemanticPositions(); @@ -157,7 +151,7 @@ public class SynchronizeInstanceRoleSemanticOrderingOperation extends AbstractMo if (element instanceof DDiagramElement) { return (DDiagramElement) element; } - throw new RuntimeException("Invalid context for InstanceRole " + instanceRoleToUpdate); + throw new RuntimeException(MessageFormat.format(Messages.SynchronizeInstanceRoleSemanticOrderingOperation_invalidInstanceRoleContext, instanceRoleToUpdate)); } private EObject findEndPredecessor(EObject semanticElement, List<EObject> semanticInstanceRoles) { diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/VerticalSpaceExpansion.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/VerticalSpaceExpansion.java index ba35c5ea73..58a100a70f 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/VerticalSpaceExpansion.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/operation/VerticalSpaceExpansion.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,7 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.business.internal.operation; +import java.text.MessageFormat; import java.util.Collection; import java.util.List; import java.util.Map; @@ -20,6 +21,7 @@ import org.eclipse.gmf.runtime.notation.LayoutConstraint; import org.eclipse.gmf.runtime.notation.Location; import org.eclipse.gmf.runtime.notation.Node; import org.eclipse.gmf.runtime.notation.Size; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.AbstractNodeEvent; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceNode; @@ -81,7 +83,7 @@ public class VerticalSpaceExpansion extends AbstractModelChangeOperation<Void> { * the new space. */ public VerticalSpaceExpansion(SequenceDiagram diagram, Range shift, Integer move, Collection<ISequenceEvent> eventsToIgnore) { - super("Auto-expand of " + shift); + super(MessageFormat.format(Messages.VerticalSpaceExpansion_operationName, shift)); this.sequenceDiagram = diagram; this.move = move; this.insertionPoint = shift.getLowerBound(); @@ -95,9 +97,6 @@ public class VerticalSpaceExpansion extends AbstractModelChangeOperation<Void> { } } - /** - * {@inheritDoc} - */ @Override public Void execute() { categorizeSequenceNodes(findAllSequenceNodesToConsider()); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/query/SequenceDiagramQuery.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/query/SequenceDiagramQuery.java index 45072ebc7a..76e08ca27e 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/query/SequenceDiagramQuery.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/query/SequenceDiagramQuery.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -15,6 +15,7 @@ import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.RangeHelper; import org.eclipse.sirius.diagram.sequence.business.internal.elements.AbstractFrame; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceEvent; @@ -39,10 +40,6 @@ import com.google.common.collect.Iterables; */ public class SequenceDiagramQuery { - private static final String ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM = "contextual SequenceDiagram can't be null"; - - private static final String ASSERT_MESSAGE_ON_TIME_POINT = "timePoint must be strictly positive"; - private SequenceDiagram sequenceDiagram; /** @@ -66,8 +63,8 @@ public class SequenceDiagramQuery { * range from lower to upper */ public Set<ISequenceEvent> getAllSequenceEventsLowerThan(int timePoint) { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); - Preconditions.checkArgument(timePoint > 0, ASSERT_MESSAGE_ON_TIME_POINT); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); + Preconditions.checkArgument(timePoint > 0, Messages.SequenceDiagramQuery_invalidTimePoint); Set<ISequenceEvent> sequenceEventLowers = new TreeSet<ISequenceEvent>(new RangeComparator()); for (ISequenceEvent sequenceEvent : getAllSequenceEvents()) { @@ -91,8 +88,8 @@ public class SequenceDiagramQuery { * range, sorted by range from lower to upper */ public Set<ISequenceEvent> getAllSequenceEventsOn(int timePoint) { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); - Preconditions.checkArgument(timePoint > 0, ASSERT_MESSAGE_ON_TIME_POINT); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); + Preconditions.checkArgument(timePoint > 0, Messages.SequenceDiagramQuery_invalidTimePoint); Set<ISequenceEvent> sequenceEventOns = new TreeSet<ISequenceEvent>(new RangeComparator()); for (ISequenceEvent sequenceEvent : getAllSequenceEvents()) { @@ -115,8 +112,8 @@ public class SequenceDiagramQuery { * range from lower to upper */ public Set<ISequenceEvent> getAllSequenceEventsUpperThan(int timePoint) { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); - Preconditions.checkArgument(timePoint > 0, ASSERT_MESSAGE_ON_TIME_POINT); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); + Preconditions.checkArgument(timePoint > 0, Messages.SequenceDiagramQuery_invalidTimePoint); Set<ISequenceEvent> sequenceEventUppers = new TreeSet<ISequenceEvent>(new RangeComparator()); for (ISequenceEvent sequenceEvent : getAllSequenceEvents()) { @@ -135,7 +132,7 @@ public class SequenceDiagramQuery { * {@link SequenceDiagram}, sorted by range from lower to upper */ public Set<ISequenceEvent> getAllSequenceEvents() { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); Set<ISequenceEvent> allSequenceEvents = new TreeSet<ISequenceEvent>(new RangeComparator()); allSequenceEvents.addAll(sequenceDiagram.getAllLifelines()); @@ -219,8 +216,8 @@ public class SequenceDiagramQuery { * from lower to upper */ public Set<ISequenceNode> getAllSequenceNodesLowerThan(int timePoint) { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); - Preconditions.checkArgument(timePoint > 0, ASSERT_MESSAGE_ON_TIME_POINT); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); + Preconditions.checkArgument(timePoint > 0, Messages.SequenceDiagramQuery_invalidTimePoint); Set<ISequenceNode> sequenceNodeLowers = new TreeSet<ISequenceNode>(new RangeComparator()); for (ISequenceNode sequenceNode : getAllSequenceNodes()) { @@ -244,8 +241,8 @@ public class SequenceDiagramQuery { * sorted by range from lower to upper */ public Set<ISequenceNode> getAllSequenceNodesOn(int timePoint) { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); - Preconditions.checkArgument(timePoint > 0, "timePoint must be strictly positive"); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); + Preconditions.checkArgument(timePoint > 0, Messages.SequenceDiagramQuery_invalidTimePoint); Set<ISequenceNode> sequenceNodeUnders = new TreeSet<ISequenceNode>(new RangeComparator()); for (ISequenceNode sequenceNode : getAllSequenceNodes()) { @@ -268,8 +265,8 @@ public class SequenceDiagramQuery { * from lower to upper */ public Set<ISequenceNode> getAllSequenceNodesUpperThan(int timePoint) { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); - Preconditions.checkArgument(timePoint > 0, ASSERT_MESSAGE_ON_TIME_POINT); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); + Preconditions.checkArgument(timePoint > 0, Messages.SequenceDiagramQuery_invalidTimePoint); Set<ISequenceNode> sequenceNodeUnders = new TreeSet<ISequenceNode>(new RangeComparator()); for (ISequenceNode sequenceNode : getAllSequenceNodes()) { @@ -288,7 +285,7 @@ public class SequenceDiagramQuery { * {@link SequenceDiagram}, sorted by range from lower to upper */ public Set<ISequenceNode> getAllSequenceNodes() { - Preconditions.checkNotNull(sequenceDiagram, "contextual SequenceDiagram can't be null"); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); Set<ISequenceNode> allSequenceNodes = new TreeSet<ISequenceNode>(new RangeComparator()); allSequenceNodes.addAll(sequenceDiagram.getAllInstanceRoles()); @@ -311,7 +308,7 @@ public class SequenceDiagramQuery { * {@link Lifeline}, 0 else */ public int getInitialTime() { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); int initialTime = 0; for (Lifeline lifeline : sequenceDiagram.getAllLifelines()) { int initialTimeCandidate = lifeline.getVerticalRange().getLowerBound(); @@ -331,7 +328,7 @@ public class SequenceDiagramQuery { * {@link Lifeline}, 0 else */ public int getFinalTime() { - Preconditions.checkNotNull(sequenceDiagram, ASSERT_MESSAGE_ON_SEQUENCE_DIAGRAM); + Preconditions.checkNotNull(sequenceDiagram, Messages.SequenceDiagramQuery_nullSequenceDiagram); int finalTime = 0; if (!sequenceDiagram.getAllLifelines().isEmpty()) { Lifeline lifeline = sequenceDiagram.getAllLifelines().iterator().next(); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/refresh/RefreshLayoutCommand.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/refresh/RefreshLayoutCommand.java index 929a716f9c..6cc9f3cd68 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/refresh/RefreshLayoutCommand.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/business/internal/refresh/RefreshLayoutCommand.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 THALES GLOBAL SERVICES. + * Copyright (c) 2011, 2015 THALES GLOBAL SERVICES 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 @@ -15,6 +15,7 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.gmf.runtime.notation.Diagram; import org.eclipse.sirius.common.tools.DslCommonPlugin; import org.eclipse.sirius.common.tools.api.profiler.ProfilerTask; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor; import org.eclipse.sirius.diagram.sequence.business.internal.elements.SequenceDiagram; @@ -33,7 +34,7 @@ import org.eclipse.sirius.ui.tools.api.profiler.SiriusTasks; */ public class RefreshLayoutCommand extends RecordingCommand { - private static final ProfilerTask REFRESH_LAYOUT = new ProfilerTask("Sequence", "Refresh layout", SiriusTasks.IMAGES_VIEWPOINT); + private static final ProfilerTask REFRESH_LAYOUT = new ProfilerTask( Messages.RefreshLayoutCommand_profilerTaskCategory, Messages.RefreshLayoutCommand_profilerTaskName, SiriusTasks.IMAGES_VIEWPOINT); private Diagram diagram; @@ -52,7 +53,7 @@ public class RefreshLayoutCommand extends RecordingCommand { * {@inheritDoc} */ public RefreshLayoutCommand(TransactionalEditingDomain domain, Diagram diagram, boolean refreshDiagram) { - super(domain, "Refresh graphical layout"); + super(domain, Messages.RefreshLayoutCommand_commandName); this.diagram = diagram; this.refreshDiagram = refreshDiagram; } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceCreatedEventsFlaggingSiriusCommand.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceCreatedEventsFlaggingSiriusCommand.java index 00dc1ce3a9..a85338f273 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceCreatedEventsFlaggingSiriusCommand.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceCreatedEventsFlaggingSiriusCommand.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2011, 2015 THALES GLOBAL SERVICES 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 @@ -29,6 +29,7 @@ import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.DiagramFactory; import org.eclipse.sirius.diagram.business.api.refresh.CanonicalSynchronizer; import org.eclipse.sirius.diagram.business.api.refresh.CanonicalSynchronizerFactory; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.LostMessageEnd; import org.eclipse.sirius.diagram.sequence.business.internal.layout.LayoutConstants; import org.eclipse.sirius.ext.base.Option; @@ -85,9 +86,6 @@ public class SequenceCreatedEventsFlaggingSiriusCommand extends SiriusCommand { return result; } - /** - * {@inheritDoc} - */ @Override protected void doExecute() { super.doExecute(); @@ -213,6 +211,7 @@ public class SequenceCreatedEventsFlaggingSiriusCommand extends SiriusCommand { this.createdObjects.addAll(createdObjects); } + @Override public Command getPostCommandToExecute(TransactionalEditingDomain domain, Collection<DRepresentation> refreshedRepresentations) { Command result = null; // Flag new elements of the clicked with tool diagram -> diagram @@ -243,15 +242,12 @@ public class SequenceCreatedEventsFlaggingSiriusCommand extends SiriusCommand { private final Diagram gmfDiag; public SequenceFlagAndSyncCommand(TransactionalEditingDomain domain, Diagram gmfDiag, Collection<EObject> mainSemantics, Collection<EObject> createdObjects) { - super(domain, "PostRefreshFlag"); + super(domain, Messages.SequenceFlagAndSyncCommand_commandName); this.gmfDiag = gmfDiag; this.mainSemantics.addAll(mainSemantics); this.createdObjects.addAll(createdObjects); } - /** - * {@inheritDoc} - */ @Override protected void doExecute() { Collection<DDiagramElement> flagPostRefresh = flagPostRefresh(mainSemantics, createdObjects); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceGenericToolCommandBuilder.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceGenericToolCommandBuilder.java index b02f8834f2..1c7fd660b2 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceGenericToolCommandBuilder.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceGenericToolCommandBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010, 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -20,6 +20,7 @@ import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.business.api.query.EObjectQuery; import org.eclipse.sirius.diagram.business.api.refresh.CanonicalSynchronizer; import org.eclipse.sirius.diagram.business.api.refresh.CanonicalSynchronizerFactory; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.business.internal.elements.CombinedFragment; import org.eclipse.sirius.diagram.sequence.business.internal.elements.Execution; import org.eclipse.sirius.diagram.sequence.business.internal.elements.InteractionUse; @@ -90,9 +91,6 @@ public class SequenceGenericToolCommandBuilder extends GenericToolCommandBuilder return result; } - /** - * {@inheritDoc} - */ @Override protected DCommand createEnclosingCommand() { Option<DDiagram> parentDiagram = new EObjectQuery(containerView).getParentDiagram(); @@ -105,19 +103,55 @@ public class SequenceGenericToolCommandBuilder extends GenericToolCommandBuilder return cmd; }; - /** - * {@inheritDoc} - */ @Override protected void addPreOperationTasks(DCommand command, final IInterpreter interpreter) { super.addPreOperationTasks(command, interpreter); + addSetEndBeforeVariableTask(command, interpreter, endBefore); + } + + @Override + protected void addPostOperationTasks(DCommand command, final IInterpreter interpreter) { + super.addPostOperationTasks(command, interpreter); + + addUnsetEndBeforeTask(command, interpreter); + + if (gmfDiagram != null) { + command.getTasks().add(new AbstractCommandTask() { + + @Override + public String getLabel() { + return Messages.SequenceGenericToolCommandBuilder_canonicalSyncTask; + } + + @Override + public void execute() { + CanonicalSynchronizer canonicalSynchronizer = CanonicalSynchronizerFactory.INSTANCE.createCanonicalSynchronizer(gmfDiagram); + canonicalSynchronizer.synchronize(); + } + }); + } + } + + /** + * Complete the given command with a task to set the endBefore variable. + * + * @param command + * the command to complete + * @param interpreter + * the interpreter to updated in the command + * @param endBefore + * the end before variable to set + */ + public static void addSetEndBeforeVariableTask(DCommand command, final IInterpreter interpreter, final EventEnd endBefore) { command.getTasks().add(new AbstractCommandTask() { + @Override public String getLabel() { - return "Add end before variable"; + return Messages.SequenceGenericToolCommandBuilder_setEndBeforeTask; } + @Override public void execute() { interpreter.setVariable(END_BEFORE_VARIABLE, endBefore); } @@ -125,35 +159,25 @@ public class SequenceGenericToolCommandBuilder extends GenericToolCommandBuilder } /** - * {@inheritDoc} + * Complete the given command with a task to unset the endBefore variable. + * + * @param command + * the command to complete + * @param interpreter + * the interpreter to updated in the command */ - @Override - protected void addPostOperationTasks(DCommand command, final IInterpreter interpreter) { - super.addPostOperationTasks(command, interpreter); - + public static void addUnsetEndBeforeTask(DCommand command, final IInterpreter interpreter) { command.getTasks().add(new AbstractCommandTask() { + @Override public String getLabel() { - return "Unset end before variable"; + return Messages.SequenceGenericToolCommandBuilder_unsetEndBeforeTask; } + @Override public void execute() { interpreter.unSetVariable(END_BEFORE_VARIABLE); } }); - - if (gmfDiagram != null) { - command.getTasks().add(new AbstractCommandTask() { - - public String getLabel() { - return "Unset end before variable"; - } - - public void execute() { - CanonicalSynchronizer canonicalSynchronizer = CanonicalSynchronizerFactory.INSTANCE.createCanonicalSynchronizer(gmfDiagram); - canonicalSynchronizer.synchronize(); - } - }); - } } } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequencePaneBasedSelectionWizardCommandBuilder.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequencePaneBasedSelectionWizardCommandBuilder.java index 739957c60c..5cca87ee9e 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequencePaneBasedSelectionWizardCommandBuilder.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequencePaneBasedSelectionWizardCommandBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2012, 2015 THALES GLOBAL SERVICES 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 @@ -14,7 +14,6 @@ import java.util.Collection; import org.eclipse.draw2d.geometry.Point; import org.eclipse.emf.ecore.EObject; -import org.eclipse.sirius.business.api.helper.task.AbstractCommandTask; import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter; import org.eclipse.sirius.diagram.DDiagram; import org.eclipse.sirius.diagram.DDiagramElement; @@ -85,9 +84,6 @@ public class SequencePaneBasedSelectionWizardCommandBuilder extends PaneBasedSel return result; } - /** - * {@inheritDoc} - */ @Override protected DCommand createEnclosingCommand() { Option<DDiagram> parentDiagram = getDDiagram(); @@ -100,41 +96,17 @@ public class SequencePaneBasedSelectionWizardCommandBuilder extends PaneBasedSel return cmd; }; - /** - * {@inheritDoc} - */ @Override protected void addPreOperationTasks(DCommand command, final IInterpreter interpreter) { super.addPreOperationTasks(command, interpreter); - command.getTasks().add(new AbstractCommandTask() { - - public String getLabel() { - return "Add end before variable"; - } - - public void execute() { - interpreter.setVariable(END_BEFORE_VARIABLE, endBefore); - } - }); + SequenceGenericToolCommandBuilder.addSetEndBeforeVariableTask(command, interpreter, endBefore); } - /** - * {@inheritDoc} - */ @Override protected void addPostOperationTasks(DCommand command, final IInterpreter interpreter) { super.addPostOperationTasks(command, interpreter); - command.getTasks().add(new AbstractCommandTask() { - - public String getLabel() { - return "Unset end before variable"; - } - - public void execute() { - interpreter.unSetVariable(END_BEFORE_VARIABLE); - } - }); + SequenceGenericToolCommandBuilder.addUnsetEndBeforeTask(command, interpreter); } } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceSelectionWizardCommandBuilder.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceSelectionWizardCommandBuilder.java index 8907df3319..8550b291d9 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceSelectionWizardCommandBuilder.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/internal/tool/command/builders/SequenceSelectionWizardCommandBuilder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2014 THALES GLOBAL SERVICES. + * Copyright (c) 2012, 2015 THALES GLOBAL SERVICES 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 @@ -14,7 +14,6 @@ import java.util.Collection; import org.eclipse.draw2d.geometry.Point; import org.eclipse.emf.ecore.EObject; -import org.eclipse.sirius.business.api.helper.task.AbstractCommandTask; import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter; import org.eclipse.sirius.diagram.DDiagram; import org.eclipse.sirius.diagram.DDiagramElement; @@ -84,9 +83,6 @@ public class SequenceSelectionWizardCommandBuilder extends SelectionWizardComman return result; } - /** - * {@inheritDoc} - */ @Override protected DCommand createEnclosingCommand() { Option<DDiagram> parentDiagram = getDDiagram(); @@ -99,41 +95,17 @@ public class SequenceSelectionWizardCommandBuilder extends SelectionWizardComman return cmd; }; - /** - * {@inheritDoc} - */ @Override protected void addPreOperationTasks(DCommand command, final IInterpreter interpreter) { super.addPreOperationTasks(command, interpreter); - command.getTasks().add(new AbstractCommandTask() { - - public String getLabel() { - return "Add end before variable"; - } - - public void execute() { - interpreter.setVariable(END_BEFORE_VARIABLE, endBefore); - } - }); + SequenceGenericToolCommandBuilder.addSetEndBeforeVariableTask(command, interpreter, endBefore); } - /** - * {@inheritDoc} - */ @Override protected void addPostOperationTasks(DCommand command, final IInterpreter interpreter) { super.addPostOperationTasks(command, interpreter); - command.getTasks().add(new AbstractCommandTask() { - - public String getLabel() { - return "Unset end before variable"; - } - - public void execute() { - interpreter.unSetVariable(END_BEFORE_VARIABLE); - } - }); + SequenceGenericToolCommandBuilder.addUnsetEndBeforeTask(command, interpreter); } } diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/template/TemplateToDiagramDescriptionTransformer.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/template/TemplateToDiagramDescriptionTransformer.java index eec0a98b83..a5d6347de2 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/template/TemplateToDiagramDescriptionTransformer.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/template/TemplateToDiagramDescriptionTransformer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -73,6 +73,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public SequenceDiagramDescription apply(TSequenceDiagram from) { SequenceDiagramDescription to = getOrCreate(from, DescriptionPackage.eINSTANCE.getSequenceDiagramDescription()); to.setName(from.getName()); @@ -98,9 +99,10 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public InstanceRoleMapping apply(TLifelineMapping from) { InstanceRoleMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getInstanceRoleMapping()); - to.setName(from.getName() + " Instance Role"); + to.setName(from.getName() + " Instance Role"); //$NON-NLS-1$ to.setDomainClass(from.getDomainClass()); to.setSemanticCandidatesExpression(from.getSemanticCandidatesExpression()); marker.clearGenerateds(to.getBorderedNodeMappings()); @@ -126,9 +128,10 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public ExecutionMapping apply(TLifelineMapping from) { ExecutionMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getExecutionMapping()); - to.setName(from.getName() + " Execution"); + to.setName(from.getName() + " Execution"); //$NON-NLS-1$ to.setDomainClass(from.getDomainClass()); to.setSemanticCandidatesExpression(SELF); to.setStartingEndFinderExpression(SELF); @@ -158,6 +161,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public EndOfLifeMapping apply(TLifelineMapping from) { EndOfLifeMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getEndOfLifeMapping()); to.setName(from.getName() + " EOL"); //$NON-NLS-1$ @@ -180,6 +184,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public ExecutionMapping apply(TExecutionMapping from) { ExecutionMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getExecutionMapping()); to.setName(from.getName()); @@ -210,12 +215,14 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public BasicMessageMapping apply(final TBasicMessageMapping from) { final BasicMessageMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getBasicMessageMapping()); copyMappingData(from, to); postOp(new Runnable() { + @Override public void run() { Collection<EObject> sourceOutputs = AbstractRule.collectGeneratedElements(execution2ExecutionMaping, DescriptionPackage.eINSTANCE.getExecutionMapping(), from.getSource()); sourceOutputs.addAll(AbstractRule.collectGeneratedElements(lifeline2ExecutionMapping, DescriptionPackage.eINSTANCE.getExecutionMapping(), from.getSource())); @@ -243,12 +250,14 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public CreationMessageMapping apply(final TCreationMessageMapping from) { final CreationMessageMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getCreationMessageMapping()); copyMappingData(from, to); postOp(new Runnable() { + @Override public void run() { Collection<EObject> sourceOutputs = AbstractRule.collectGeneratedElements(execution2ExecutionMaping, DescriptionPackage.eINSTANCE.getExecutionMapping(), from.getSource()); sourceOutputs.addAll(AbstractRule.collectGeneratedElements(lifeline2ExecutionMapping, DescriptionPackage.eINSTANCE.getExecutionMapping(), from.getSource())); @@ -277,12 +286,14 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public DestructionMessageMapping apply(final TDestructionMessageMapping from) { final DestructionMessageMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getDestructionMessageMapping()); copyMappingData(from, to); postOp(new Runnable() { + @Override public void run() { Collection<EObject> sourceOutputs = AbstractRule.collectGeneratedElements(execution2ExecutionMaping, DescriptionPackage.eINSTANCE.getExecutionMapping(), from.getSource()); sourceOutputs.addAll(AbstractRule.collectGeneratedElements(lifeline2ExecutionMapping, DescriptionPackage.eINSTANCE.getExecutionMapping(), from.getSource())); @@ -310,6 +321,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public ReturnMessageMapping apply(TReturnMessageMapping from) { ReturnMessageMapping to = getOrCreate(from, DescriptionPackage.eINSTANCE.getReturnMessageMapping()); to.setName(from.getName()); @@ -336,6 +348,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public EdgeStyleDescription apply(TMessageStyle from) { EdgeStyleDescription to = getOrCreate(from, StylePackage.eINSTANCE.getEdgeStyleDescription()); to.setFoldingStyle(FoldingStyle.NONE_LITERAL); @@ -358,6 +371,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public ConditionalEdgeStyleDescription apply(TConditionalMessageStyle from) { ConditionalEdgeStyleDescription to = getOrCreate(from, org.eclipse.sirius.diagram.description.DescriptionPackage.eINSTANCE.getConditionalEdgeStyleDescription()); to.setPredicateExpression(from.getPredicateExpression()); @@ -376,6 +390,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public SquareDescription apply(TLifelineStyle from) { SquareDescription to = getOrCreate(from, StylePackage.eINSTANCE.getSquareDescription()); to.setBorderColor(from.getLifelineColor()); @@ -398,6 +413,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public ConditionalNodeStyleDescription apply(TConditionalLifelineStyle from) { ConditionalNodeStyleDescription to = getOrCreate(from, org.eclipse.sirius.diagram.description.DescriptionPackage.eINSTANCE.getConditionalNodeStyleDescription()); to.setPredicateExpression(from.getPredicateExpression()); @@ -417,6 +433,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public SquareDescription apply(TExecutionStyle from) { SquareDescription to = getOrCreate(from, StylePackage.eINSTANCE.getSquareDescription()); if (from.getBackgroundColor() != null) { @@ -443,6 +460,7 @@ public class TemplateToDiagramDescriptionTransformer { super(marker); } + @Override public ConditionalNodeStyleDescription apply(TConditionalExecutionStyle from) { ConditionalNodeStyleDescription to = getOrCreate(from, org.eclipse.sirius.diagram.description.DescriptionPackage.eINSTANCE.getConditionalNodeStyleDescription()); to.setPredicateExpression(from.getPredicateExpression()); diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/tool/internal/action/repair/SequenceDiagramRepairParticipant.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/tool/internal/action/repair/SequenceDiagramRepairParticipant.java index 22ce7ef1a0..7d81b7494c 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/tool/internal/action/repair/SequenceDiagramRepairParticipant.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/tool/internal/action/repair/SequenceDiagramRepairParticipant.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 THALES GLOBAL SERVICES. + * Copyright (c) 2012, 2015 THALES GLOBAL SERVICES 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 @@ -30,6 +30,7 @@ import org.eclipse.sirius.business.api.repair.IRepairParticipant; import org.eclipse.sirius.business.api.session.Session; import org.eclipse.sirius.business.internal.migration.resource.session.commands.MigrationCommandExecutor; import org.eclipse.sirius.diagram.DNode; +import org.eclipse.sirius.diagram.sequence.Messages; import org.eclipse.sirius.diagram.sequence.SequenceDDiagram; import org.eclipse.sirius.diagram.sequence.business.internal.elements.ISequenceElementAccessor; import org.eclipse.sirius.diagram.sequence.business.internal.elements.InstanceRole; @@ -53,25 +54,17 @@ import com.google.common.collect.Iterables; */ public class SequenceDiagramRepairParticipant implements IRepairParticipant { - /** - * {@inheritDoc} - */ + @Override public void repairStarted() { // nothing - } - /** - * {@inheritDoc} - */ + @Override public void repairCompeleted() { // nothing - } - /** - * {@inheritDoc} - */ + @Override public void restoreModelElementState(DView view, IProgressMonitor monitor) { Resource resource = view.eResource(); TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(resource); @@ -80,20 +73,14 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { } - /** - * {@inheritDoc} - */ + @Override public void postRefreshOperations(TransactionalEditingDomain domain, Resource resource) { // nothing - } - /** - * {@inheritDoc} - */ + @Override public void saveModelElementState(DView view, IProgressMonitor monitor) { // nothing - } /** @@ -107,7 +94,7 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { * in each {@link DRepresentationContainer} */ private Command migrateModel(Resource model, TransactionalEditingDomain domain) { - CompoundCommand cc = new CompoundCommand("Repair Sequence Diagram"); + CompoundCommand cc = new CompoundCommand(Messages.SequenceDiagramRepairParticipant_repairCommandName); EObject eObject = model.getContents().get(0); if (eObject instanceof DAnalysis) { DAnalysis dAnalysis = (DAnalysis) eObject; @@ -134,7 +121,7 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { * @return a {@link CompoundCommand} of sequence diagrams reparing commands */ private CompoundCommand migrateRepresentationContainer(DRepresentationContainer container, TransactionalEditingDomain domain) { - CompoundCommand cc = new CompoundCommand("Repair Sequence Diagram"); + CompoundCommand cc = new CompoundCommand(Messages.SequenceDiagramRepairParticipant_repairCommandName); for (SequenceDDiagram seqDDiag : Iterables.filter(container.getOwnedRepresentations(), SequenceDDiagram.class)) { final Diagram gmfDiagram = SiriusGMFHelper.getGmfDiagram(seqDDiag); Option<SequenceDiagram> iSequenceDiagram = ISequenceElementAccessor.getSequenceDiagram(gmfDiagram); @@ -146,15 +133,11 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { return cc; } - /** - * {@inheritDoc} - */ + @Override public void endRepairOnView() { } - /** - * {@inheritDoc} - */ + @Override public void startRepairOnView(Session session, DView view) { } @@ -182,9 +165,6 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { this.sequenceDiagram = sequenceDiagram; } - /** - * {@inheritDoc} - */ @Override protected void doExecute() { fixInstanceRoleBounds(); @@ -226,15 +206,10 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { SequenceDiagram diagram; public FlagSequenceEventsCommand(TransactionalEditingDomain domain, SequenceDiagram diagram) { - super(domain, "Remove hideNotification node"); + super(domain, Messages.FlagSequenceEventsCommand_commandName); this.diagram = diagram; } - /** - * {@inheritDoc} - * - * @see org.eclipse.emf.transaction.RecordingCommand#doExecute() - */ @Override protected void doExecute() { if (diagram != null) { @@ -246,7 +221,6 @@ public class SequenceDiagramRepairParticipant implements IRepairParticipant { @Override public void removeElements(DView view, TransactionalEditingDomain domain, IProgressMonitor monitor) { // nothing - } @Override diff --git a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/util/Range.java b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/util/Range.java index a488d05d9f..93fb3bc933 100644 --- a/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/util/Range.java +++ b/plugins/org.eclipse.sirius.diagram.sequence/src/org/eclipse/sirius/diagram/sequence/util/Range.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2010 THALES GLOBAL SERVICES. + * Copyright (c) 2010, 2015 THALES GLOBAL SERVICES 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 @@ -10,6 +10,10 @@ *******************************************************************************/ package org.eclipse.sirius.diagram.sequence.util; +import java.text.MessageFormat; + +import org.eclipse.sirius.diagram.sequence.Messages; + import com.google.common.base.Preconditions; /** @@ -19,6 +23,7 @@ import com.google.common.base.Preconditions; * @author pcdavid */ public class Range { + /** * A sentinel object to represent the empty range. It is technically not * empty but this instance is treated specially. @@ -381,15 +386,12 @@ public class Range { return getLowerBound() != other.getLowerBound() && getLowerBound() != other.getUpperBound() && getUpperBound() != other.getLowerBound() && getUpperBound() != other.getUpperBound(); } - /** - * {@inheritDoc} - */ @Override public String toString() { if (!isEmpty()) { - return "[" + lower + ", " + upper + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + return MessageFormat.format("[{0}, {1}]", lower, upper); //$NON-NLS-1$ } else { - return "[<empty range>]"; + return MessageFormat.format("[<{0}>]", Messages.Range_emptyRange); //$NON-NLS-1$ } } } |