diff --git a/platform/core-api/src/com/intellij/openapi/vfs/VfsUtilCore.java b/platform/core-api/src/com/intellij/openapi/vfs/VfsUtilCore.java index ec20f6b22dbd..afa2416d8742 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/VfsUtilCore.java +++ b/platform/core-api/src/com/intellij/openapi/vfs/VfsUtilCore.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2012 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; +import java.util.Collection; import java.util.HashSet; import java.util.Set; @@ -194,4 +195,12 @@ public class VfsUtilCore { reader.close(); } } + + @NotNull + public static VirtualFile[] toVirtualFileArray(@NotNull Collection files) { + int size = files.size(); + if (size == 0) return VirtualFile.EMPTY_ARRAY; + //noinspection SSBasedInspection + return files.toArray(new VirtualFile[size]); + } } diff --git a/platform/core-api/src/com/intellij/openapi/vfs/pointers/VirtualFilePointerManager.java b/platform/core-api/src/com/intellij/openapi/vfs/pointers/VirtualFilePointerManager.java index 61a8ce6022f8..e265439169b5 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/pointers/VirtualFilePointerManager.java +++ b/platform/core-api/src/com/intellij/openapi/vfs/pointers/VirtualFilePointerManager.java @@ -17,11 +17,12 @@ package com.intellij.openapi.vfs.pointers; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.util.ModificationTracker; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public abstract class VirtualFilePointerManager implements Disposable { +public abstract class VirtualFilePointerManager implements Disposable, ModificationTracker { public static VirtualFilePointerManager getInstance() { return ApplicationManager.getApplication().getComponent(VirtualFilePointerManager.class); } diff --git a/platform/platform-api/src/com/intellij/openapi/vfs/VfsUtil.java b/platform/platform-api/src/com/intellij/openapi/vfs/VfsUtil.java index 34501152b108..3638c9fe9b3f 100644 --- a/platform/platform-api/src/com/intellij/openapi/vfs/VfsUtil.java +++ b/platform/platform-api/src/com/intellij/openapi/vfs/VfsUtil.java @@ -669,14 +669,6 @@ public class VfsUtil extends VfsUtilCore { return null; } - @NotNull - public static VirtualFile[] toVirtualFileArray(@NotNull Collection files) { - int size = files.size(); - if (size == 0) return VirtualFile.EMPTY_ARRAY; - //noinspection SSBasedInspection - return files.toArray(new VirtualFile[size]); - } - @NotNull public static String getReadableUrl(@NotNull final VirtualFile file) { return file.isInLocalFileSystem() ? file.getPresentableUrl() : file.getUrl(); diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java index e5014e7ffbe2..3db80baa5ca3 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerContainerImpl.java @@ -20,11 +20,12 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Trinity; -import com.intellij.openapi.vfs.VfsUtil; +import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.pointers.VirtualFilePointer; import com.intellij.openapi.vfs.pointers.VirtualFilePointerContainer; import com.intellij.openapi.vfs.pointers.VirtualFilePointerListener; +import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.ContainerUtilRt; @@ -44,7 +45,7 @@ public class VirtualFilePointerContainerImpl implements VirtualFilePointerContai private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.vfs.pointers.VirtualFilePointerContainer"); @NotNull private final List myList = ContainerUtilRt.createEmptyCOWList(); private final List myReadOnlyList = Collections.unmodifiableList(myList); - @NotNull private final VirtualFilePointerManagerImpl myVirtualFilePointerManager; + @NotNull private final VirtualFilePointerManager myVirtualFilePointerManager; @NotNull private final Disposable myParent; private final VirtualFilePointerListener myListener; private VirtualFile[] myCachedDirectories; @@ -54,7 +55,7 @@ public class VirtualFilePointerContainerImpl implements VirtualFilePointerContai @NonNls private static final String URL_ATTR = "url"; private boolean myDisposed; - public VirtualFilePointerContainerImpl(@NotNull VirtualFilePointerManagerImpl manager, @NotNull Disposable parent, @Nullable VirtualFilePointerListener listener) { + public VirtualFilePointerContainerImpl(@NotNull VirtualFilePointerManager manager, @NotNull Disposable parent, @Nullable VirtualFilePointerListener listener) { myVirtualFilePointerManager = manager; myParent = parent; myListener = listener; @@ -201,10 +202,10 @@ public class VirtualFilePointerContainerImpl implements VirtualFilePointerContai } } } - VirtualFile[] directories = VfsUtil.toVirtualFileArray(cachedDirectories); + VirtualFile[] directories = VfsUtilCore.toVirtualFileArray(cachedDirectories); myCachedDirectories = directories; VirtualFile[] filesArray; - myCachedFiles = filesArray = VfsUtil.toVirtualFileArray(cachedFiles); + myCachedFiles = filesArray = VfsUtilCore.toVirtualFileArray(cachedFiles); String[] urlsArray; myCachedUrls = urlsArray = ArrayUtil.toStringArray(cachedUrls); return Trinity.create(urlsArray, filesArray, directories);