This commit is contained in:
Alexey Kudravtsev
2013-05-07 12:30:19 +04:00
parent 0125ac01be
commit 01129f08c3
7 changed files with 16 additions and 13 deletions
@@ -17,6 +17,7 @@ package com.intellij.openapi.components.impl.stores;
import com.intellij.openapi.components.StateStorage;
import gnu.trove.THashMap;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.Map;
@@ -27,7 +28,8 @@ import java.util.Map;
public class CompoundExternalizationSession {
private final Map<StateStorage, StateStorage.ExternalizationSession> mySessions = new THashMap<StateStorage, StateStorage.ExternalizationSession>(1);
public StateStorage.ExternalizationSession getExternalizationSession(StateStorage stateStore) {
@NotNull
public StateStorage.ExternalizationSession getExternalizationSession(@NotNull StateStorage stateStore) {
StateStorage.ExternalizationSession session = mySessions.get(stateStore);
if (session == null) {
mySessions.put(stateStore, session = stateStore.startExternalization());
@@ -37,6 +39,7 @@ public class CompoundExternalizationSession {
}
@NotNull
public Collection<StateStorage> getStateStorages() {
return mySessions.keySet();
}
@@ -209,9 +209,9 @@ public class DefaultProjectStoreImpl extends ProjectStoreImpl {
}
private static class MyExternalizationSession implements StateStorageManager.ExternalizationSession {
StateStorage.ExternalizationSession externalizationSession;
@NotNull final StateStorage.ExternalizationSession externalizationSession;
public MyExternalizationSession(final XmlElementStorage storage) {
public MyExternalizationSession(@NotNull XmlElementStorage storage) {
externalizationSession = storage.startExternalization();
}
@@ -81,11 +81,11 @@ class DefaultsStateStorage implements StateStorage {
}
@NotNull
public SaveSession startSave(ExternalizationSession externalizationSession) {
public SaveSession startSave(@NotNull ExternalizationSession externalizationSession) {
throw new UnsupportedOperationException("Method startSave not implemented in " + getClass());
}
public void finishSave(SaveSession saveSession) {
public void finishSave(@NotNull SaveSession saveSession) {
throw new UnsupportedOperationException("Method finishSave not implemented in " + getClass());
}
@@ -148,7 +148,7 @@ public class DirectoryBasedStorage implements StateStorage, Disposable {
@Override
@NotNull
public SaveSession startSave(final ExternalizationSession externalizationSession) {
public SaveSession startSave(@NotNull final ExternalizationSession externalizationSession) {
assert mySession == externalizationSession;
final MySaveSession session =
@@ -158,7 +158,7 @@ public class DirectoryBasedStorage implements StateStorage, Disposable {
}
@Override
public void finishSave(final SaveSession saveSession) {
public void finishSave(@NotNull final SaveSession saveSession) {
try {
LOG.assertTrue(mySession == saveSession);
} finally {
@@ -236,7 +236,7 @@ public abstract class XmlElementStorage implements StateStorage, Disposable {
@Override
@NotNull
public SaveSession startSave(final ExternalizationSession externalizationSession) {
public SaveSession startSave(@NotNull final ExternalizationSession externalizationSession) {
assert mySession == externalizationSession;
final SaveSession saveSession = mySavingDisabled ? createNullSession() : createSaveSession((MyExternalizationSession)externalizationSession);
@@ -273,7 +273,7 @@ public abstract class XmlElementStorage implements StateStorage, Disposable {
protected abstract MySaveSession createSaveSession(final MyExternalizationSession externalizationSession);
@Override
public void finishSave(final SaveSession saveSession) {
public void finishSave(@NotNull final SaveSession saveSession) {
try {
if (mySession != saveSession) {
LOG.error("mySession=" + mySession + " saveSession=" + saveSession);
@@ -38,8 +38,8 @@ public interface StateStorage {
@NotNull
ExternalizationSession startExternalization();
@NotNull
SaveSession startSave(ExternalizationSession externalizationSession);
void finishSave(SaveSession saveSession);
SaveSession startSave(@NotNull ExternalizationSession externalizationSession);
void finishSave(@NotNull SaveSession saveSession);
void reload(@NotNull Set<String> changedComponents) throws StateStorageException;
@@ -54,11 +54,11 @@ public interface StorageAnnotationsDefaultValues {
}
@NotNull
public SaveSession startSave(ExternalizationSession externalizationSession) {
public SaveSession startSave(@NotNull ExternalizationSession externalizationSession) {
throw new UnsupportedOperationException("Method startSave not implemented in " + getClass());
}
public void finishSave(SaveSession saveSession) {
public void finishSave(@NotNull SaveSession saveSession) {
throw new UnsupportedOperationException("Method finishSave not implemented in " + getClass());
}