Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Parker2013-06-12 22:39:57 +0000
committerMiles Parker2013-06-17 17:20:01 +0000
commit9da316592e757ab7c492bd4d22336cc33cefde13 (patch)
tree36da67c3d6615be010381fb040a6de81f50dfc29 /org.eclipse.mylyn.reviews.edit
parentf6e6527b8d11ce343c99eaf01f86ce983521bae9 (diff)
downloadorg.eclipse.mylyn.reviews-9da316592e757ab7c492bd4d22336cc33cefde13.tar.gz
org.eclipse.mylyn.reviews-9da316592e757ab7c492bd4d22336cc33cefde13.tar.xz
org.eclipse.mylyn.reviews-9da316592e757ab7c492bd4d22336cc33cefde13.zip
409427: [model] replace xml persitence with binary
Change-Id: Id7e99000aa75bbd90e5284969739fd8407d08e4e Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=409427
Diffstat (limited to 'org.eclipse.mylyn.reviews.edit')
-rw-r--r--org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/spi/edit/remote/AbstractRemoteEditFactoryProvider.java25
1 files changed, 13 insertions, 12 deletions
diff --git a/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/spi/edit/remote/AbstractRemoteEditFactoryProvider.java b/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/spi/edit/remote/AbstractRemoteEditFactoryProvider.java
index 1c03b669d..d35ee795a 100644
--- a/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/spi/edit/remote/AbstractRemoteEditFactoryProvider.java
+++ b/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/spi/edit/remote/AbstractRemoteEditFactoryProvider.java
@@ -33,7 +33,6 @@ import org.eclipse.emf.ecore.EFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
@@ -43,6 +42,7 @@ import org.eclipse.mylyn.reviews.core.spi.remote.AbstractDataLocator;
import org.eclipse.mylyn.reviews.core.spi.remote.emf.AbstractRemoteEmfFactoryProvider;
import org.eclipse.mylyn.reviews.edit.ReviewsEditPluginActivator;
import org.eclipse.mylyn.reviews.edit.provider.ReviewsItemProviderAdapterFactory;
+import org.eclipse.mylyn.reviews.internal.core.model.ReviewsResourceFactory;
/**
* Supports decoupling of Reviews from remote API as well as job management.
@@ -76,6 +76,9 @@ public abstract class AbstractRemoteEditFactoryProvider<ERootObject extends EObj
this.parentReference = parentReference;
this.localKeyAttribute = localKeyAttribute;
this.childType = childType;
+
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("reviews", new ReviewsResourceFactory());
+
ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
@@ -84,12 +87,6 @@ public abstract class AbstractRemoteEditFactoryProvider<ERootObject extends EObj
BasicCommandStack commandStack = new BasicCommandStack();
editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
-
- Map<Object, Object> loadOptions = editingDomain.getResourceSet().getLoadOptions();
- loadOptions.put(XMLResource.OPTION_DEFER_ATTACHMENT, Boolean.TRUE);
- loadOptions.put(XMLResource.OPTION_DEFER_IDREF_RESOLUTION, Boolean.TRUE);
- loadOptions.put(XMLResource.OPTION_USE_DEPRECATED_METHODS, Boolean.TRUE);
- loadOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
}
public EClass getRootClass() {
@@ -99,6 +96,13 @@ public abstract class AbstractRemoteEditFactoryProvider<ERootObject extends EObj
@Override
public ERootObject open() {
if (rootObject == null) {
+ IPath oldContainerPath = getDataLocator().getModelPath()
+ .append(getContainerSegment())
+ .append(getContainerSegment());
+
+ rootObject = (ERootObject) open(getRootClass(), getRootClass().getName());
+ clearChildren();
+
rootObject = (ERootObject) open(getRootClass(), getRootClass().getName());
clearChildren();
}
@@ -282,9 +286,6 @@ public abstract class AbstractRemoteEditFactoryProvider<ERootObject extends EObj
}
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);
- if (resource instanceof XMLResource) {
- saveOptions.put(XMLResource.OPTION_ENCODING, "UTF-8"); //$NON-NLS-1$
- }
try {
resource.save(saveOptions);
} catch (IOException e) {
@@ -293,12 +294,12 @@ public abstract class AbstractRemoteEditFactoryProvider<ERootObject extends EObj
}
/**
- * WARNING: Recursively deletes directory specified by {@link AbstractDataLocator#getSystemPath()}. Ensure that that
+ * WARNING: Recursively deletes directory specified by {@link AbstractDataLocator#getModelPath()}. Ensure that that
* directory isn't used by any other resources!
*/
public void deleteCache() {
close();
- IPath systemPath = getDataLocator().getSystemPath();
+ IPath systemPath = getDataLocator().getModelPath();
File file = new File(systemPath.toOSString());
if (file.exists()) {
try {

Back to the top