Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas FAUVERGUE2016-11-24 12:49:41 +0000
committervincent lorenzo2016-11-29 11:01:26 +0000
commit3ed639ecef256da3eeff86d3b428720561f362df (patch)
treeea5d0d552c2e0b62cd9ee3cafd907ee69c0ad2e8 /plugins/uml/internationalization
parentb3141df23ca644573f8b2813ad8859722d418bd9 (diff)
downloadorg.eclipse.papyrus-3ed639ecef256da3eeff86d3b428720561f362df.tar.gz
org.eclipse.papyrus-3ed639ecef256da3eeff86d3b428720561f362df.tar.xz
org.eclipse.papyrus-3ed639ecef256da3eeff86d3b428720561f362df.zip
Bug 496905: [Diagram][ModelExplorer][Table][Dialog] Papyrus must integrate
the internationalization feature provided by UML. https://bugs.eclipse.org/bugs/show_bug.cgi?id=496905 Commit of UML for internationalization. Change-Id: Ia61e5ef4d537f9e9b192bcfe073f921542fe4876 Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@all4tec.net>
Diffstat (limited to 'plugins/uml/internationalization')
-rw-r--r--plugins/uml/internationalization/.project17
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath7
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project52
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF22
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html28
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties11
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties4
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml22
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml12
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java77
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java3492
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java130
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath7
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project52
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF20
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html28
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties11
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties4
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml9
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml12
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java77
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java227
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath7
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project52
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF23
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html28
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties11
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties4
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml21
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml12
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java77
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java223
-rw-r--r--plugins/uml/internationalization/pom.xml21
36 files changed, 4821 insertions, 0 deletions
diff --git a/plugins/uml/internationalization/.project b/plugins/uml/internationalization/.project
new file mode 100644
index 00000000000..24ff6b9478e
--- /dev/null
+++ b/plugins/uml/internationalization/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>uml_internationalization</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath
new file mode 100644
index 00000000000..4221242104f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project
new file mode 100644
index 00000000000..8c098aba9de
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.internationalization.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0c68a61dca8
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..28d74f78f73
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.internationalization.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.ui.workbench;bundle-version="[3.108.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.uml2.uml.edit;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.papyrus.infra.internationalization;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.uml.internationalization.utils;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.internationalization.common;bundle-version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.uml.internationalization.edit.Activator
+Export-Package: org.eclipse.papyrus.uml.internationalization.edit,
+ org.eclipse.papyrus.uml.internationalization.edit.providers,
+ org.eclipse.papyrus.uml.internationalization.edit.utils
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html
new file mode 100644
index 00000000000..598b3684879
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties
new file mode 100644
index 00000000000..2964bc2d7b1
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/build.properties
@@ -0,0 +1,11 @@
+#
+
+bin.includes = .,\
+ META-INF/,\
+ about.html,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties
new file mode 100644
index 00000000000..32161262f47
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = Papyrus Internationalization Edit Support for UML
+providerName = Eclipse Modeling Project
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml
new file mode 100644
index 00000000000..773b179da5f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/plugin.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <factory
+ uri = "http://www.eclipse.org/uml2/5.0.0/UML"
+ class = "org.eclipse.papyrus.uml.internationalization.edit.providers.InternationalizationUMLItemProviderAdapterFactory"
+ supportedTypes =
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemColorProvider
+ org.eclipse.emf.edit.provider.IItemFontProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource" />
+ </extension>
+</plugin>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml
new file mode 100644
index 00000000000..d517bd33c9b
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.internationalization.edit</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java
new file mode 100644
index 00000000000..37e4d945384
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/Activator.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization.edit;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.internationalization.edit"; //$NON-NLS-1$
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+ /**
+ * The log helper.
+ */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+}
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..e16a9de9a4c
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/providers/InternationalizationUMLItemProviderAdapterFactory.java
@@ -0,0 +1,3492 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization.edit.providers;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.papyrus.uml.internationalization.edit.utils.InternationalizationElementItemProviderUtils;
+import org.eclipse.papyrus.uml.internationalization.utils.utils.UMLLabelInternationalization;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
+import org.eclipse.uml2.uml.MultiplicityElement;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.edit.providers.*;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * This allows to override the {@link UMLItemProviderAdapterFactory} to avoid
+ * the {@link NamedElement#getLabel()} call when the internationalization
+ * preference is set to false.
+ */
+public class InternationalizationUMLItemProviderAdapterFactory extends UMLItemProviderAdapterFactory {
+
+ /**
+ * Constructor.
+ */
+ public InternationalizationUMLItemProviderAdapterFactory() {
+ super();
+ }
+
+ @Override
+ public Adapter createDependencyAdapter() {
+ if (dependencyItemProvider == null) {
+ dependencyItemProvider = new DependencyItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return dependencyItemProvider;
+ }
+
+ @Override
+ public Adapter createPackageAdapter() {
+ if (packageItemProvider == null) {
+ packageItemProvider = new PackageItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return packageItemProvider;
+ }
+
+ @Override
+ public Adapter createProfileAdapter() {
+ if (profileItemProvider == null) {
+ profileItemProvider = new ProfileItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return profileItemProvider;
+ }
+
+ @Override
+ public Adapter createStereotypeAdapter() {
+ if (stereotypeItemProvider == null) {
+ stereotypeItemProvider = new StereotypeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return stereotypeItemProvider;
+ }
+
+ @Override
+ public Adapter createClassAdapter() {
+ if (classItemProvider == null) {
+ classItemProvider = new ClassItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return classItemProvider;
+ }
+
+ @Override
+ public Adapter createGeneralizationSetAdapter() {
+ if (generalizationSetItemProvider == null) {
+ generalizationSetItemProvider = new GeneralizationSetItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return generalizationSetItemProvider;
+ }
+
+ @Override
+ public Adapter createUseCaseAdapter() {
+ if (useCaseItemProvider == null) {
+ useCaseItemProvider = new UseCaseItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return useCaseItemProvider;
+ }
+
+ @Override
+ public Adapter createIncludeAdapter() {
+ if (includeItemProvider == null) {
+ includeItemProvider = new IncludeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return includeItemProvider;
+ }
+
+ @Override
+ public Adapter createExtendAdapter() {
+ if (extendItemProvider == null) {
+ extendItemProvider = new ExtendItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return extendItemProvider;
+ }
+
+ @Override
+ public Adapter createConstraintAdapter() {
+ if (constraintItemProvider == null) {
+ constraintItemProvider = new ConstraintItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return constraintItemProvider;
+ }
+
+ @Override
+ public Adapter createExtensionPointAdapter() {
+ if (extensionPointItemProvider == null) {
+ extensionPointItemProvider = new ExtensionPointItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return extensionPointItemProvider;
+ }
+
+ @Override
+ public Adapter createSubstitutionAdapter() {
+ if (substitutionItemProvider == null) {
+ substitutionItemProvider = new SubstitutionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return substitutionItemProvider;
+ }
+
+ @Override
+ public Adapter createRealizationAdapter() {
+ if (realizationItemProvider == null) {
+ realizationItemProvider = new RealizationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return realizationItemProvider;
+ }
+
+ @Override
+ public Adapter createAbstractionAdapter() {
+ if (abstractionItemProvider == null) {
+ abstractionItemProvider = new AbstractionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return abstractionItemProvider;
+ }
+
+ @Override
+ public Adapter createOpaqueExpressionAdapter() {
+ if (opaqueExpressionItemProvider == null) {
+ opaqueExpressionItemProvider = new OpaqueExpressionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return opaqueExpressionItemProvider;
+ }
+
+ @Override
+ public Adapter createParameterAdapter() {
+ if (parameterItemProvider == null) {
+ parameterItemProvider = new ParameterItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return parameterItemProvider;
+ }
+
+ @Override
+ public Adapter createPropertyAdapter() {
+ if (propertyItemProvider == null) {
+ propertyItemProvider = new PropertyItemProvider(this) {
+
+ public String getText(Object object) {
+ StringBuffer text = appendType(
+ appendKeywords(new StringBuffer(), object), "_UI_Property_type"); //$NON-NLS-1$
+
+ final Property property = (Property) object;
+ final Type type = property.getType();
+
+ if (property.isDerived()) {
+ appendString(text, "/"); //$NON-NLS-1$
+ }
+
+ String label = UMLLabelInternationalization.getInstance().getLabel(property, shouldTranslate());
+
+ if (!UML2Util.isEmpty(label)) {
+ appendString(text, label);
+ } else if (property.getAssociation() != null && type != null) {
+ String typeName = type.getName();
+
+ if (!UML2Util.isEmpty(typeName)) {
+ appendString(text, Character.toLowerCase(typeName.charAt(0))
+ + typeName.substring(1));
+ }
+ }
+
+ if (type != null) {
+ String typeLabel = UMLLabelInternationalization.getInstance().getLabel(type, shouldTranslate());
+
+ if (!UMLUtil.isEmpty(typeLabel)) {
+ appendString(text, ": " + typeLabel); //$NON-NLS-1$
+ }
+ }
+
+ return ExtendedMultiplicityElementItemProvider.appendMultiplicityString(text, object)
+ .toString();
+ }
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return propertyItemProvider;
+ }
+
+ /**
+ * This allows to redefine the 'appendMultiplicity' method.
+ */
+ public static class ExtendedMultiplicityElementItemProvider extends MultiplicityElementItemProvider{
+
+ /**
+ * Constructor.
+ *
+ * @param adapterFactory The adapter factory
+ */
+ public ExtendedMultiplicityElementItemProvider(final AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This allows to append the multiplicity.
+ *
+ * @param text The existing string buffer.
+ * @param object The multiplicity element.
+ * @return The existing string buffer concat with multiplicity.
+ */
+ public static StringBuffer appendMultiplicityString(final StringBuffer text, final Object object) {
+ return MultiplicityElementItemProvider.appendMultiplicity(text, object);
+ }
+ }
+
+ @Override
+ public Adapter createDeploymentAdapter() {
+ if (deploymentItemProvider == null) {
+ deploymentItemProvider = new DeploymentItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return deploymentItemProvider;
+ }
+
+ @Override
+ public Adapter createDeploymentSpecificationAdapter() {
+ if (deploymentSpecificationItemProvider == null) {
+ deploymentSpecificationItemProvider = new DeploymentSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return deploymentSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createArtifactAdapter() {
+ if (artifactItemProvider == null) {
+ artifactItemProvider = new ArtifactItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return artifactItemProvider;
+ }
+
+ @Override
+ public Adapter createManifestationAdapter() {
+ if (manifestationItemProvider == null) {
+ manifestationItemProvider = new ManifestationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return manifestationItemProvider;
+ }
+
+ @Override
+ public Adapter createOperationAdapter() {
+ if (operationItemProvider == null) {
+ operationItemProvider = new OperationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+
+ @Override
+ public String getText(Object object) {
+ final StringBuffer text = appendLabel(
+ appendType(appendKeywords(new StringBuffer(), object), "_UI_Operation_type"), object); //$NON-NLS-1$
+
+ final Operation operation = (Operation) object;
+
+ appendString(text, "(");
+
+ final List<Parameter> ownedParameters = new ArrayList<Parameter>(operation.getOwnedParameters());
+ ownedParameters.removeAll(operation.returnResult());
+
+ for (Iterator<Parameter> parameters = ownedParameters.iterator(); parameters.hasNext();) {
+
+ final Parameter parameter = parameters.next();
+ final String label = UMLLabelInternationalization.getInstance().getLabel(parameter,
+ shouldTranslate());
+ if (UMLUtil.isEmpty(label)) {
+ text.append('<').append(getTypeText(parameter)).append('>');
+ } else {
+ text.append(label);
+ }
+
+ final Type type = parameter.getType();
+
+ if (null != type) {
+ final String typeLabel = UMLLabelInternationalization.getInstance().getLabel(type,
+ shouldTranslate());
+
+ if (!UMLUtil.isEmpty(typeLabel)) {
+ appendString(text, ": " + typeLabel); //$NON-NLS-1$
+ }
+ }
+
+ appendMultiplicity(text, parameter);
+
+ if (parameters.hasNext()) {
+ text.append(", "); //$NON-NLS-1$
+ }
+ }
+
+ text.append(')');
+
+ Parameter returnResult = operation.getReturnResult();
+
+ if (returnResult != null) {
+ Type type = returnResult.getType();
+
+ if (type != null) {
+ String typeLabel = type.getLabel(shouldTranslate());
+
+ if (!UMLUtil.isEmpty(typeLabel)) {
+ appendString(text, ": " + typeLabel); //$NON-NLS-1$
+ }
+ }
+
+ appendMultiplicity(text, returnResult);
+ }
+
+ return text.toString();
+ }
+ };
+ }
+ return operationItemProvider;
+ }
+
+ @Override
+ public Adapter createParameterSetAdapter() {
+ if (parameterSetItemProvider == null) {
+ parameterSetItemProvider = new ParameterSetItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return parameterSetItemProvider;
+ }
+
+ @Override
+ public Adapter createDataTypeAdapter() {
+ if (dataTypeItemProvider == null) {
+ dataTypeItemProvider = new DataTypeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return dataTypeItemProvider;
+ }
+
+ @Override
+ public Adapter createInterfaceAdapter() {
+ if (interfaceItemProvider == null) {
+ interfaceItemProvider = new InterfaceItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interfaceItemProvider;
+ }
+
+ @Override
+ public Adapter createReceptionAdapter() {
+ if (receptionItemProvider == null) {
+ receptionItemProvider = new ReceptionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return receptionItemProvider;
+ }
+
+ @Override
+ public Adapter createSignalAdapter() {
+ if (signalItemProvider == null) {
+ signalItemProvider = new SignalItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return signalItemProvider;
+ }
+
+ @Override
+ public Adapter createProtocolStateMachineAdapter() {
+ if (protocolStateMachineItemProvider == null) {
+ protocolStateMachineItemProvider = new ProtocolStateMachineItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return protocolStateMachineItemProvider;
+ }
+
+ @Override
+ public Adapter createStateMachineAdapter() {
+ if (stateMachineItemProvider == null) {
+ stateMachineItemProvider = new StateMachineItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return stateMachineItemProvider;
+ }
+
+ @Override
+ public Adapter createRegionAdapter() {
+ if (regionItemProvider == null) {
+ regionItemProvider = new RegionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return regionItemProvider;
+ }
+
+ @Override
+ public Adapter createTransitionAdapter() {
+ if (transitionItemProvider == null) {
+ transitionItemProvider = new TransitionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return transitionItemProvider;
+ }
+
+ @Override
+ public Adapter createTriggerAdapter() {
+ if (triggerItemProvider == null) {
+ triggerItemProvider = new TriggerItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return triggerItemProvider;
+ }
+
+ @Override
+ public Adapter createPortAdapter() {
+ if (portItemProvider == null) {
+ portItemProvider = new PortItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return portItemProvider;
+ }
+
+ @Override
+ public Adapter createStateAdapter() {
+ if (stateItemProvider == null) {
+ stateItemProvider = new StateItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return stateItemProvider;
+ }
+
+ @Override
+ public Adapter createConnectionPointReferenceAdapter() {
+ if (connectionPointReferenceItemProvider == null) {
+ connectionPointReferenceItemProvider = new ConnectionPointReferenceItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return connectionPointReferenceItemProvider;
+ }
+
+ @Override
+ public Adapter createPseudostateAdapter() {
+ if (pseudostateItemProvider == null) {
+ pseudostateItemProvider = new PseudostateItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return pseudostateItemProvider;
+ }
+
+ @Override
+ public Adapter createAssociationAdapter() {
+ if (associationItemProvider == null) {
+ associationItemProvider = new AssociationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return associationItemProvider;
+ }
+
+ @Override
+ public Adapter createCollaborationUseAdapter() {
+ if (collaborationUseItemProvider == null) {
+ collaborationUseItemProvider = new CollaborationUseItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return collaborationUseItemProvider;
+ }
+
+ @Override
+ public Adapter createCollaborationAdapter() {
+ if (collaborationItemProvider == null) {
+ collaborationItemProvider = new CollaborationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return collaborationItemProvider;
+ }
+
+ @Override
+ public Adapter createConnectorAdapter() {
+ if (connectorItemProvider == null) {
+ connectorItemProvider = new ConnectorItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return connectorItemProvider;
+ }
+
+ @Override
+ public Adapter createRedefinableTemplateSignatureAdapter() {
+ if (redefinableTemplateSignatureItemProvider == null) {
+ redefinableTemplateSignatureItemProvider = new RedefinableTemplateSignatureItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return redefinableTemplateSignatureItemProvider;
+ }
+
+ @Override
+ public Adapter createInterfaceRealizationAdapter() {
+ if (interfaceRealizationItemProvider == null) {
+ interfaceRealizationItemProvider = new InterfaceRealizationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interfaceRealizationItemProvider;
+ }
+
+ @Override
+ public Adapter createExtensionAdapter() {
+ if (extensionItemProvider == null) {
+ extensionItemProvider = new ExtensionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return extensionItemProvider;
+ }
+
+ @Override
+ public Adapter createExtensionEndAdapter() {
+ if (extensionEndItemProvider == null) {
+ extensionEndItemProvider = new ExtensionEndItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return extensionEndItemProvider;
+ }
+
+ @Override
+ public Adapter createStringExpressionAdapter() {
+ if (stringExpressionItemProvider == null) {
+ stringExpressionItemProvider = new StringExpressionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return stringExpressionItemProvider;
+ }
+
+ @Override
+ public Adapter createExpressionAdapter() {
+ if (expressionItemProvider == null) {
+ expressionItemProvider = new ExpressionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return expressionItemProvider;
+ }
+
+ @Override
+ public Adapter createLiteralIntegerAdapter() {
+ if (literalIntegerItemProvider == null) {
+ literalIntegerItemProvider = new LiteralIntegerItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return literalIntegerItemProvider;
+ }
+
+ @Override
+ public Adapter createLiteralStringAdapter() {
+ if (literalStringItemProvider == null) {
+ literalStringItemProvider = new LiteralStringItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return literalStringItemProvider;
+ }
+
+ @Override
+ public Adapter createLiteralBooleanAdapter() {
+ if (literalBooleanItemProvider == null) {
+ literalBooleanItemProvider = new LiteralBooleanItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return literalBooleanItemProvider;
+ }
+
+ @Override
+ public Adapter createLiteralNullAdapter() {
+ if (literalNullItemProvider == null) {
+ literalNullItemProvider = new LiteralNullItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return literalNullItemProvider;
+ }
+
+ @Override
+ public Adapter createInstanceSpecificationAdapter() {
+ if (instanceSpecificationItemProvider == null) {
+ instanceSpecificationItemProvider = new InstanceSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return instanceSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createEnumerationAdapter() {
+ if (enumerationItemProvider == null) {
+ enumerationItemProvider = new EnumerationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return enumerationItemProvider;
+ }
+
+ @Override
+ public Adapter createEnumerationLiteralAdapter() {
+ if (enumerationLiteralItemProvider == null) {
+ enumerationLiteralItemProvider = new EnumerationLiteralItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return enumerationLiteralItemProvider;
+ }
+
+ @Override
+ public Adapter createPrimitiveTypeAdapter() {
+ if (primitiveTypeItemProvider == null) {
+ primitiveTypeItemProvider = new PrimitiveTypeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return primitiveTypeItemProvider;
+ }
+
+ @Override
+ public Adapter createInstanceValueAdapter() {
+ if (instanceValueItemProvider == null) {
+ instanceValueItemProvider = new InstanceValueItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return instanceValueItemProvider;
+ }
+
+ @Override
+ public Adapter createLiteralUnlimitedNaturalAdapter() {
+ if (literalUnlimitedNaturalItemProvider == null) {
+ literalUnlimitedNaturalItemProvider = new LiteralUnlimitedNaturalItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return literalUnlimitedNaturalItemProvider;
+ }
+
+ @Override
+ public Adapter createOpaqueBehaviorAdapter() {
+ if (opaqueBehaviorItemProvider == null) {
+ opaqueBehaviorItemProvider = new OpaqueBehaviorItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return opaqueBehaviorItemProvider;
+ }
+
+ @Override
+ public Adapter createFunctionBehaviorAdapter() {
+ if (functionBehaviorItemProvider == null) {
+ functionBehaviorItemProvider = new FunctionBehaviorItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return functionBehaviorItemProvider;
+ }
+
+ @Override
+ public Adapter createActorAdapter() {
+ if (actorItemProvider == null) {
+ actorItemProvider = new ActorItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return actorItemProvider;
+ }
+
+ @Override
+ public Adapter createUsageAdapter() {
+ if (usageItemProvider == null) {
+ usageItemProvider = new UsageItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return usageItemProvider;
+ }
+
+ @Override
+ public Adapter createMessageAdapter() {
+ if (messageItemProvider == null) {
+ messageItemProvider = new MessageItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return messageItemProvider;
+ }
+
+ @Override
+ public Adapter createInteractionAdapter() {
+ if (interactionItemProvider == null) {
+ interactionItemProvider = new InteractionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interactionItemProvider;
+ }
+
+ @Override
+ public Adapter createLifelineAdapter() {
+ if (lifelineItemProvider == null) {
+ lifelineItemProvider = new LifelineItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return lifelineItemProvider;
+ }
+
+ @Override
+ public Adapter createPartDecompositionAdapter() {
+ if (partDecompositionItemProvider == null) {
+ partDecompositionItemProvider = new PartDecompositionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return partDecompositionItemProvider;
+ }
+
+ @Override
+ public Adapter createInteractionUseAdapter() {
+ if (interactionUseItemProvider == null) {
+ interactionUseItemProvider = new InteractionUseItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interactionUseItemProvider;
+ }
+
+ @Override
+ public Adapter createGateAdapter() {
+ if (gateItemProvider == null) {
+ gateItemProvider = new GateItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return gateItemProvider;
+ }
+
+ @Override
+ public Adapter createActivityAdapter() {
+ if (activityItemProvider == null) {
+ activityItemProvider = new ActivityItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return activityItemProvider;
+ }
+
+ @Override
+ public Adapter createActivityPartitionAdapter() {
+ if (activityPartitionItemProvider == null) {
+ activityPartitionItemProvider = new ActivityPartitionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return activityPartitionItemProvider;
+ }
+
+ @Override
+ public Adapter createStructuredActivityNodeAdapter() {
+ if (structuredActivityNodeItemProvider == null) {
+ structuredActivityNodeItemProvider = new StructuredActivityNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return structuredActivityNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createVariableAdapter() {
+ if (variableItemProvider == null) {
+ variableItemProvider = new VariableItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return variableItemProvider;
+ }
+
+ @Override
+ public Adapter createInterruptibleActivityRegionAdapter() {
+ if (interruptibleActivityRegionItemProvider == null) {
+ interruptibleActivityRegionItemProvider = new InterruptibleActivityRegionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interruptibleActivityRegionItemProvider;
+ }
+
+ @Override
+ public Adapter createExceptionHandlerAdapter() {
+ if (exceptionHandlerItemProvider == null) {
+ exceptionHandlerItemProvider = new ExceptionHandlerItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return exceptionHandlerItemProvider;
+ }
+
+ @Override
+ public Adapter createOutputPinAdapter() {
+ if (outputPinItemProvider == null) {
+ outputPinItemProvider = new OutputPinItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return outputPinItemProvider;
+ }
+
+ @Override
+ public Adapter createInputPinAdapter() {
+ if (inputPinItemProvider == null) {
+ inputPinItemProvider = new InputPinItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return inputPinItemProvider;
+ }
+
+ @Override
+ public Adapter createGeneralOrderingAdapter() {
+ if (generalOrderingItemProvider == null) {
+ generalOrderingItemProvider = new GeneralOrderingItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return generalOrderingItemProvider;
+ }
+
+ @Override
+ public Adapter createOccurrenceSpecificationAdapter() {
+ if (occurrenceSpecificationItemProvider == null) {
+ occurrenceSpecificationItemProvider = new OccurrenceSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return occurrenceSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createInteractionOperandAdapter() {
+ if (interactionOperandItemProvider == null) {
+ interactionOperandItemProvider = new InteractionOperandItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interactionOperandItemProvider;
+ }
+
+ @Override
+ public Adapter createInteractionConstraintAdapter() {
+ if (interactionConstraintItemProvider == null) {
+ interactionConstraintItemProvider = new InteractionConstraintItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return interactionConstraintItemProvider;
+ }
+
+ @Override
+ public Adapter createExecutionOccurrenceSpecificationAdapter() {
+ if (executionOccurrenceSpecificationItemProvider == null) {
+ executionOccurrenceSpecificationItemProvider = new ExecutionOccurrenceSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return executionOccurrenceSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createStateInvariantAdapter() {
+ if (stateInvariantItemProvider == null) {
+ stateInvariantItemProvider = new StateInvariantItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return stateInvariantItemProvider;
+ }
+
+ @Override
+ public Adapter createActionExecutionSpecificationAdapter() {
+ if (actionExecutionSpecificationItemProvider == null) {
+ actionExecutionSpecificationItemProvider = new ActionExecutionSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return actionExecutionSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createBehaviorExecutionSpecificationAdapter() {
+ if (behaviorExecutionSpecificationItemProvider == null) {
+ behaviorExecutionSpecificationItemProvider = new BehaviorExecutionSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return behaviorExecutionSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createMessageOccurrenceSpecificationAdapter() {
+ if (messageOccurrenceSpecificationItemProvider == null) {
+ messageOccurrenceSpecificationItemProvider = new MessageOccurrenceSpecificationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return messageOccurrenceSpecificationItemProvider;
+ }
+
+ @Override
+ public Adapter createCombinedFragmentAdapter() {
+ if (combinedFragmentItemProvider == null) {
+ combinedFragmentItemProvider = new CombinedFragmentItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return combinedFragmentItemProvider;
+ }
+
+ @Override
+ public Adapter createContinuationAdapter() {
+ if (continuationItemProvider == null) {
+ continuationItemProvider = new ContinuationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return continuationItemProvider;
+ }
+
+ @Override
+ public Adapter createConsiderIgnoreFragmentAdapter() {
+ if (considerIgnoreFragmentItemProvider == null) {
+ considerIgnoreFragmentItemProvider = new ConsiderIgnoreFragmentItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return considerIgnoreFragmentItemProvider;
+ }
+
+ @Override
+ public Adapter createCallEventAdapter() {
+ if (callEventItemProvider == null) {
+ callEventItemProvider = new CallEventItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return callEventItemProvider;
+ }
+
+ @Override
+ public Adapter createChangeEventAdapter() {
+ if (changeEventItemProvider == null) {
+ changeEventItemProvider = new ChangeEventItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return changeEventItemProvider;
+ }
+
+ @Override
+ public Adapter createSignalEventAdapter() {
+ if (signalEventItemProvider == null) {
+ signalEventItemProvider = new SignalEventItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return signalEventItemProvider;
+ }
+
+ @Override
+ public Adapter createAnyReceiveEventAdapter() {
+ if (anyReceiveEventItemProvider == null) {
+ anyReceiveEventItemProvider = new AnyReceiveEventItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return anyReceiveEventItemProvider;
+ }
+
+ @Override
+ public Adapter createCreateObjectActionAdapter() {
+ if (createObjectActionItemProvider == null) {
+ createObjectActionItemProvider = new CreateObjectActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return createObjectActionItemProvider;
+ }
+
+ @Override
+ public Adapter createDestroyObjectActionAdapter() {
+ if (destroyObjectActionItemProvider == null) {
+ destroyObjectActionItemProvider = new DestroyObjectActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return destroyObjectActionItemProvider;
+ }
+
+ @Override
+ public Adapter createTestIdentityActionAdapter() {
+ if (testIdentityActionItemProvider == null) {
+ testIdentityActionItemProvider = new TestIdentityActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return testIdentityActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReadSelfActionAdapter() {
+ if (readSelfActionItemProvider == null) {
+ readSelfActionItemProvider = new ReadSelfActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readSelfActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReadStructuralFeatureActionAdapter() {
+ if (readStructuralFeatureActionItemProvider == null) {
+ readStructuralFeatureActionItemProvider = new ReadStructuralFeatureActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readStructuralFeatureActionItemProvider;
+ }
+
+ @Override
+ public Adapter createClearStructuralFeatureActionAdapter() {
+ if (clearStructuralFeatureActionItemProvider == null) {
+ clearStructuralFeatureActionItemProvider = new ClearStructuralFeatureActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return clearStructuralFeatureActionItemProvider;
+ }
+
+ @Override
+ public Adapter createRemoveStructuralFeatureValueActionAdapter() {
+ if (removeStructuralFeatureValueActionItemProvider == null) {
+ removeStructuralFeatureValueActionItemProvider = new RemoveStructuralFeatureValueActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return removeStructuralFeatureValueActionItemProvider;
+ }
+
+ @Override
+ public Adapter createAddStructuralFeatureValueActionAdapter() {
+ if (addStructuralFeatureValueActionItemProvider == null) {
+ addStructuralFeatureValueActionItemProvider = new AddStructuralFeatureValueActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return addStructuralFeatureValueActionItemProvider;
+ }
+
+ @Override
+ public Adapter createLinkEndDataAdapter() {
+ if (linkEndDataItemProvider == null) {
+ linkEndDataItemProvider = new LinkEndDataItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return linkEndDataItemProvider;
+ }
+
+ @Override
+ public Adapter createQualifierValueAdapter() {
+ if (qualifierValueItemProvider == null) {
+ qualifierValueItemProvider = new QualifierValueItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return qualifierValueItemProvider;
+ }
+
+ @Override
+ public Adapter createReadLinkActionAdapter() {
+ if (readLinkActionItemProvider == null) {
+ readLinkActionItemProvider = new ReadLinkActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readLinkActionItemProvider;
+ }
+
+ @Override
+ public Adapter createLinkEndCreationDataAdapter() {
+ if (linkEndCreationDataItemProvider == null) {
+ linkEndCreationDataItemProvider = new LinkEndCreationDataItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return linkEndCreationDataItemProvider;
+ }
+
+ @Override
+ public Adapter createCreateLinkActionAdapter() {
+ if (createLinkActionItemProvider == null) {
+ createLinkActionItemProvider = new CreateLinkActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return createLinkActionItemProvider;
+ }
+
+ @Override
+ public Adapter createDestroyLinkActionAdapter() {
+ if (destroyLinkActionItemProvider == null) {
+ destroyLinkActionItemProvider = new DestroyLinkActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return destroyLinkActionItemProvider;
+ }
+
+ @Override
+ public Adapter createLinkEndDestructionDataAdapter() {
+ if (linkEndDestructionDataItemProvider == null) {
+ linkEndDestructionDataItemProvider = new LinkEndDestructionDataItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return linkEndDestructionDataItemProvider;
+ }
+
+ @Override
+ public Adapter createClearAssociationActionAdapter() {
+ if (clearAssociationActionItemProvider == null) {
+ clearAssociationActionItemProvider = new ClearAssociationActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return clearAssociationActionItemProvider;
+ }
+
+ @Override
+ public Adapter createBroadcastSignalActionAdapter() {
+ if (broadcastSignalActionItemProvider == null) {
+ broadcastSignalActionItemProvider = new BroadcastSignalActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return broadcastSignalActionItemProvider;
+ }
+
+ @Override
+ public Adapter createSendObjectActionAdapter() {
+ if (sendObjectActionItemProvider == null) {
+ sendObjectActionItemProvider = new SendObjectActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return sendObjectActionItemProvider;
+ }
+
+ @Override
+ public Adapter createValueSpecificationActionAdapter() {
+ if (valueSpecificationActionItemProvider == null) {
+ valueSpecificationActionItemProvider = new ValueSpecificationActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return valueSpecificationActionItemProvider;
+ }
+
+ @Override
+ public Adapter createTimeExpressionAdapter() {
+ if (timeExpressionItemProvider == null) {
+ timeExpressionItemProvider = new TimeExpressionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return timeExpressionItemProvider;
+ }
+
+ @Override
+ public Adapter createDurationAdapter() {
+ if (durationItemProvider == null) {
+ durationItemProvider = new DurationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return durationItemProvider;
+ }
+
+ @Override
+ public Adapter createValuePinAdapter() {
+ if (valuePinItemProvider == null) {
+ valuePinItemProvider = new ValuePinItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return valuePinItemProvider;
+ }
+
+ @Override
+ public Adapter createDurationIntervalAdapter() {
+ if (durationIntervalItemProvider == null) {
+ durationIntervalItemProvider = new DurationIntervalItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return durationIntervalItemProvider;
+ }
+
+ @Override
+ public Adapter createIntervalAdapter() {
+ if (intervalItemProvider == null) {
+ intervalItemProvider = new IntervalItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return intervalItemProvider;
+ }
+
+ @Override
+ public Adapter createTimeConstraintAdapter() {
+ if (timeConstraintItemProvider == null) {
+ timeConstraintItemProvider = new TimeConstraintItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return timeConstraintItemProvider;
+ }
+
+ @Override
+ public Adapter createIntervalConstraintAdapter() {
+ if (intervalConstraintItemProvider == null) {
+ intervalConstraintItemProvider = new IntervalConstraintItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return intervalConstraintItemProvider;
+ }
+
+ @Override
+ public Adapter createTimeIntervalAdapter() {
+ if (timeIntervalItemProvider == null) {
+ timeIntervalItemProvider = new TimeIntervalItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return timeIntervalItemProvider;
+ }
+
+ @Override
+ public Adapter createDurationConstraintAdapter() {
+ if (durationConstraintItemProvider == null) {
+ durationConstraintItemProvider = new DurationConstraintItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return durationConstraintItemProvider;
+ }
+
+ @Override
+ public Adapter createTimeObservationAdapter() {
+ if (timeObservationItemProvider == null) {
+ timeObservationItemProvider = new TimeObservationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return timeObservationItemProvider;
+ }
+
+ @Override
+ public Adapter createDurationObservationAdapter() {
+ if (durationObservationItemProvider == null) {
+ durationObservationItemProvider = new DurationObservationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return durationObservationItemProvider;
+ }
+
+ @Override
+ public Adapter createOpaqueActionAdapter() {
+ if (opaqueActionItemProvider == null) {
+ opaqueActionItemProvider = new OpaqueActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return opaqueActionItemProvider;
+ }
+
+ @Override
+ public Adapter createSendSignalActionAdapter() {
+ if (sendSignalActionItemProvider == null) {
+ sendSignalActionItemProvider = new SendSignalActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return sendSignalActionItemProvider;
+ }
+
+ @Override
+ public Adapter createCallOperationActionAdapter() {
+ if (callOperationActionItemProvider == null) {
+ callOperationActionItemProvider = new CallOperationActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return callOperationActionItemProvider;
+ }
+
+ @Override
+ public Adapter createCallBehaviorActionAdapter() {
+ if (callBehaviorActionItemProvider == null) {
+ callBehaviorActionItemProvider = new CallBehaviorActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return callBehaviorActionItemProvider;
+ }
+
+ @Override
+ public Adapter createInformationItemAdapter() {
+ if (informationItemItemProvider == null) {
+ informationItemItemProvider = new InformationItemItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return informationItemItemProvider;
+ }
+
+ @Override
+ public Adapter createInformationFlowAdapter() {
+ if (informationFlowItemProvider == null) {
+ informationFlowItemProvider = new InformationFlowItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return informationFlowItemProvider;
+ }
+
+ @Override
+ public Adapter createModelAdapter() {
+ if (modelItemProvider == null) {
+ modelItemProvider = new ModelItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return modelItemProvider;
+ }
+
+ @Override
+ public Adapter createReadVariableActionAdapter() {
+ if (readVariableActionItemProvider == null) {
+ readVariableActionItemProvider = new ReadVariableActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readVariableActionItemProvider;
+ }
+
+ @Override
+ public Adapter createClearVariableActionAdapter() {
+ if (clearVariableActionItemProvider == null) {
+ clearVariableActionItemProvider = new ClearVariableActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return clearVariableActionItemProvider;
+ }
+
+ @Override
+ public Adapter createAddVariableValueActionAdapter() {
+ if (addVariableValueActionItemProvider == null) {
+ addVariableValueActionItemProvider = new AddVariableValueActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return addVariableValueActionItemProvider;
+ }
+
+ @Override
+ public Adapter createRemoveVariableValueActionAdapter() {
+ if (removeVariableValueActionItemProvider == null) {
+ removeVariableValueActionItemProvider = new RemoveVariableValueActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return removeVariableValueActionItemProvider;
+ }
+
+ @Override
+ public Adapter createRaiseExceptionActionAdapter() {
+ if (raiseExceptionActionItemProvider == null) {
+ raiseExceptionActionItemProvider = new RaiseExceptionActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return raiseExceptionActionItemProvider;
+ }
+
+ @Override
+ public Adapter createActionInputPinAdapter() {
+ if (actionInputPinItemProvider == null) {
+ actionInputPinItemProvider = new ActionInputPinItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return actionInputPinItemProvider;
+ }
+
+ @Override
+ public Adapter createReadExtentActionAdapter() {
+ if (readExtentActionItemProvider == null) {
+ readExtentActionItemProvider = new ReadExtentActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readExtentActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReclassifyObjectActionAdapter() {
+ if (reclassifyObjectActionItemProvider == null) {
+ reclassifyObjectActionItemProvider = new ReclassifyObjectActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return reclassifyObjectActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReadIsClassifiedObjectActionAdapter() {
+ if (readIsClassifiedObjectActionItemProvider == null) {
+ readIsClassifiedObjectActionItemProvider = new ReadIsClassifiedObjectActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readIsClassifiedObjectActionItemProvider;
+ }
+
+ @Override
+ public Adapter createStartClassifierBehaviorActionAdapter() {
+ if (startClassifierBehaviorActionItemProvider == null) {
+ startClassifierBehaviorActionItemProvider = new StartClassifierBehaviorActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return startClassifierBehaviorActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReadLinkObjectEndActionAdapter() {
+ if (readLinkObjectEndActionItemProvider == null) {
+ readLinkObjectEndActionItemProvider = new ReadLinkObjectEndActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readLinkObjectEndActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReadLinkObjectEndQualifierActionAdapter() {
+ if (readLinkObjectEndQualifierActionItemProvider == null) {
+ readLinkObjectEndQualifierActionItemProvider = new ReadLinkObjectEndQualifierActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return readLinkObjectEndQualifierActionItemProvider;
+ }
+
+ @Override
+ public Adapter createCreateLinkObjectActionAdapter() {
+ if (createLinkObjectActionItemProvider == null) {
+ createLinkObjectActionItemProvider = new CreateLinkObjectActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return createLinkObjectActionItemProvider;
+ }
+
+ @Override
+ public Adapter createAcceptEventActionAdapter() {
+ if (acceptEventActionItemProvider == null) {
+ acceptEventActionItemProvider = new AcceptEventActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return acceptEventActionItemProvider;
+ }
+
+ @Override
+ public Adapter createAcceptCallActionAdapter() {
+ if (acceptCallActionItemProvider == null) {
+ acceptCallActionItemProvider = new AcceptCallActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return acceptCallActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReplyActionAdapter() {
+ if (replyActionItemProvider == null) {
+ replyActionItemProvider = new ReplyActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return replyActionItemProvider;
+ }
+
+ @Override
+ public Adapter createUnmarshallActionAdapter() {
+ if (unmarshallActionItemProvider == null) {
+ unmarshallActionItemProvider = new UnmarshallActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return unmarshallActionItemProvider;
+ }
+
+ @Override
+ public Adapter createReduceActionAdapter() {
+ if (reduceActionItemProvider == null) {
+ reduceActionItemProvider = new ReduceActionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return reduceActionItemProvider;
+ }
+
+ @Override
+ public Adapter createControlFlowAdapter() {
+ if (controlFlowItemProvider == null) {
+ controlFlowItemProvider = new ControlFlowItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return controlFlowItemProvider;
+ }
+
+ @Override
+ public Adapter createInitialNodeAdapter() {
+ if (initialNodeItemProvider == null) {
+ initialNodeItemProvider = new InitialNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return initialNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createActivityParameterNodeAdapter() {
+ if (activityParameterNodeItemProvider == null) {
+ activityParameterNodeItemProvider = new ActivityParameterNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return activityParameterNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createForkNodeAdapter() {
+ if (forkNodeItemProvider == null) {
+ forkNodeItemProvider = new ForkNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return forkNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createFlowFinalNodeAdapter() {
+ if (flowFinalNodeItemProvider == null) {
+ flowFinalNodeItemProvider = new FlowFinalNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return flowFinalNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createCentralBufferNodeAdapter() {
+ if (centralBufferNodeItemProvider == null) {
+ centralBufferNodeItemProvider = new CentralBufferNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return centralBufferNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createMergeNodeAdapter() {
+ if (mergeNodeItemProvider == null) {
+ mergeNodeItemProvider = new MergeNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return mergeNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createDecisionNodeAdapter() {
+ if (decisionNodeItemProvider == null) {
+ decisionNodeItemProvider = new DecisionNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return decisionNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createActivityFinalNodeAdapter() {
+ if (activityFinalNodeItemProvider == null) {
+ activityFinalNodeItemProvider = new ActivityFinalNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return activityFinalNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createJoinNodeAdapter() {
+ if (joinNodeItemProvider == null) {
+ joinNodeItemProvider = new JoinNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return joinNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createDataStoreNodeAdapter() {
+ if (dataStoreNodeItemProvider == null) {
+ dataStoreNodeItemProvider = new DataStoreNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return dataStoreNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createObjectFlowAdapter() {
+ if (objectFlowItemProvider == null) {
+ objectFlowItemProvider = new ObjectFlowItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return objectFlowItemProvider;
+ }
+
+ @Override
+ public Adapter createSequenceNodeAdapter() {
+ if (sequenceNodeItemProvider == null) {
+ sequenceNodeItemProvider = new SequenceNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return sequenceNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createConditionalNodeAdapter() {
+ if (conditionalNodeItemProvider == null) {
+ conditionalNodeItemProvider = new ConditionalNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return conditionalNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createClauseAdapter() {
+ if (clauseItemProvider == null) {
+ clauseItemProvider = new ClauseItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return clauseItemProvider;
+ }
+
+ @Override
+ public Adapter createLoopNodeAdapter() {
+ if (loopNodeItemProvider == null) {
+ loopNodeItemProvider = new LoopNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return loopNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createExpansionNodeAdapter() {
+ if (expansionNodeItemProvider == null) {
+ expansionNodeItemProvider = new ExpansionNodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return expansionNodeItemProvider;
+ }
+
+ @Override
+ public Adapter createExpansionRegionAdapter() {
+ if (expansionRegionItemProvider == null) {
+ expansionRegionItemProvider = new ExpansionRegionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return expansionRegionItemProvider;
+ }
+
+ @Override
+ public Adapter createComponentRealizationAdapter() {
+ if (componentRealizationItemProvider == null) {
+ componentRealizationItemProvider = new ComponentRealizationItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return componentRealizationItemProvider;
+ }
+
+ @Override
+ public Adapter createComponentAdapter() {
+ if (componentItemProvider == null) {
+ componentItemProvider = new ComponentItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return componentItemProvider;
+ }
+
+ @Override
+ public Adapter createNodeAdapter() {
+ if (nodeItemProvider == null) {
+ nodeItemProvider = new NodeItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return nodeItemProvider;
+ }
+
+ @Override
+ public Adapter createDeviceAdapter() {
+ if (deviceItemProvider == null) {
+ deviceItemProvider = new DeviceItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return deviceItemProvider;
+ }
+
+ @Override
+ public Adapter createExecutionEnvironmentAdapter() {
+ if (executionEnvironmentItemProvider == null) {
+ executionEnvironmentItemProvider = new ExecutionEnvironmentItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return executionEnvironmentItemProvider;
+ }
+
+ @Override
+ public Adapter createCommunicationPathAdapter() {
+ if (communicationPathItemProvider == null) {
+ communicationPathItemProvider = new CommunicationPathItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return communicationPathItemProvider;
+ }
+
+ @Override
+ public Adapter createFinalStateAdapter() {
+ if (finalStateItemProvider == null) {
+ finalStateItemProvider = new FinalStateItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return finalStateItemProvider;
+ }
+
+ @Override
+ public Adapter createTimeEventAdapter() {
+ if (timeEventItemProvider == null) {
+ timeEventItemProvider = new TimeEventItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return timeEventItemProvider;
+ }
+
+ @Override
+ public Adapter createProtocolTransitionAdapter() {
+ if (protocolTransitionItemProvider == null) {
+ protocolTransitionItemProvider = new ProtocolTransitionItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return protocolTransitionItemProvider;
+ }
+
+ @Override
+ public Adapter createAssociationClassAdapter() {
+ if (associationClassItemProvider == null) {
+ associationClassItemProvider = new AssociationClassItemProvider(this) {
+
+ @Override
+ protected StringBuffer appendLabel(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendLabel(text, object, shouldTranslate());
+ }
+
+ @Override
+ protected StringBuffer appendKeywords(final StringBuffer text, final Object object) {
+ return InternationalizationElementItemProviderUtils.appendKeywords(text, object, shouldTranslate());
+ }
+ };
+ }
+ return associationClassItemProvider;
+ }
+
+ /**
+ * This is copied from MiltiplicityElementItemProvider because the initial
+ * function is protected scoped.
+ *
+ * @param text
+ * The initial string buffer.
+ * @param object
+ * The object to manage multiplicity.
+ * @return The modified string buffer.
+ */
+ protected static StringBuffer appendMultiplicity(final StringBuffer text, final Object object) {
+
+ if (object instanceof MultiplicityElement) {
+ MultiplicityElement multiplicityElement = (MultiplicityElement) object;
+
+ if (multiplicityElement.eIsSet(UMLPackage.Literals.MULTIPLICITY_ELEMENT__LOWER)
+ || multiplicityElement.eIsSet(UMLPackage.Literals.MULTIPLICITY_ELEMENT__UPPER)) {
+
+ if (0 < text.length()) {
+ text.append(' ');
+ }
+
+ int upper = multiplicityElement.getUpper();
+
+ text.append('[').append(multiplicityElement.getLower()).append("..") //$NON-NLS-1$
+ .append(upper == LiteralUnlimitedNatural.UNLIMITED ? "*" : String.valueOf(upper)).append(']'); //$NON-NLS-1$
+ }
+ }
+
+ return text;
+ }
+}
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java
new file mode 100644
index 00000000000..edc9e26d7c2
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.edit/src/org/eclipse/papyrus/uml/internationalization/edit/utils/InternationalizationElementItemProviderUtils.java
@@ -0,0 +1,130 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization.edit.utils;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils;
+import org.eclipse.papyrus.uml.internationalization.utils.utils.UMLLabelInternationalization;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.edit.providers.ElementItemProvider;
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+/**
+ * The appendLabel and appendKeywords inspired from {@link ElementItemProvider}
+ * and avoid code duplication in the inherited from
+ * {@link UMLItemProviderAdapterFactory}.
+ */
+public class InternationalizationElementItemProviderUtils {
+
+ /**
+ * This allows to append the label if the internationalization preference is set to <code>true</code>.
+ *
+ * @param text The initial String buffer.
+ * @param object The object.
+ * @param souldTranslate The boolean shouldTranslate.
+ * @return The modified {@link StringBuffer}.
+ */
+ public static StringBuffer appendLabel(final StringBuffer text, final Object object, final boolean souldTranslate) {
+ StringBuffer result = text;
+ if (object instanceof NamedElement) {
+ if (InternationalizationPreferencesUtils.getInternationalizationPreference((NamedElement) object)) {
+ result = appendString(text, UMLLabelInternationalization.getInstance().getLabel((NamedElement) object, souldTranslate));
+ } else {
+ result = appendString(text, ((NamedElement) object).getName());
+ }
+ }
+ return result;
+ }
+
+ /**
+ * This allows to append a string to the current {@link StringBuffer}.
+ *
+ * @param text The initial {@link StringBuffer}.
+ * @param string The string to append.
+ * @return The modified {@link StringBuffer}.
+ */
+ private static StringBuffer appendString(final StringBuffer text, final String string) {
+
+ if (!UML2Util.isEmpty(string)) {
+
+ if (text.length() > 0) {
+ text.append(' '); // $NON-NLS-1$
+ }
+
+ text.append(string);
+ }
+
+ return text;
+ }
+
+ /**
+ * This allows to append the keywords if the internationalization preference is set to <code>true</code>.
+ *
+ * @param text The initial String buffer.
+ * @param object The object.
+ * @param souldTranslate The boolean shouldTranslate.
+ * @return The modified {@link StringBuffer}.
+ */
+ public static StringBuffer appendKeywords(final StringBuffer text, final Object object,
+ final boolean shouldTranslate) {
+ if (object instanceof Element) {
+ final Element element = (Element) object;
+
+ final Iterator<Stereotype> appliedStereotypes = element.getAppliedStereotypes().iterator();
+ Iterator<String> keywords = new ArrayList<String>().iterator();
+ if (InternationalizationPreferencesUtils.getInternationalizationPreference(element)) {
+ keywords = element.getKeywords().iterator();
+ }
+
+ if (appliedStereotypes.hasNext() || keywords.hasNext()) {
+
+ if (text.length() > 0) {
+ text.append(' '); // $NON-NLS-1$
+ }
+
+ text.append("<<"); //$NON-NLS-1$
+
+ while (appliedStereotypes.hasNext()) {
+ if (InternationalizationPreferencesUtils.getInternationalizationPreference(element)) {
+ text.append(UMLLabelInternationalization.getInstance().getKeyword(appliedStereotypes.next(), shouldTranslate));
+ } else {
+ text.append(appliedStereotypes.next().getName());
+ }
+
+ if (appliedStereotypes.hasNext() || keywords.hasNext()) {
+ text.append(", "); //$NON-NLS-1$
+ }
+ }
+
+ while (keywords.hasNext()) {
+ text.append(keywords.next());
+
+ if (keywords.hasNext()) {
+ text.append(", "); //$NON-NLS-1$
+ }
+ }
+
+ text.append(">>"); //$NON-NLS-1$
+ }
+ }
+
+ return text;
+ }
+
+}
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath
new file mode 100644
index 00000000000..4221242104f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project
new file mode 100644
index 00000000000..9031f64a5d4
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.internationalization.utils</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0c68a61dca8
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..8ff2a5b5e61
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.internationalization.utils;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.ui.workbench;bundle-version="[3.108.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.papyrus.infra.internationalization;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.internationalization.utils;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.internationalization.common;bundle-version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.uml.internationalization.utils.Activator
+Export-Package: org.eclipse.papyrus.uml.internationalization.utils.utils
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html
new file mode 100644
index 00000000000..598b3684879
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties
new file mode 100644
index 00000000000..2964bc2d7b1
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/build.properties
@@ -0,0 +1,11 @@
+#
+
+bin.includes = .,\
+ META-INF/,\
+ about.html,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties
new file mode 100644
index 00000000000..b5d95b55d81
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = Papyrus Internationalization for UML Utils
+providerName = Eclipse Modeling Project
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml
new file mode 100644
index 00000000000..7ac51d15095
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/plugin.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+</plugin>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml
new file mode 100644
index 00000000000..324f359c45f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.internationalization.utils</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java
new file mode 100644
index 00000000000..9611e36f3cf
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/Activator.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization.utils;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.internationalization.utils"; //$NON-NLS-1$
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+ /**
+ * The log helper.
+ */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+}
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java
new file mode 100644
index 00000000000..daa579ae41f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization.utils/src/org/eclipse/papyrus/uml/internationalization/utils/utils/UMLLabelInternationalization.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization.utils.utils;
+
+import java.util.Locale;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils;
+import org.eclipse.papyrus.infra.internationalization.utils.utils.LabelInternationalizationUtils;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Stereotype;
+
+/**
+ * The internationalization label manager for UML elements.
+ */
+public class UMLLabelInternationalization {
+
+ /**
+ * The singleton instance.
+ */
+ private static UMLLabelInternationalization instance;
+
+ /**
+ * Constructor.
+ */
+ protected UMLLabelInternationalization() {
+
+ }
+
+ /**
+ * Get the singleton instance (create it if not existing).
+ *
+ * @return The singleton instance.
+ */
+ public static UMLLabelInternationalization getInstance() {
+ if (null == instance) {
+ instance = new UMLLabelInternationalization();
+ }
+ return instance;
+ }
+
+ /**
+ * This allows to get the label of the named element.
+ *
+ * @param namedElement
+ * The named element.
+ * @return The label of the named element or the name if the label is null.
+ */
+ public String getLabel(final NamedElement namedElement) {
+ return getLabel(namedElement, true);
+ }
+
+ /**
+ * This allows to get the label of the named element.
+ *
+ * @param namedElement
+ * The named element.
+ * @param localize
+ * Boolean to determinate if the locale must be used.
+ * @return The label of the named element or the name if the label is null.
+ */
+ public String getLabel(final NamedElement namedElement, final boolean localize) {
+ String result = null;
+ if (null != namedElement.eResource() && InternationalizationPreferencesUtils.getInternationalizationPreference(namedElement)) {
+ result = getLabelWithoutUML(namedElement, localize);
+ }
+ return null != result ? result : namedElement.getName();
+ }
+
+ /**
+ * This allows to get the label of the named element without the getName
+ * when the label is null.
+ *
+ * @param namedElement
+ * The named element.
+ * @return The label of the named element.
+ */
+ public String getLabelWithoutUML(final NamedElement namedElement) {
+ return getLabelWithoutUML(namedElement, true);
+ }
+
+ /**
+ * This allows to get the label of the named element without the getName
+ * when the label is null.
+ *
+ * @param namedElement
+ * The named element.
+ * @param localize
+ * Boolean to determinate if the locale must be used.
+ * @return The label of the named element.
+ */
+ public String getLabelWithoutUML(final NamedElement namedElement, final boolean localize) {
+ return LabelInternationalizationUtils.getLabelWithoutSubstract(namedElement, localize);
+ }
+
+ /**
+ * This allows to set the named element label.
+ *
+ * @param namedElement
+ * The named element.
+ * @param value
+ * The label value.
+ * @param locale
+ * The locale for which set the value (if <code>null</code> set
+ * it for the current locale).
+ */
+ public void setLabel(final NamedElement namedElement, final String value, final Locale locale) {
+ LabelInternationalizationUtils.setLabel(namedElement, value, locale);
+ }
+
+ /**
+ * This allows to get the set named element label command.
+ *
+ * @param domain
+ * The editing domain to use.
+ * @param namedElement
+ * The named element.
+ * @param value
+ * The value to set.
+ * @param locale
+ * The locale for which set the value (if <code>null</code> set
+ * it for the current locale).
+ * @return The command which allow to set the named element label.
+ */
+ public Command getSetLabelCommand(final EditingDomain domain, final NamedElement namedElement, final String value, final Locale locale) {
+ return LabelInternationalizationUtils.getSetLabelCommand(domain, namedElement, value, locale);
+ }
+
+ /**
+ * This allows to get the keyword of the stereotype.
+ *
+ * @param stereotype
+ * The stereotype.
+ * @return The keyword of the stereotype or the name if the keyword is null.
+ */
+ public String getKeyword(final Stereotype stereotype) {
+ return getKeyword(stereotype, true);
+ }
+
+ /**
+ * This allows to get the keyword of the stereotype.
+ *
+ * @param stereotype
+ * The stereotype.
+ * @param localize
+ * Boolean to determinate if the locale must be used.
+ * @return The keyword of the stereotype or the name if the keyword is null.
+ */
+ public String getKeyword(final Stereotype stereotype, final boolean localize) {
+ String result = null;
+ if (null != stereotype.eResource() && InternationalizationPreferencesUtils.getInternationalizationPreference(stereotype)) {
+ result = LabelInternationalizationUtils.getLabelWithoutSubstract(stereotype, localize);
+ }
+ return null != result ? result : stereotype.getName();
+ }
+
+ /**
+ * This allows to get the keyword of the stereotype without the getName when
+ * the keyword is null.
+ *
+ * @param stereotype
+ * The stereotype.
+ * @return The keyword of the stereotype.
+ */
+ public String getKeywordWithoutUML(final Stereotype stereotype) {
+ return getKeywordWithoutUML(stereotype, true);
+ }
+
+ /**
+ * This allows to get the keyword of the stereotype without the getName when
+ * the keyword is null.
+ *
+ * @param stereotype
+ * The stereotype.
+ * @param localize
+ * Boolean to determinate if the locale must be used.
+ * @return The keyword of the stereotype.
+ */
+ public String getKeywordWithoutUML(final Stereotype stereotype, final boolean localize) {
+ return LabelInternationalizationUtils.getLabelWithoutSubstract(stereotype, localize);
+ }
+
+ /**
+ * This allows to set the stereotype keyword.
+ *
+ * @param stereotype
+ * The stereotype.
+ * @param value
+ * The label value.
+ * @param locale
+ * The locale for which set the value (if <code>null</code> set
+ * it for the current locale).
+ */
+ public void setKeyword(final Stereotype stereotype, final String value, final Locale locale) {
+ LabelInternationalizationUtils.setLabel(stereotype, value, locale);
+ }
+
+ /**
+ * This allows to get the set stereotype keyword command.
+ *
+ * @param domain
+ * The editing domain to use.
+ * @param stereotype
+ * The stereotype.
+ * @param value
+ * The value to set.
+ * @param locale
+ * The locale for which set the value (if <code>null</code> set
+ * it for the current locale).
+ * @return The command which allow to set the stereotype keyword.
+ */
+ public Command getSetKeywordCommand(final EditingDomain domain, final Stereotype stereotype, final String value, final Locale locale) {
+ return LabelInternationalizationUtils.getSetLabelCommand(domain, stereotype, value, locale);
+ }
+}
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath
new file mode 100644
index 00000000000..4221242104f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project
new file mode 100644
index 00000000000..a3066a51d9f
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.internationalization</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.oomph.version.VersionBuilder</name>
+ <arguments>
+ <dictionary>
+ <key>check.maven.pom</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>ignore.lower.bound.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0c68a61dca8
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..3aad2e96e9c
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.internationalization;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.ui.workbench;bundle-version="[3.108.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.internationalization;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.uml2.uml.edit;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.papyrus.infra.internationalization.common;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.papyrus.uml.internationalization.Activator
+Export-Package: org.eclipse.papyrus.uml.internationalization.modelresource
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html
new file mode 100644
index 00000000000..598b3684879
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>May 12, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties
new file mode 100644
index 00000000000..2964bc2d7b1
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/build.properties
@@ -0,0 +1,11 @@
+#
+
+bin.includes = .,\
+ META-INF/,\
+ about.html,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties
new file mode 100644
index 00000000000..df492e7fada
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.properties
@@ -0,0 +1,4 @@
+#
+
+pluginName = Papyrus Internationalization for UML
+providerName = Eclipse Modeling Project
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml
new file mode 100644
index 00000000000..6ff809acfb0
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/plugin.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.papyrus.infra.core.model">
+ <model
+ classname="org.eclipse.papyrus.uml.internationalization.modelresource.UMLInternationalizationModelResource"
+ description="Model for Papyrus UML internationalization"
+ fileExtension="properties"
+ required="false">
+ <modelSnippet
+ classname="org.eclipse.papyrus.infra.internationalization.modelsnippet.PropertiesAdjunctResourceModelSnippet"
+ description="Snippet for properties resource of referenced model resources">
+ </modelSnippet>
+ </model>
+ </extension>
+</plugin>
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml
new file mode 100644
index 00000000000..635c98d950d
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.internationalization</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java
new file mode 100644
index 00000000000..58a53286ad7
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/Activator.java
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.internationalization"; //$NON-NLS-1$
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+ /**
+ * The log helper.
+ */
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+}
diff --git a/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java
new file mode 100644
index 00000000000..1a97d84d56b
--- /dev/null
+++ b/plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java
@@ -0,0 +1,223 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (ALL4TEC) nicolas.fauvergue@all4tec.net - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.internationalization.modelresource;
+
+import java.util.List;
+import java.util.Locale;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.internationalization.InternationalizationEntry;
+import org.eclipse.papyrus.infra.internationalization.InternationalizationLibrary;
+import org.eclipse.papyrus.infra.internationalization.commands.ResetNameCommand;
+import org.eclipse.papyrus.infra.internationalization.commands.ResetNameTransactionalCommand;
+import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils;
+import org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource;
+import org.eclipse.papyrus.uml.tools.utils.NameResolutionUtils;
+import org.eclipse.papyrus.uml.tools.utils.NamedElementUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * This allows to manage the UML internationalization resource.
+ */
+public class UMLInternationalizationModelResource extends InternationalizationModelResource {
+
+ /**
+ * The qualified name separator replacement into properties file.
+ */
+ private static final String QUALIFIED_NAME_SEPARATOR_REPLACEMENT = "__"; //$NON-NLS-1$
+
+ /**
+ * Constructor.
+ */
+ public UMLInternationalizationModelResource() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#loadResource(org.eclipse.emf.common.util.URI,
+ * java.util.Locale)
+ */
+ @Override
+ protected Resource loadResource(final URI uri, final Locale locale) {
+ Resource resource = super.loadResource(uri, locale);
+
+ if (null != resource) {
+ convertInternationalizationToUMLElements(uri, locale);
+ }
+
+ return resource;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#createModel(org.eclipse.emf.common.util.URI)
+ */
+ @Override
+ public void createModel(final URI uriWithoutExtension) {
+ super.createModel(uriWithoutExtension);
+ final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension());
+ convertInternationalizationToUMLElements(uri, InternationalizationPreferencesUtils.getLocalePreference(uri));
+ }
+
+ /**
+ * This allows to convert the internationalization entries from String to
+ * UML Named Element managed by their qualified names.
+ *
+ * @param uri
+ * The URI of the properties file with the extension.
+ * @param locale
+ * The locale to use.
+ */
+ protected void convertInternationalizationToUMLElements(final URI uri, final Locale locale) {
+ final Resource resource = getResourceForURIAndLocale(uri, locale);
+
+ if (null != resource && null != resource.getContents() && !resource.getContents().isEmpty()) {
+ final InternationalizationLibrary library = (InternationalizationLibrary) resource.getContents().get(0);
+
+ for (final InternationalizationEntry entry : library.getEntries()) {
+ Object key = entry.getKey();
+ if (key instanceof String) {
+ if (((String) key).startsWith(LABEL_PREFIX)) {
+ key = ((String) key).substring(LABEL_PREFIX.length());
+ }
+ final String qualifiedName = ((String) key).replaceAll(QUALIFIED_NAME_SEPARATOR_REPLACEMENT,
+ NamedElementUtil.QUALIFIED_NAME_SEPARATOR); // $NON-NLS-1$
+
+ // TODO: is this the good way to get the named elements by
+ // qualified names?
+ final Resource umlResource = modelSet
+ .getResource(uri.trimFileExtension().appendFileExtension(UMLResource.FILE_EXTENSION), true);
+ if (null != umlResource && null != umlResource.getContents()
+ && !umlResource.getContents().isEmpty()) {
+ final List<NamedElement> elements = NameResolutionUtils.getNamedElements(qualifiedName,
+ ((Element) umlResource.getContents().get(0)), null);
+
+ if (!elements.isEmpty() && 1 == elements.size()) {
+ final NamedElement umlElement = elements.get(0);
+ entry.setKey(umlElement);
+ addModifiedAdapter(umlElement, resource);
+ }
+ }
+ }
+ }
+
+ resource.setModified(false);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#getSetNameValueCommand(org.eclipse.emf.edit.domain.EditingDomain,
+ * org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ protected Command getSetNameValueCommand(final EditingDomain domain, final EObject eObject) {
+ Command result = null;
+
+ // Change name for named element
+ if (eObject instanceof NamedElement) {
+ if (domain instanceof TransactionalEditingDomain) {
+ result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand(
+ (TransactionalEditingDomain) domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name()));
+ } else {
+ result = new ResetNameCommand(domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name());
+ }
+ } else {
+ result = super.getSetNameValueCommand(domain, eObject);
+ }
+
+ return result;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#setNameValue(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ protected void setNameValue(final EObject eObject) {
+
+ // Change name for named element
+ if (eObject instanceof NamedElement) {
+ String oldName = ((NamedElement) eObject).getName();
+ ((NamedElement) eObject).setName(null);
+ ((NamedElement) eObject).setName(oldName);
+ } else {
+ super.setNameValue(eObject);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.papyrus.infra.internationalization.modelresource.InternationalizationModelResource#getKey(org.eclipse.papyrus.infra.internationalization.InternationalizationEntry)
+ */
+ @Override
+ protected String getKey(final InternationalizationEntry entry) {
+ final StringBuilder stringBuilder = new StringBuilder();
+ if (entry.getKey() instanceof NamedElement) {
+
+ if (!(entry.getKey() instanceof Stereotype)) {
+ stringBuilder.append(LABEL_PREFIX);
+ }
+
+ Resource umlResource = ((NamedElement) entry.getKey()).eResource();
+
+ Namespace superElementInSameResource = null;
+
+ if (null != umlResource) {
+ for (final EObject eObjectContent : umlResource.getContents()) {
+ if (eObjectContent instanceof Namespace
+ && EcoreUtil.isAncestor(eObjectContent, (NamedElement) entry.getKey())) {
+ superElementInSameResource = (Namespace) eObjectContent;
+ }
+ }
+ }
+
+ // Use the shortest qualified name for the control mode if needed
+ boolean shortestQualifiedNameUsed = false;
+
+ if (superElementInSameResource.eContainer() != null) {
+ List<String> shortestQualifiedNames = NameResolutionUtils.getShortestQualifiedNames(
+ (NamedElement) entry.getKey(), (Namespace) superElementInSameResource.eContainer(), false);
+ if (!shortestQualifiedNames.isEmpty()) {
+ stringBuilder.append(shortestQualifiedNames.get(0).replaceAll(
+ NamedElementUtil.QUALIFIED_NAME_SEPARATOR, QUALIFIED_NAME_SEPARATOR_REPLACEMENT));
+ shortestQualifiedNameUsed = true;
+ }
+ }
+ if (!shortestQualifiedNameUsed) {
+ stringBuilder.append(((NamedElement) entry.getKey()).getQualifiedName()
+ .replaceAll(NamedElementUtil.QUALIFIED_NAME_SEPARATOR, QUALIFIED_NAME_SEPARATOR_REPLACEMENT));
+ }
+ }
+ return 0 != stringBuilder.length() ? stringBuilder.toString() : super.getKey(entry);
+ }
+} \ No newline at end of file
diff --git a/plugins/uml/internationalization/pom.xml b/plugins/uml/internationalization/pom.xml
new file mode 100644
index 00000000000..b6161ff5716
--- /dev/null
+++ b/plugins/uml/internationalization/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.uml</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml-internationalization</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Papyrus UML Internationalization</name>
+ <description>Papyrus Internationalization for UML..</description>
+
+ <modules>
+ <module>org.eclipse.papyrus.uml.internationalization</module>
+ <module>org.eclipse.papyrus.uml.internationalization.edit</module>
+ <module>org.eclipse.papyrus.uml.internationalization.utils</module>
+ </modules>
+
+</project> \ No newline at end of file

Back to the top