Bug 539653 - Viewmodel generation does not handle non-ascii chars
Enforce UTF-8 encoding in EMF Forms and ECP.
Most importantly this means:
* View models are saved as UTF-8 when they are generated or edited
* Files edited in the Generic Editor and derived editors (e.g. the Ecore
Editor and the View Template Editor) are saved in UTF-8
Change-Id: I6a9f5c961a1d1c6164a45cd64073a6801adc11bf
Signed-off-by: Lucas Koehler <lkoehler@eclipsesource.com>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/.classpath b/bundles/org.eclipse.emf.ecp.ide.editor.view/.classpath
index ad32c83..4f83b23 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/.classpath
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/.classpath
@@ -1,7 +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.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.jdt.core.prefs
index 26d14e4..23a98ed 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.jdt.core.prefs
@@ -25,9 +25,9 @@
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -130,7 +130,7 @@
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
index 6527955..bfe7764 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
@@ -22,7 +22,7 @@
org.eclipse.emf.ecp.view.migrator;bundle-version="[1.19.0,1.20.0)",
org.eclipse.emfforms.core.services;bundle-version="[1.19.0,1.20.0)",
org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.19.0,1.20.0)"
Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.view
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
index 36fd24d..71926d9 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
@@ -16,8 +16,10 @@
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.EventObject;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
@@ -123,7 +125,7 @@
@Override
public void execute(IProgressMonitor monitor) {
try {
- resource.save(null);
+ resource.save(getSaveOptions());
} catch (final IOException e) {
Activator.getDefault().getLog()
.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
@@ -144,6 +146,17 @@
}
+ /**
+ * Get the save options used when saving the view model.
+ *
+ * @return The save options
+ */
+ protected Map<Object, Object> getSaveOptions() {
+ final Map<Object, Object> options = new HashMap<>();
+ options.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
+ return options;
+ }
+
@Override
public void doSaveAs() {
// unsupported
@@ -559,7 +572,7 @@
private void saveChangedView(VView view) {
try {
- view.eResource().save(null);
+ view.eResource().save(getSaveOptions());
} catch (final IOException e) {
Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
}
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/spi/util/ViewModelHelper.java b/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/spi/util/ViewModelHelper.java
index 02776b2..bb1874a 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/spi/util/ViewModelHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ide.util/src/org/eclipse/emf/ecp/ide/spi/util/ViewModelHelper.java
@@ -16,9 +16,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -36,6 +34,7 @@
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xml.type.AnyType;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
@@ -122,8 +121,7 @@
}
// Save the contents of the resource to the file system.
- final Map<Object, Object> options = new HashMap<Object, Object>();
- resource.save(options);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
return view;
}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java
index e357290..d2dc9da 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java
@@ -13,6 +13,7 @@
package org.eclipse.emf.ecp.view.internal.editor.handler;
import java.io.IOException;
+import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;
@@ -28,6 +29,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
@@ -130,11 +132,11 @@
final VView vview = (VView) resource.getContents().get(0);
final EClass rootEClass = vview.getRootEClass();
- final Set<EStructuralFeature> mySet = new
- LinkedHashSet<EStructuralFeature>(rootEClass.getEAllStructuralFeatures());
+ final Set<EStructuralFeature> mySet = new LinkedHashSet<EStructuralFeature>(
+ rootEClass.getEAllStructuralFeatures());
addControls(rootEClass, (VView) resource.getContents().get(0), mySet);
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException e) {
Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e));
}
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java
index edcd342..cb5ef29 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/internal/ui/util/ECPExportHandlerHelper.java
@@ -14,6 +14,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
@@ -23,6 +24,7 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.internal.ui.Activator;
import org.eclipse.emf.ecp.internal.ui.PreferenceHelper;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
@@ -168,7 +170,7 @@
}
contents.addAll(eObjects);
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
}
}
diff --git a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java
index c35c61b..b4076a7 100644
--- a/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/spi/ui/DefaultUIProvider.java
@@ -31,6 +31,7 @@
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.common.spi.ChildrenDescriptorCollector;
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.core.ECPRepository;
@@ -415,7 +416,7 @@
resource.getContents().add(object);
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException ex) {
Activator.log(ex);
}
diff --git a/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java b/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java
index 63e90f5..45189ca 100644
--- a/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java
+++ b/bundles/org.eclipse.emf.ecp.view.edapt/src/org/eclipse/emf/ecp/view/edapt/EdaptViewModelMigrator.java
@@ -41,6 +41,7 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.spi.view.migrator.NameSpaceHandler;
import org.eclipse.emf.ecp.spi.view.migrator.SAXUtil;
import org.eclipse.emf.ecp.spi.view.migrator.string.StringViewModelMigrator;
@@ -217,7 +218,7 @@
final URI uri = URI.createFileURI(historyFile.getAbsolutePath());
final Resource resource = new ResourceSetImpl().createResource(uri);
resource.getContents().add(history);
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
return uri;
}
diff --git a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java
index e0a92b7..cb3a380 100644
--- a/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java
+++ b/bundles/org.eclipse.emf.ecp.view.model.preview.e3/src/org/eclipse/emf/ecp/view/model/internal/preview/e3/views/PreviewView.java
@@ -17,6 +17,7 @@
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -36,6 +37,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.ide.editor.view.ViewEditorPart;
import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
import org.eclipse.emf.ecp.view.model.internal.preview.Activator;
@@ -601,7 +603,7 @@
final Resource resource = rs.createResource(URI.createFileURI(result));
resource.getContents().add(sampleData);
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException e) {
final StringWriter sw = new StringWriter();
diff --git a/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/src/org/eclipse/emf/ecp/internal/view/table/ui/swt/persistedstate/PersistTableStateServiceImpl.java b/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/src/org/eclipse/emf/ecp/internal/view/table/ui/swt/persistedstate/PersistTableStateServiceImpl.java
index 0889cb4..4314826 100644
--- a/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/src/org/eclipse/emf/ecp/internal/view/table/ui/swt/persistedstate/PersistTableStateServiceImpl.java
+++ b/bundles/org.eclipse.emf.ecp.view.table.ui.swt.persistedstate/src/org/eclipse/emf/ecp/internal/view/table/ui/swt/persistedstate/PersistTableStateServiceImpl.java
@@ -12,6 +12,7 @@
package org.eclipse.emf.ecp.internal.view.table.ui.swt.persistedstate;
import java.io.IOException;
+import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Map;
@@ -27,6 +28,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.spi.view.table.ui.swt.persistedstate.PersistTableStateService;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
@@ -208,7 +210,7 @@
}
}
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException ex) {
reportService.report(new AbstractReport(ex));
}
diff --git a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/wizards/EMFFormsTemplateWizard.java b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/wizards/EMFFormsTemplateWizard.java
index b846931..ac03b11 100644
--- a/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/wizards/EMFFormsTemplateWizard.java
+++ b/bundles/org.eclipse.emf.ecp.view.template.tooling/src/org/eclipse/emf/ecp/view/template/tooling/wizards/EMFFormsTemplateWizard.java
@@ -15,6 +15,7 @@
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
@@ -48,6 +49,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.view.spi.model.VControl;
import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
import org.eclipse.emf.ecp.view.spi.model.VElement;
@@ -417,7 +419,7 @@
final ResourceSet rs = new ResourceSetImpl();
final Resource templateResource = rs.createResource(URI.createURI(file.getLocationURI().toString()));
templateResource.getContents().add(template);
- templateResource.save(null);
+ templateResource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
container.refreshLocal(IResource.DEPTH_ONE, monitor);
} catch (final IOException e) {
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
index a513d0f..0e42393 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/META-INF/MANIFEST.MF
@@ -7,9 +7,10 @@
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.workspace.internal.core;version="1.19.0";x-friends:="org.eclipse.emf.ecp.workspace.ui,org.eclipse.emf.ecp.ui.view.editor.controls"
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)"
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Automatic-Module-Name: org.eclipse.emf.ecp.workspace.core
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java b/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
index 22e5bae..d1e43ae 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
+++ b/bundles/org.eclipse.emf.ecp.workspace.core/src/org/eclipse/emf/ecp/workspace/internal/core/WorkspaceProvider.java
@@ -42,6 +42,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EContentAdapter;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.core.ECPProject;
import org.eclipse.emf.ecp.core.ECPRepository;
import org.eclipse.emf.ecp.core.util.ECPContainer;
@@ -243,6 +244,7 @@
try {
final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+ saveOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
final List<Resource> resources = project.getEditingDomain().getResourceSet().getResources();
for (final Resource resource : resources) {
resource.save(saveOptions);
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF
index c501a92..2a9a67f 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/META-INF/MANIFEST.MF
@@ -7,14 +7,15 @@
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.19.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.rap.filedialog;bundle-version="[3.1.2,4.0.0)",
- org.eclipse.rap.rwt;bundle-version="[3.1.2,4.0.0)"
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.rap.filedialog;bundle-version="[3.1.2,4.0.0)",
+ org.eclipse.rap.rwt;bundle-version="[3.1.2,4.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.core.commands;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java
index 984417b..d49d828 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui.rap/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui.rap/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java
@@ -12,6 +12,7 @@
package org.eclipse.emf.ecp.workspace.internal.ui;
import java.io.IOException;
+import java.util.Collections;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
@@ -20,6 +21,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.core.util.ECPProperties;
import org.eclipse.emf.ecp.spi.ui.CompositeStateObserver;
import org.eclipse.emf.ecp.workspace.internal.core.WorkspaceProvider;
@@ -195,7 +197,7 @@
resource.getContents().add(root);
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
index 153e8eb..ec820cd 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/META-INF/MANIFEST.MF
@@ -7,12 +7,13 @@
Bundle-Vendor: Eclipse Modeling Project
Export-Package: org.eclipse.emf.ecp.workspace.internal.ui;version="1.19.0";x-internal:=true
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
- org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)"
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.19.0,1.20.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.core.commands;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java b/bundles/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java
index f9462dd..318ce00 100644
--- a/bundles/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java
+++ b/bundles/org.eclipse.emf.ecp.workspace.ui/src/org/eclipse/emf/ecp/workspace/internal/ui/NewWorkspaceProjectComposite.java
@@ -12,6 +12,7 @@
package org.eclipse.emf.ecp.workspace.internal.ui;
import java.io.IOException;
+import java.util.Collections;
import java.util.HashSet;
import org.eclipse.core.resources.IFile;
@@ -27,6 +28,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.core.util.ECPProperties;
import org.eclipse.emf.ecp.core.util.ECPUtil;
import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
@@ -413,7 +415,7 @@
resource.getContents().add(root);
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF
index 12c37fb..ba331ab 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emfforms.editor.genmodel.util/META-INF/MANIFEST.MF
@@ -12,6 +12,7 @@
org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.codegen.ecore;bundle-version="[2.5.0,3.0.0)"
+ org.eclipse.emf.codegen.ecore;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.11.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Automatic-Module-Name: org.eclipse.emfforms.editor.genmodel.util
diff --git a/bundles/org.eclipse.emfforms.editor.genmodel.util/src/org/eclipse/emfforms/internal/editor/genmodel/util/handler/AddDescriptionTagHandler.java b/bundles/org.eclipse.emfforms.editor.genmodel.util/src/org/eclipse/emfforms/internal/editor/genmodel/util/handler/AddDescriptionTagHandler.java
index 29f1ad1..0ee18bd 100644
--- a/bundles/org.eclipse.emfforms.editor.genmodel.util/src/org/eclipse/emfforms/internal/editor/genmodel/util/handler/AddDescriptionTagHandler.java
+++ b/bundles/org.eclipse.emfforms.editor.genmodel.util/src/org/eclipse/emfforms/internal/editor/genmodel/util/handler/AddDescriptionTagHandler.java
@@ -13,6 +13,7 @@
import java.io.IOException;
import java.text.MessageFormat;
+import java.util.Collections;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
@@ -24,6 +25,7 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emfforms.editor.genmodel.util.GenModelUtil;
import org.eclipse.emfforms.internal.editor.genmodel.util.Activator;
import org.eclipse.jface.viewers.ISelection;
@@ -71,7 +73,7 @@
GenModelUtil.addDescriptionTags(genModel, DESCRIPTION_PLACEHOLDER);
for (final Resource r : resourceSet.getResources()) {
try {
- r.save(null);
+ r.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException ex) {
Activator.log(MessageFormat.format("Could not save resource with URI {0}.", resource.getURI()), ex); //$NON-NLS-1$
}
diff --git a/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java b/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java
index aed004c..fd1c755 100644
--- a/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java
+++ b/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/GenericEditor.java
@@ -17,7 +17,6 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.EventObject;
import java.util.HashMap;
import java.util.LinkedList;
@@ -559,7 +558,9 @@
* @since 1.19
*/
protected Map<Object, Object> getResourceSaveOptions() {
- return Collections.emptyMap();
+ final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+ saveOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
+ return saveOptions;
}
@Override
diff --git a/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/helpers/ResourceSetHelpers.java b/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/helpers/ResourceSetHelpers.java
index 75475a5..cf04de6 100644
--- a/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/helpers/ResourceSetHelpers.java
+++ b/bundles/org.eclipse.emfforms.editor/src/org/eclipse/emfforms/spi/editor/helpers/ResourceSetHelpers.java
@@ -13,6 +13,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -55,7 +56,7 @@
*/
@Deprecated
public static boolean save(ResourceSet resourceSet) {
- return save(resourceSet, null);
+ return save(resourceSet, Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
}
/**
diff --git a/bundles/org.eclipse.emfforms.rulerepository.tooling/src/org/eclipse/emfforms/internal/rulerepository/tooling/merge/MergeWithViewHandler.java b/bundles/org.eclipse.emfforms.rulerepository.tooling/src/org/eclipse/emfforms/internal/rulerepository/tooling/merge/MergeWithViewHandler.java
index d4700a9..b69018f 100644
--- a/bundles/org.eclipse.emfforms.rulerepository.tooling/src/org/eclipse/emfforms/internal/rulerepository/tooling/merge/MergeWithViewHandler.java
+++ b/bundles/org.eclipse.emfforms.rulerepository.tooling/src/org/eclipse/emfforms/internal/rulerepository/tooling/merge/MergeWithViewHandler.java
@@ -13,6 +13,7 @@
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
+import java.util.Collections;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
@@ -31,6 +32,7 @@
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecp.view.spi.model.VView;
import org.eclipse.emfforms.spi.editor.helpers.ResourceSetHelpers;
import org.eclipse.emfforms.spi.rulerepository.model.VRuleRepository;
@@ -260,10 +262,8 @@
resource.getContents().add(mergedView);
// Save the contents of the resource to the file system.
- // final Map<Object, Object> options = new HashMap<Object, Object>();
- // options.put(XMLResource.OPTION_ENCODING, "UTF-8");
try {
- resource.save(null);
+ resource.save(Collections.singletonMap(XMLResource.OPTION_ENCODING, "UTF-8")); //$NON-NLS-1$
} catch (final IOException ex) {
ErrorDialog.openError(activeShell, "Error", //$NON-NLS-1$
ex.getMessage(),