Skip to content

Commit 14a7f4c

Browse files
author
Flanker-MSFT
committed
Fix cosmos new document could not be saved with default content
1 parent 8036888 commit 14a7f4c

File tree

2 files changed

+5
-2
lines changed
  • PluginsAndFeatures/azure-toolkit-for-intellij

2 files changed

+5
-2
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-cosmos/src/main/java/com/microsoft/azure/toolkit/intellij/cosmos/actions/CreateNewDocumentAction.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import java.util.UUID;
2828
import java.util.function.Function;
2929

30+
import static com.microsoft.azure.toolkit.intellij.common.fileexplorer.VirtualFileActions.FILE_CHANGED;
31+
3032
public class CreateNewDocumentAction {
3133

3234
private static final String DEFAULT_CONTENT =
@@ -39,6 +41,7 @@ public class CreateNewDocumentAction {
3941
public static void create(@Nonnull final ICosmosDocumentContainer<?> container, @Nonnull final Project project) {
4042
final FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
4143
final VirtualFile virtualFile = getOrCreateVirtualFile(container, fileEditorManager);
44+
virtualFile.putUserData(FILE_CHANGED, true); // mark file changed to prompt when close with default content
4245
final Function<String, Boolean> onSave = content -> {
4346
AzureTaskManager.getInstance().runInBackground(new AzureTask<>(OperationBundle.description("internal/cosmos.create_document.container", container.getName()), () -> {
4447
try {
@@ -62,7 +65,7 @@ private static synchronized VirtualFile getOrCreateVirtualFile(@Nonnull final IC
6265

6366
@SneakyThrows
6467
private static VirtualFile createVirtualFile(@Nonnull final ICosmosDocumentContainer<?> container, final FileEditorManager manager) {
65-
final File tempFile = FileUtil.createTempFile(UUID.randomUUID().toString(), ".json", true);
68+
final File tempFile = FileUtil.createTempFile(String.format("%s:New Document", container.getName()), ".json", true);
6669
FileUtil.writeToFile(tempFile, DEFAULT_CONTENT);
6770
return VirtualFileActions.createVirtualFile(container.getId(), tempFile.getName(), tempFile, manager);
6871
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-lib/src/main/java/com/microsoft/azure/toolkit/intellij/common/fileexplorer/VirtualFileActions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@
4848
import java.util.function.Function;
4949

5050
public class VirtualFileActions {
51+
public static final Key<Boolean> FILE_CHANGED = new Key<>("FILE_CHANGED");
5152
private static final Key<String> FILE_ID = new Key<>("FILE_ID");
52-
private static final Key<Boolean> FILE_CHANGED = new Key<>("FILE_CHANGED");
5353
private static final String FILE_EDITING = "Save File";
5454
private static final String SAVE_CHANGES = "Do you want to save your changes?";
5555
private static final String SUCCESS_DOWNLOADING = "File %s is successfully downloaded to %s.";

0 commit comments

Comments
 (0)