/* * Copyright 2013-2016 consulo.io * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package consulo.compiler.server.fileSystem; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.newvfs.FileAttribute; import com.intellij.openapi.vfs.newvfs.NewVirtualFile; import com.intellij.openapi.vfs.newvfs.NewVirtualFileSystem; import com.intellij.openapi.vfs.newvfs.events.VFileEvent; import com.intellij.openapi.vfs.newvfs.persistent.FSRecords; import com.intellij.openapi.vfs.newvfs.persistent.PersistentFS; import com.intellij.util.PathUtil; import consulo.vfs.ArchiveFileSystem; import consulo.vfs.impl.archive.ArchiveFileSystemBase; import consulo.compiler.server.fileSystem.archive.ArchiveNewVirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import consulo.annotations.RequiredWriteAction; import java.io.*; import java.util.List; /** * @author VISTALL * @since 15:39/15.08.13 */ public class CompilerServerManagingFSImpl extends PersistentFS { @Override public void clearIdCache() { throw new UnsupportedOperationException(); } @NotNull @Override public String[] listPersisted(@NotNull VirtualFile parent) { throw new UnsupportedOperationException(); } @NotNull @Override public FSRecords.NameId[] listAll(@NotNull VirtualFile parent) { throw new UnsupportedOperationException(); } @Override public int getId(@NotNull VirtualFile parent, @NotNull String childName, @NotNull NewVirtualFileSystem delegate) { throw new UnsupportedOperationException(); } @Override public String getName(int id) { throw new UnsupportedOperationException(); } @Override public long getLastRecordedLength(@NotNull VirtualFile file) { return 0; } @Override public boolean exists(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @NotNull @Override public String[] list(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public boolean isDirectory(@NotNull VirtualFile file) { return file.isDirectory(); } @Override public long getTimeStamp(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public void setTimeStamp(@NotNull VirtualFile file, long timeStamp) throws IOException { throw new UnsupportedOperationException(); } @Override public boolean isWritable(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public void setWritable(@NotNull VirtualFile file, boolean writableFlag) throws IOException { throw new UnsupportedOperationException(); } @Override public boolean isSymLink(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Nullable @Override public String resolveSymLink(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public VirtualFile createChildDirectory(@Nullable Object requestor, @NotNull VirtualFile parent, @NotNull String dir) throws IOException { throw new UnsupportedOperationException(); } @Override public VirtualFile createChildFile(@Nullable Object requestor, @NotNull VirtualFile parent, @NotNull String file) throws IOException { throw new UnsupportedOperationException(); } @Override public void deleteFile(Object requestor, @NotNull VirtualFile file) throws IOException { throw new UnsupportedOperationException(); } @Override public void moveFile(Object requestor, @NotNull VirtualFile file, @NotNull VirtualFile newParent) throws IOException { throw new UnsupportedOperationException(); } @Override public void renameFile(Object requestor, @NotNull VirtualFile file, @NotNull String newName) throws IOException { throw new UnsupportedOperationException(); } @Override public VirtualFile copyFile(Object requestor, @NotNull VirtualFile file, @NotNull VirtualFile newParent, @NotNull String copyName) throws IOException { throw new UnsupportedOperationException(); } @NotNull @Override public byte[] contentsToByteArray(@NotNull VirtualFile file) throws IOException { throw new UnsupportedOperationException(); } @NotNull @Override public InputStream getInputStream(@NotNull VirtualFile file) throws IOException { throw new UnsupportedOperationException(); } @NotNull @Override public OutputStream getOutputStream(@NotNull VirtualFile file, Object requestor, long modStamp, long timeStamp) throws IOException { throw new UnsupportedOperationException(); } @Override public long getLength(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public boolean isHidden(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public int getFileAttributes(int id) { throw new UnsupportedOperationException(); } @Nullable @Override public NewVirtualFile findFileByIdIfCached(int id) { throw new UnsupportedOperationException(); } @Override public int storeUnlinkedContent(@NotNull byte[] bytes) { throw new UnsupportedOperationException(); } @NotNull @Override public byte[] contentsToByteArray(int contentId) throws IOException { throw new UnsupportedOperationException(); } @NotNull @Override public byte[] contentsToByteArray(@NotNull VirtualFile file, boolean cacheContent) throws IOException { throw new UnsupportedOperationException(); } @Override public int acquireContent(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @Override public void releaseContent(int contentId) { throw new UnsupportedOperationException(); } @Override public int getCurrentContentId(@NotNull VirtualFile file) { throw new UnsupportedOperationException(); } @RequiredWriteAction @Override public void processEvents(@NotNull List<VFileEvent> events) { throw new UnsupportedOperationException(); } @Nullable @Override public DataInputStream readAttribute(@NotNull VirtualFile file, @NotNull FileAttribute att) { return new DataInputStream(new ByteArrayInputStream(new byte[100])); } @NotNull @Override public DataOutputStream writeAttribute(@NotNull VirtualFile file, @NotNull FileAttribute att) { return new DataOutputStream(new ByteArrayOutputStream(100)); } @Override public int getModificationCount(@NotNull VirtualFile fileOrDirectory) { throw new UnsupportedOperationException(); } @Override public int getCheapFileSystemModificationCount() { return 0; } @Override public int getModificationCount() { return 0; } @Override public int getStructureModificationCount() { return 0; } @Override public int getFilesystemModificationCount() { throw new UnsupportedOperationException(); } @Override public long getCreationTimestamp() { return 0; } @Override public boolean areChildrenLoaded(@NotNull VirtualFile dir) { throw new UnsupportedOperationException(); } @Override public boolean wereChildrenAccessed(@NotNull VirtualFile dir) { throw new UnsupportedOperationException(); } @Nullable @Override public NewVirtualFile findRoot(@NotNull String basePath, @NotNull NewVirtualFileSystem fs) { String p = PathUtil.toPresentableUrl(basePath); VirtualFile fileByPath = LocalFileSystem.getInstance().findFileByPath(p); if (fileByPath != null) { if (fs instanceof ArchiveFileSystem) { return new ArchiveNewVirtualFile(fileByPath, (ArchiveFileSystemBase) fs); } return new CompilerServerNewVirtualFileImpl(fileByPath, fs); } return null; } @NotNull @Override public VirtualFile[] getRoots() { throw new UnsupportedOperationException(); } @NotNull @Override public VirtualFile[] getRoots(@NotNull NewVirtualFileSystem fs) { throw new UnsupportedOperationException(); } @NotNull @Override public VirtualFile[] getLocalRoots() { throw new UnsupportedOperationException(); } @Nullable @Override public VirtualFile findFileById(int id) { throw new UnsupportedOperationException(); } }