Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.pngbin15707 -> 33304 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.pngbin0 -> 15707 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki13
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt8
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java56
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java47
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java2
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml6
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java10
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java53
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java37
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml9
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java3
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java31
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties4
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java61
-rw-r--r--plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java455
-rw-r--r--plugins/uml/internationalization/org.eclipse.papyrus.uml.internationalization/src/org/eclipse/papyrus/uml/internationalization/modelresource/UMLInternationalizationModelResource.java22
18 files changed, 582 insertions, 235 deletions
diff --git a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png
index a3796931ef1..73c2313dcbb 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png
+++ b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferences.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.png b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.png
new file mode 100644
index 00000000000..a3796931ef1
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/images/InternationalizationPreferencesForModel.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki
index 81b3deda1c7..9bbaab7b18f 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki
+++ b/plugins/doc/org.eclipse.papyrus.infra.internationalization.doc/src/site/mediawiki/internationalizationDev.mediawiki
@@ -134,6 +134,7 @@ The <code>UMLLabelInternationalization</code> class contains following needed me
|}
== Internationalization preferences ==
+===Preferences for internationalization usability===
Two preferences are managed in the Papyrus model:
* useInternationalization: Boolean to determinate if the internationalization must be used
* language: String to define the selected language for the internationalization
@@ -144,13 +145,23 @@ The preferences are stored as EAnnotation:
* in the metadata in this is not a private storage
-[[Image:images/InternationalizationPreferences.png|frame|none|Internationalization preferences management]]
+[[Image:images/InternationalizationPreferencesForModel.png|frame|none|Internationalization model preferences management]]
Those preferences are managed in a <code>PreferenceStore</code> in the activator of org.eclipse.papyrus.infra.internationalization.common plugin.
The <code>PapyrusProjectScope</code> allows to manage the preferences for the Eclipse project with Papyrus model name.
+===Preferences for internationalization activation===
+Two preferences are managed for the internationalization activation:
+* Load internationalization files for model
+* Load internationalization of external files (profiles, imported packages)
+
+[[Image:images/InternationalizationPreferences.png|frame|none|Internationalization preferences management]]
+
+Thoses preferences are stored in the <code>PreferenceStore</code> in the activator of org.eclipse.papyrus.infra.internationalization.common plugin and are managed by the org.eclipse.papyrus.infra.internationalization.common plugin.
+
+
== Control mode ==
The sub-models are managed with the properties files.
Indeed, when an object is created as sub-model, the key representing this object or its descendance in the properties files must be moved in sub-properties files corresponding to the controlled object.
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt
index 66a074b448a..55f35e37876 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/model/general/ui/SingleInternationalization.xwt
@@ -8,10 +8,10 @@
<Composite.layout>
<ppel:PropertiesLayout></ppel:PropertiesLayout>
</Composite.layout>
- <ppe:BooleanCheckbox input="{Binding}"
- property="welcomeInternationalization:Internationalization:privateStorage"></ppe:BooleanCheckbox>
- <ppe:BooleanCheckbox input="{Binding}"
- property="welcomeInternationalization:Internationalization:useInternationalization"></ppe:BooleanCheckbox>
+ <ppewi:BooleanInternationalizationCheckbox input="{Binding}"
+ property="welcomeInternationalization:Internationalization:privateStorage"></ppewi:BooleanInternationalizationCheckbox>
+ <ppewi:BooleanInternationalizationCheckbox input="{Binding}"
+ property="welcomeInternationalization:Internationalization:useInternationalization"></ppewi:BooleanInternationalizationCheckbox>
<ppewi:LanguageDialog input="{Binding}"
property="welcomeInternationalization:Internationalization:language"></ppewi:LanguageDialog>
</Composite> \ No newline at end of file
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java
new file mode 100644
index 00000000000..8da22853ae1
--- /dev/null
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/BooleanInternationalizationCheckbox.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2017 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 (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets;
+
+import org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors.BooleanInternationalizationChecbox;
+import org.eclipse.papyrus.infra.properties.ui.widgets.AbstractPropertyEditor;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * The boolean internationalization checkbox widget for the internationalization.
+ */
+public class BooleanInternationalizationCheckbox extends AbstractPropertyEditor {
+
+ /**
+ * The Boolean internationalization checkbox widget.
+ */
+ protected BooleanInternationalizationChecbox editor;
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * The composite in which the widget will be displayed.
+ * @param style
+ * The style for the widget.
+ */
+ public BooleanInternationalizationCheckbox(final Composite parent, final int style) {
+ setEditor(createLanguageDialogEditor(parent, style));
+ }
+
+ /**
+ * Creates the boolean internationalization checkbox.
+ *
+ * @param parent
+ * The composite in which the widget will be displayed.
+ * @param style
+ * The style for the widget.
+ * @return The boolean internationalization checkbox.
+ */
+ protected org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors.BooleanInternationalizationChecbox createLanguageDialogEditor(
+ final Composite parent, final int style) {
+ return editor = new org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors.BooleanInternationalizationChecbox(parent, style);
+ }
+
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java
new file mode 100644
index 00000000000..9ec7745539e
--- /dev/null
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/BooleanInternationalizationChecbox.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2017 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 (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.editor.welcome.internationalization.widgets.editors;
+
+import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils;
+import org.eclipse.papyrus.infra.widgets.editors.BooleanCheckbox;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * This allows to define the boolean checkbox that will be read only if the internationalization load preference is not enabled.
+ */
+public class BooleanInternationalizationChecbox extends BooleanCheckbox {
+
+ /**
+ * Constructor.
+ *
+ * @param parent
+ * The composite in which the widget will be displayed.
+ * @param style
+ * The style for the widget.
+ *
+ */
+ public BooleanInternationalizationChecbox(final Composite parent, final int style) {
+ super(parent, style);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.infra.widgets.editors.BooleanCheckbox#setReadOnly(boolean)
+ *
+ * @param readOnly
+ */
+ @Override
+ public void setReadOnly(boolean readOnly) {
+ super.setReadOnly(readOnly || !InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded());
+ }
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java
index c5a7a4820c7..fe3fbcfaf58 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.editor.welcome.internationalization/src/org/eclipse/papyrus/infra/editor/welcome/internationalization/widgets/editors/LanguageDialog.java
@@ -226,7 +226,7 @@ public class LanguageDialog extends AbstractValueEditor implements SelectionList
*/
@Override
public void setReadOnly(final boolean readOnly) {
- this.readOnly = readOnly;
+ this.readOnly = readOnly || !InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded();
updateControls();
}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml
index 7ac51d15095..f937b1e2677 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/plugin.xml
@@ -5,5 +5,11 @@
-->
<plugin>
+ <extension
+ point="org.eclipse.core.runtime.preferences">
+ <initializer
+ class="org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesInitializer">
+ </initializer>
+ </extension>
</plugin>
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java
index b7bf90ed5c0..4240fdb222d 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesConstants.java
@@ -38,4 +38,14 @@ public class InternationalizationPreferencesConstants {
*/
public static final String LANGUAGE_PREFERENCE = "language"; //$NON-NLS-1$
+ /**
+ * The preference constant to determinate if the internationalization must be used or not.
+ */
+ public static final String LOAD_INTERNATIONALIZATION = "loadInternationalization"; //$NON-NLS-1$
+
+ /**
+ * The preference constant to determinate if the internationalization of the external files must be used or not.
+ */
+ public static final String LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES = "loadInternationalizationofExternalFiles"; //$NON-NLS-1$
+
}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java
new file mode 100644
index 00000000000..4cf7af242cc
--- /dev/null
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesInitializer.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2017 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 (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.internationalization.common.utils;
+
+import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.infra.internationalization.common.Activator;
+
+/**
+ * The internationalization preference initializer.
+ */
+public class InternationalizationPreferencesInitializer extends AbstractPreferenceInitializer {
+
+ /**
+ * Constructor.
+ */
+ public InternationalizationPreferencesInitializer() {
+ super();
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
+ */
+ @Override
+ public void initializeDefaultPreferences() {
+ IPreferenceStore store = getPreferenceStore();
+ store.setDefault(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION, true);
+ store.setDefault(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES, false);
+ }
+
+ /**
+ * Get the preference store.
+ *
+ * @return The preference store.
+ */
+ protected IPreferenceStore getPreferenceStore() {
+ return Activator.getDefault().getPreferenceStore();
+ }
+
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java
index 5d3157c71b8..14bbe347097 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.common/src/org/eclipse/papyrus/infra/internationalization/common/utils/InternationalizationPreferencesUtils.java
@@ -34,6 +34,43 @@ import org.eclipse.papyrus.infra.internationalization.common.Activator;
* change the internationalization preference value.
*/
public class InternationalizationPreferencesUtils {
+
+ /**
+ * This allows to get the load of internationalization preference value.
+ *
+ * @return <code>true</code> if the internationalization need to be loaded, <code>false</code> otherwise.
+ */
+ public static boolean isInternationalizationNeedToBeLoaded() {
+ boolean result = false;
+
+ IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
+ if(null != preferenceStore) {
+ if(preferenceStore.contains(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION)) {
+ result = preferenceStore.getBoolean(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION);
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * This allows to get the load of internationalization of external files preference value.
+ *
+ * @return <code>true</code> if the internationalization of external files need to be loaded, <code>false</code> otherwise.
+ */
+ public static boolean isInternationalizationExternalFilesNeedToBeLoaded() {
+ boolean result = false;
+
+ IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();
+ if(null != preferenceStore) {
+ if(preferenceStore.contains(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES)) {
+ result = preferenceStore.getBoolean(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES);
+ }
+ }
+
+ return result;
+ }
+
/**
* Get the preference store for the project containing the {@link EObject}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml
index 490fd5dec9a..f76f93e9eab 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/plugin.xml
@@ -19,5 +19,14 @@
</state-->
</command>
</extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory"
+ class="org.eclipse.papyrus.infra.internationalization.ui.preferences.pages.InternationalizationPreferencePage"
+ id="org.eclipse.papyrus.infra.internationalization.ui.internationalizationPreferencePage"
+ name="Internationalization">
+ </page>
+ </extension>
</plugin>
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java
index 0d99705fd8d..e8b825cb325 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/dialogs/InternationalizationDialog.java
@@ -30,6 +30,7 @@ import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesUtils;
+import org.eclipse.papyrus.infra.internationalization.ui.messages.Messages;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -149,7 +150,7 @@ public class InternationalizationDialog extends TrayDialog {
*/
protected void createUseInternationalization(final Composite parent) {
useInternationalizationButton = new Button(parent, SWT.CHECK);
- useInternationalizationButton.setText("Use internationalization");
+ useInternationalizationButton.setText(Messages.InternationalizationDialog_UseInternationalizationLabel);
}
/**
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java
new file mode 100644
index 00000000000..da9610e02f3
--- /dev/null
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/Messages.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2017 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 (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.internationalization.ui.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.papyrus.infra.internationalization.ui.messages.messages"; //$NON-NLS-1$
+ public static String InternationalizationDialog_UseInternationalizationLabel;
+ public static String InternationalizationPreferencePage_LoadInternationalizationFieldName;
+ public static String InternationalizationPreferencePage_LoadInternationalizationOfExternalFilesFieldName;
+ public static String InternationalizationPreferencePage_Title;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties
new file mode 100644
index 00000000000..2d968ad0659
--- /dev/null
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/messages/messages.properties
@@ -0,0 +1,4 @@
+InternationalizationDialog_UseInternationalizationLabel=Use internationalization
+InternationalizationPreferencePage_LoadInternationalizationFieldName=Load internationalization files (needs a reload of models).
+InternationalizationPreferencePage_LoadInternationalizationOfExternalFilesFieldName=Load internationalization of external files (profiles, imported packages, ...) (needs a reload of models).
+InternationalizationPreferencePage_Title=Internationalization Preferences
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java
new file mode 100644
index 00000000000..13062557c29
--- /dev/null
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization.ui/src/org/eclipse/papyrus/infra/internationalization/ui/preferences/pages/InternationalizationPreferencePage.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2017 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 (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.internationalization.ui.preferences.pages;
+
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.papyrus.infra.internationalization.common.Activator;
+import org.eclipse.papyrus.infra.internationalization.common.utils.InternationalizationPreferencesConstants;
+import org.eclipse.papyrus.infra.internationalization.ui.messages.Messages;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+/**
+ * The internationalization preference page.
+ */
+public class InternationalizationPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
+
+ /**
+ * Constructor.
+ */
+ public InternationalizationPreferencePage() {
+ super(GRID);
+ setPreferenceStore(Activator.getDefault().getPreferenceStore());
+ setDescription(Messages.InternationalizationPreferencePage_Title);
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ @Override
+ public void init(final IWorkbench workbench) {
+ // Nothing
+ }
+
+ /**
+ * Creates the field editors.
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
+ */
+ @Override
+ public void createFieldEditors() {
+ addField(new BooleanFieldEditor(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION, Messages.InternationalizationPreferencePage_LoadInternationalizationFieldName, getFieldEditorParent()));
+ addField(
+ new BooleanFieldEditor(InternationalizationPreferencesConstants.LOAD_INTERNATIONALIZATION_OF_EXTERNAL_FILES, Messages.InternationalizationPreferencePage_LoadInternationalizationOfExternalFilesFieldName, getFieldEditorParent()));
+ }
+
+}
diff --git a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java
index f0f1233758d..562383f826b 100644
--- a/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java
+++ b/plugins/infra/internationalization/org.eclipse.papyrus.infra.internationalization/src/org/eclipse/papyrus/infra/internationalization/modelresource/InternationalizationModelResource.java
@@ -144,20 +144,22 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
super();
propertiesByLocale = new HashMap<URI, Map<Locale, Resource>>();
- Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
-
- @Override
- public void propertyChange(final PropertyChangeEvent event) {
- if (event.getProperty().equals(InternationalizationPreferencesConstants.LANGUAGE_PREFERENCE)) {
- Iterator<Resource> resourcesIterator = new HashSet<Resource>(getResources()).iterator();
- while (resourcesIterator.hasNext()) {
- final Resource resource = resourcesIterator.next();
- loadModel(getInitialURIForResource(resource).trimFileExtension());
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+ Activator.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() {
+
+ @Override
+ public void propertyChange(final PropertyChangeEvent event) {
+ if (event.getProperty().equals(InternationalizationPreferencesConstants.LANGUAGE_PREFERENCE)) {
+ Iterator<Resource> resourcesIterator = new HashSet<Resource>(getResources()).iterator();
+ while (resourcesIterator.hasNext()) {
+ final Resource resource = resourcesIterator.next();
+ loadModel(getInitialURIForResource(resource).trimFileExtension());
+ }
}
}
- }
-
- });
+
+ });
+ }
deletedObjects = new HashSet<EObject>();
adapters = new HashMap<EObject, Adapter>();
}
@@ -203,35 +205,37 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
* have to bo loaded or not.
*/
public void loadModel(final URI uriWithoutExtension, final boolean needToLoadOtherProperties) {
- // Compute model URI
- final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension());
-
- if (needToBeLoaded(uri)) {
-
- resourceURI = uri;
-
- final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(uriWithoutExtension);
-
- try {
-
- resource = loadResource(uri, locale);
-
- // We need to do even if the resource is null
- if (needToLoadOtherProperties) {
- resourceURI = uri;
-
- String existingResourceLoadedName = "";
- if (null != resource) {
- existingResourceLoadedName = resource.getURI().lastSegment();
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+ // Compute model URI
+ final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension());
+
+ if (needToBeLoaded(uri)) {
+
+ resourceURI = uri;
+
+ final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(uriWithoutExtension);
+
+ try {
+
+ resource = loadResource(uri, locale);
+
+ // We need to do even if the resource is null
+ if (needToLoadOtherProperties) {
+ resourceURI = uri;
+
+ String existingResourceLoadedName = "";
+ if (null != resource) {
+ existingResourceLoadedName = resource.getURI().lastSegment();
+ }
+
+ // We need to load other properties files in the same
+ // folders
+ loadOthersPropertiesFiles(uri, existingResourceLoadedName);
}
-
- // We need to load other properties files in the same
- // folders
- loadOthersPropertiesFiles(uri, existingResourceLoadedName);
+
+ } catch (final Exception ex) {
+ Activator.log.error(ex);
}
-
- } catch (final Exception ex) {
- Activator.log.error(ex);
}
}
}
@@ -372,14 +376,16 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
configureResource(uri, resource, locale);
- // call registered snippets
- startSnippets();
+ if(InternationalizationPreferencesUtils.isInternationalizationExternalFilesNeedToBeLoaded()) {
+ // call registered snippets
+ startSnippets();
+ }
}
// Load the resource if not already loaded
if (!resource.isLoaded()) {
// If this is a read-only resource, create a fake resource to get the internationalization content and read the needed entries
- if (modelSet.getTransactionalEditingDomain().isReadOnly(resource)) {
+ if (InternationalizationPreferencesUtils.isInternationalizationExternalFilesNeedToBeLoaded() && modelSet.getTransactionalEditingDomain().isReadOnly(resource)) {
// Unload the resource and remove the created resource from the map and from the resource set
unload(resource);
@@ -428,7 +434,7 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
}
loadInternationalizationContent(uri, locale);
- } else {
+ } else if(InternationalizationPreferencesUtils.isInternationalizationExternalFilesNeedToBeLoaded()) {
// call registered snippets
startSnippets();
}
@@ -443,24 +449,26 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
*/
@Override
public void createModel(final URI uriWithoutExtension) {
- super.createModel(uriWithoutExtension);
-
- final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension());
- final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(this.resource.getURI());
- final Resource resource = this.resource;
-
- // Fill the properties by locale map
- configureResource(resourceURI, resource, locale);
-
- // Calculate the internationalization content
- loadInternationalizationContent(uri, locale);
-
- resource.setModified(true);
-
- try {
- saveResource(resource);
- } catch (final IOException e) {
- Activator.log.error(e);
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+ super.createModel(uriWithoutExtension);
+
+ final URI uri = uriWithoutExtension.appendFileExtension(getModelFileExtension());
+ final Locale locale = InternationalizationPreferencesUtils.getLocalePreference(this.resource.getURI());
+ final Resource resource = this.resource;
+
+ // Fill the properties by locale map
+ configureResource(resourceURI, resource, locale);
+
+ // Calculate the internationalization content
+ loadInternationalizationContent(uri, locale);
+
+ resource.setModified(true);
+
+ try {
+ saveResource(resource);
+ } catch (final IOException e) {
+ Activator.log.error(e);
+ }
}
}
@@ -881,108 +889,111 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
final Locale locale) {
Command resultCommand = null;
- // Get the resource where add/modify the entry corresponding to the key
- Resource resource = getResourceForURIAndLocale(uri, locale);
- if (null == resource) {
- resource = getResourceForURIAndLocale(uri, new Locale("")); //$NON-NLS-1$
- }
-
- final InternationalizationLibrary library = getModelRoot(resource);
-
- if (null != library) {
- final Iterator<InternationalizationEntry> entries = library.getEntries().iterator();
-
- // Search on existing entries if the key already exists.
- // In this case, just modify the value
- while (entries.hasNext() && null == resultCommand) {
- final InternationalizationEntry entry = entries.next();
- if (entry.getKey().equals(key)) {
- if (null == value || value.isEmpty()) {
- // If the value is null or empty, remove the entry
- resultCommand = new CompoundCommand("Remove entry"); //$NON-NLS-1$
- ((CompoundCommand) resultCommand).append(new RemoveCommand(domain, library,
- InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry));
- if (entry.getKey() instanceof EObject) {
- Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
- if (null != setNameValueCommand) {
- ((CompoundCommand) resultCommand).append(setNameValueCommand);
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+
+ // Get the resource where add/modify the entry corresponding to the key
+ Resource resource = getResourceForURIAndLocale(uri, locale);
+ if (null == resource) {
+ resource = getResourceForURIAndLocale(uri, new Locale("")); //$NON-NLS-1$
+ }
+
+ final InternationalizationLibrary library = getModelRoot(resource);
+
+ if (null != library) {
+ final Iterator<InternationalizationEntry> entries = library.getEntries().iterator();
+
+ // Search on existing entries if the key already exists.
+ // In this case, just modify the value
+ while (entries.hasNext() && null == resultCommand) {
+ final InternationalizationEntry entry = entries.next();
+ if (entry.getKey().equals(key)) {
+ if (null == value || value.isEmpty()) {
+ // If the value is null or empty, remove the entry
+ resultCommand = new CompoundCommand("Remove entry"); //$NON-NLS-1$
+ ((CompoundCommand) resultCommand).append(new RemoveCommand(domain, library,
+ InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry));
+ if (entry.getKey() instanceof EObject) {
+ Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
+ if (null != setNameValueCommand) {
+ ((CompoundCommand) resultCommand).append(setNameValueCommand);
+ }
}
- }
- resource.setModified(true);
- } else {
- resultCommand = new CompoundCommand("Set entry value"); //$NON-NLS-1$
- ((CompoundCommand) resultCommand).append(new SetCommand(domain, entry,
- InternationalizationPackage.eINSTANCE.getInternationalizationEntry_Value(), value));
- if (entry.getKey() instanceof EObject) {
- Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
- if (null != setNameValueCommand) {
- ((CompoundCommand) resultCommand).append(setNameValueCommand);
+ resource.setModified(true);
+ } else {
+ resultCommand = new CompoundCommand("Set entry value"); //$NON-NLS-1$
+ ((CompoundCommand) resultCommand).append(new SetCommand(domain, entry,
+ InternationalizationPackage.eINSTANCE.getInternationalizationEntry_Value(), value));
+ if (entry.getKey() instanceof EObject) {
+ Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
+ if (null != setNameValueCommand) {
+ ((CompoundCommand) resultCommand).append(setNameValueCommand);
+ }
}
+ resource.setModified(true);
}
- resource.setModified(true);
}
}
}
- }
-
- // If the key does not exist, create an entry
- if (null == resultCommand && null != value && !value.isEmpty()) {
- final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE
- .createInternationalizationEntry();
- entry.setKey(key);
- entry.setValue(value);
-
- if (null == resource) {
- // If the resource does not exist, create it and add entry to
- // the library
- resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$
- ((CompoundCommand) resultCommand).append(new CreatePropertiesResourceCommand(uri, entry,
- InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key))));
- Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
- if (null != setNameValueCommand) {
- ((CompoundCommand) resultCommand).append(setNameValueCommand);
- }
- } else {
- resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$
- ((CompoundCommand) resultCommand).append(new AddCommand(domain, library,
- InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry));
- Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
- if (null != setNameValueCommand) {
- ((CompoundCommand) resultCommand).append(setNameValueCommand);
+
+ // If the key does not exist, create an entry
+ if (null == resultCommand && null != value && !value.isEmpty()) {
+ final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE
+ .createInternationalizationEntry();
+ entry.setKey(key);
+ entry.setValue(value);
+
+ if (null == resource) {
+ // If the resource does not exist, create it and add entry to
+ // the library
+ resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$
+ ((CompoundCommand) resultCommand).append(new CreatePropertiesResourceCommand(uri, entry,
+ InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key))));
+ Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
+ if (null != setNameValueCommand) {
+ ((CompoundCommand) resultCommand).append(setNameValueCommand);
+ }
+ } else {
+ resultCommand = new CompoundCommand("Create entry"); //$NON-NLS-1$
+ ((CompoundCommand) resultCommand).append(new AddCommand(domain, library,
+ InternationalizationPackage.eINSTANCE.getInternationalizationLibrary_Entries(), entry));
+ Command setNameValueCommand = getSetNameValueCommand(domain, (EObject) entry.getKey());
+ if (null != setNameValueCommand) {
+ ((CompoundCommand) resultCommand).append(setNameValueCommand);
+ }
+ resource.setModified(true);
}
- resource.setModified(true);
- }
-
- // If the created entry is an entry corresponding to an object who's
- // depending to Editor part, we need to create the
- // PartLabelSynchronizer
- if (null != editorPartByEObject && editorPartByEObject.containsKey(key)) {
- if (null != resultCommand) {
- final Command tmpCommand = resultCommand;
- resultCommand = new CompoundCommand("Change label value"); //$NON-NLS-1$
- ((CompoundCommand) resultCommand).append(tmpCommand);
- ((CompoundCommand) resultCommand).append(new AbstractCommand() {
-
- @Override
- public void execute() {
- addPartLabelSynchronizerForEntry(key, entry);
- }
-
- @Override
- protected boolean prepare() {
- return true;
- }
-
- @Override
- public void undo() {
- // Do nothing
- }
-
- @Override
- public void redo() {
- // Do nothing
- }
- });
+
+ // If the created entry is an entry corresponding to an object who's
+ // depending to Editor part, we need to create the
+ // PartLabelSynchronizer
+ if (null != editorPartByEObject && editorPartByEObject.containsKey(key)) {
+ if (null != resultCommand) {
+ final Command tmpCommand = resultCommand;
+ resultCommand = new CompoundCommand("Change label value"); //$NON-NLS-1$
+ ((CompoundCommand) resultCommand).append(tmpCommand);
+ ((CompoundCommand) resultCommand).append(new AbstractCommand() {
+
+ @Override
+ public void execute() {
+ addPartLabelSynchronizerForEntry(key, entry);
+ }
+
+ @Override
+ protected boolean prepare() {
+ return true;
+ }
+
+ @Override
+ public void undo() {
+ // Do nothing
+ }
+
+ @Override
+ public void redo() {
+ // Do nothing
+ }
+ });
+ }
}
}
}
@@ -1004,54 +1015,57 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
*/
public void setValue(final URI uri, final EObject key, final String value, final Locale locale) {
- // Get the resource where add/modify the entry corresponding to the key
- Resource resource = getResourceForURIAndLocale(uri, locale);
- if (null == resource) {
- // If the resource does not exist, create it
- resource = createResource(uri,
- InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key)));
- }
-
- final InternationalizationLibrary library = getModelRoot(resource);
-
- final Iterator<InternationalizationEntry> entries = library.getEntries().iterator();
- boolean hasFound = false;
-
- // Search on existing entries if the key already exists.
- // In this case, just modify the value
- while (entries.hasNext() && !hasFound) {
- final InternationalizationEntry entry = entries.next();
- if (entry.getKey().equals(key)) {
- if (null == value || value.isEmpty()) {
- // If the value is null or empty, remove the entry
- entries.remove();
- } else {
- entry.setValue(value);
- if (entry.getKey() instanceof EObject) {
- setNameValue((EObject) entry.getKey());
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+
+ // Get the resource where add/modify the entry corresponding to the key
+ Resource resource = getResourceForURIAndLocale(uri, locale);
+ if (null == resource) {
+ // If the resource does not exist, create it
+ resource = createResource(uri,
+ InternationalizationPreferencesUtils.getLocalePreference(getParentEObject(key)));
+ }
+
+ final InternationalizationLibrary library = getModelRoot(resource);
+
+ final Iterator<InternationalizationEntry> entries = library.getEntries().iterator();
+ boolean hasFound = false;
+
+ // Search on existing entries if the key already exists.
+ // In this case, just modify the value
+ while (entries.hasNext() && !hasFound) {
+ final InternationalizationEntry entry = entries.next();
+ if (entry.getKey().equals(key)) {
+ if (null == value || value.isEmpty()) {
+ // If the value is null or empty, remove the entry
+ entries.remove();
+ } else {
+ entry.setValue(value);
+ if (entry.getKey() instanceof EObject) {
+ setNameValue((EObject) entry.getKey());
+ }
}
+ hasFound = true;
}
- hasFound = true;
}
- }
-
- // If the key does not exist, create an entry
- if (!hasFound && null != value && !value.isEmpty()) {
- final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE
- .createInternationalizationEntry();
- entry.setKey(key);
- entry.setValue(value);
- library.getEntries().add(entry);
- setNameValue(entry);
-
- // If the created entry is an entry corresponding to an object who's
- // depending to Editor part, we need to create the
- // PartLabelSynchronizer
- if (editorPartByEObject.containsKey(key)) {
- addPartLabelSynchronizerForEntry(key, entry);
+
+ // If the key does not exist, create an entry
+ if (!hasFound && null != value && !value.isEmpty()) {
+ final InternationalizationEntry entry = InternationalizationFactory.eINSTANCE
+ .createInternationalizationEntry();
+ entry.setKey(key);
+ entry.setValue(value);
+ library.getEntries().add(entry);
+ setNameValue(entry);
+
+ // If the created entry is an entry corresponding to an object who's
+ // depending to Editor part, we need to create the
+ // PartLabelSynchronizer
+ if (editorPartByEObject.containsKey(key)) {
+ addPartLabelSynchronizerForEntry(key, entry);
+ }
}
+ resource.setModified(true);
}
- resource.setModified(true);
}
/**
@@ -1068,26 +1082,29 @@ public class InternationalizationModelResource extends AbstractModelWithSharedRe
protected Command getSetNameValueCommand(final EditingDomain domain, final EObject eObject) {
Command result = null;
- // Change name for diagram
- if (domain instanceof TransactionalEditingDomain) {
- if (eObject instanceof Diagram) {
- result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand(
- (TransactionalEditingDomain) domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name()));
-
- // Change name for table
- } else if (eObject instanceof Table) {
- result = new GMFtoEMFCommandWrapper(
- new ResetNameTransactionalCommand((TransactionalEditingDomain) domain, eObject,
- NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name()));
- }
- } else {
- if (eObject instanceof Diagram) {
- result = new ResetNameCommand(domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name());
-
- // Change name for table
- } else if (eObject instanceof Table) {
- result = new ResetNameCommand(domain, eObject,
- NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name());
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+
+ // Change name for diagram
+ if (domain instanceof TransactionalEditingDomain) {
+ if (eObject instanceof Diagram) {
+ result = new GMFtoEMFCommandWrapper(new ResetNameTransactionalCommand(
+ (TransactionalEditingDomain) domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name()));
+
+ // Change name for table
+ } else if (eObject instanceof Table) {
+ result = new GMFtoEMFCommandWrapper(
+ new ResetNameTransactionalCommand((TransactionalEditingDomain) domain, eObject,
+ NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name()));
+ }
+ } else {
+ if (eObject instanceof Diagram) {
+ result = new ResetNameCommand(domain, eObject, NotationPackage.eINSTANCE.getDiagram_Name());
+
+ // Change name for table
+ } else if (eObject instanceof Table) {
+ result = new ResetNameCommand(domain, eObject,
+ NattableconfigurationPackage.eINSTANCE.getTableNamedElement_Name());
+ }
}
}
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
index 1fad054365a..02019498227 100644
--- 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
@@ -20,6 +20,7 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
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.infra.internationalization.utils.InternationalizationKeyResolver;
import org.eclipse.papyrus.uml.internationalization.utils.UMLInternationalizationKeyResolver;
@@ -57,17 +58,20 @@ public class UMLInternationalizationModelResource extends InternationalizationMo
@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()));
+
+ if(InternationalizationPreferencesUtils.isInternationalizationNeedToBeLoaded()) {
+
+ // 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 = new ResetNameCommand(domain, eObject, UMLPackage.eINSTANCE.getNamedElement_Name());
+ result = super.getSetNameValueCommand(domain, eObject);
}
- } else {
- result = super.getSetNameValueCommand(domain, eObject);
}
return result;

Back to the top