From 31d51ff6d9afd0ba83faeac6f92b9ab7dda2268a Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 22 Dec 2014 18:49:13 +0300 Subject: [PATCH] println removed --- .../fileTypes/impl/IgnoredPatternSet.java | 4 +- .../fileTypes/impl/FileTypeManagerImpl.java | 24 +++--- .../openapi/fileTypes/impl/FileTypesTest.java | 76 ++++++++++--------- 3 files changed, 57 insertions(+), 47 deletions(-) diff --git a/jps/model-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredPatternSet.java b/jps/model-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredPatternSet.java index cd31b4458246..e64ed100419e 100644 --- a/jps/model-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredPatternSet.java +++ b/jps/model-impl/src/com/intellij/openapi/fileTypes/impl/IgnoredPatternSet.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2011 JetBrains s.r.o. + * Copyright 2000-2014 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. @@ -65,7 +65,7 @@ public class IgnoredPatternSet { return fileName.endsWith(FileUtil.ASYNC_DELETE_EXTENSION); } - void clearPatterns() { + private void clearPatterns() { myMasks.clear(); myIgnorePatterns.removeAllAssociations(Boolean.TRUE); } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java index 30ae5908124e..a2a210d4bf4e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/FileTypeManagerImpl.java @@ -258,11 +258,11 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME }); files.remove(null); if (toLog()) { - System.out.println("F: VFS events: " + events); + log("F: VFS events: " + events); } if (!files.isEmpty() && RE_DETECT_ASYNC) { if (toLog()) { - System.out.println("F: queued to redetect: " + files); + log("F: queued to redetect: " + files); } reDetectQueue.offerIfAbsent(files); } @@ -277,6 +277,10 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME return RE_DETECT_ASYNC && ApplicationManager.getApplication().isUnitTestMode(); } + private static void log(String message) { + //System.out.println(message); + } + private final TransferToPooledThreadQueue> reDetectQueue = new TransferToPooledThreadQueue>("File type re-detect", Conditions.alwaysFalse(), -1, new Processor>() { @Override public boolean process(Collection files) { @@ -306,7 +310,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME for (VirtualFile file : files) { boolean shouldRedetect = wasAutoDetectedBefore(file) && isDetectable(file); if (toLog()) { - System.out.println("F: Redetect file: " + file.getName() + "; shouldRedetect: " + shouldRedetect); + log("F: Redetect file: " + file.getName() + "; shouldRedetect: " + shouldRedetect); } if (shouldRedetect) { int id = file instanceof VirtualFileWithId ? ((VirtualFileWithId)file).getId() : -1; @@ -317,7 +321,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME file.putUserData(DETECTED_FROM_CONTENT_FILE_TYPE_KEY, null); FileType after = getFileTypeByFile(file); // may be back to standard file type if (toLog()) { - System.out.println("F: After redetect file: " + file.getName() + "; before: " + before.getName() + "; after: " + after.getName()+"; now getFileType()="+file.getFileType().getName()); + log("F: After redetect file: " + file.getName() + "; before: " + before.getName() + "; after: " + after.getName()+"; now getFileType()="+file.getFileType().getName()); } if (before != after) { @@ -421,7 +425,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME public static void cacheFileType(@NotNull VirtualFile file, @Nullable FileType fileType) { file.putUserData(FILE_TYPE_KEY, fileType); if (toLog()) { - System.out.println("F: Cached file type for "+file.getName()+" to "+(fileType == null ? null : fileType.getName())); + log("F: Cached file type for "+file.getName()+" to "+(fileType == null ? null : fileType.getName())); } } @@ -441,7 +445,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME FileTypeIdentifiableByVirtualFile type = mySpecialFileTypes.get(i); if (type.isMyFileType(file)) { if (toLog()) { - System.out.println("F: Special file type for "+file.getName()+"; type: "+type.getName()); + log("F: Special file type for "+file.getName()+"; type: "+type.getName()); } return type; } @@ -450,7 +454,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME fileType = getFileTypeByFileName(file.getNameSequence()); if (fileType != UnknownFileType.INSTANCE) { if (toLog()) { - System.out.println("F: By name file type for "+file.getName()+"; type: "+fileType.getName()); + log("F: By name file type for "+file.getName()+"; type: "+fileType.getName()); } return fileType; } @@ -475,7 +479,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME if (autoDetectWasRun) { FileType type = getAutoDetectedType(file, id); if (toLog()) { - System.out.println("F: autodetected getFileType("+file.getName()+") = "+type.getName()); + log("F: autodetected getFileType("+file.getName()+") = "+type.getName()); } return type; } @@ -517,7 +521,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME } if (toLog()) { - System.out.println("F: getFileType after detect run("+file.getName()+") = "+fileType.getName()); + log("F: getFileType after detect run("+file.getName()+") = "+fileType.getName()); } return fileType; @@ -638,7 +642,7 @@ public class FileTypeManagerImpl extends FileTypeManagerEx implements NamedJDOME } FileType fileType = result.get(); if (toLog()) { - System.out.println("F: Redetect run for file: " + file.getName() + "; result: "+fileType.getName()); + log("F: Redetect run for file: " + file.getName() + "; result: "+fileType.getName()); } if (LOG.isDebugEnabled()) { diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/fileTypes/impl/FileTypesTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/fileTypes/impl/FileTypesTest.java index bc57c7d1b32c..f603e518b900 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/fileTypes/impl/FileTypesTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/fileTypes/impl/FileTypesTest.java @@ -40,6 +40,7 @@ import com.intellij.psi.impl.PsiManagerEx; import com.intellij.testFramework.PlatformTestCase; import com.intellij.testFramework.PlatformTestUtil; import com.intellij.util.PatternUtil; +import com.intellij.util.ThrowableRunnable; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.UIUtil; import junit.framework.TestCase; @@ -104,7 +105,27 @@ public class FileTypesTest extends PlatformTestCase { } public void testExcludePerformance() { - runPerformanceTest(true); + ApplicationManager.getApplication().runWriteAction(new Runnable() { + @Override + public void run() { + myFileTypeManager.setIgnoredFilesList("1*2;3*4;5*6;7*8;9*0;*1;*3;*5;*6;7*;*8*"); + } + }); + final String[] names = new String[100]; + for (int i = 0; i < names.length; i++) { + String name = String.valueOf((i%10)*10 + (i*100) + i + 1); + names[i] = (name + name + name + name); + } + PlatformTestUtil.startPerformanceTest("ignore perf", 700, new ThrowableRunnable() { + @Override + public void run() throws Throwable { + for (int i=0;i<1000;i++) { + for (String name : names) { + myFileTypeManager.isFileIgnored(name); + } + } + } + }).assertTiming(); } public void testMaskToPattern() { @@ -174,25 +195,6 @@ public class FileTypesTest extends PlatformTestCase { assertTrue(myFileTypeManager.isFileIgnored(fileName)); } - private void runPerformanceTest(boolean rerunOnOvertime) { - long startTime = System.currentTimeMillis(); - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - myFileTypeManager.setIgnoredFilesList("1*2;3*4;5*6;7*8;9*0;*1;*3;*5;*6;7*;*8*"); - } - }); - for (int i = 0; i < 100; i++) { - String name = String.valueOf((i%10)*10 + (i*100) + i + 1); - myFileTypeManager.isFileIgnored(name + name + name + name); - } - long time = System.currentTimeMillis() - startTime; - if (time > 700) { - if (rerunOnOvertime) runPerformanceTest(false); - else fail("Time=" + time); - } - } - public void testAutoDetected() throws IOException { File dir = createTempDirectory(); File file = FileUtil.createTempFile(dir, "x", "xxx_xx_xx", true); @@ -311,7 +313,7 @@ public class FileTypesTest extends PlatformTestCase { detectorCalled.add(file); String text = firstCharsIfText.toString(); FileType result = text.startsWith("TYPE:") ? fileTypeManager.findFileTypeByName(StringUtil.trimStart(text, "TYPE:")) : null; - System.out.println("T: my detector run for "+file.getName()+"; result: "+(result == null ? null : result.getName())); + log("T: my detector run for "+file.getName()+"; result: "+(result == null ? null : result.getName())); return result; } @@ -322,42 +324,46 @@ public class FileTypesTest extends PlatformTestCase { }; Extensions.getRootArea().getExtensionPoint(FileTypeRegistry.FileTypeDetector.EP_NAME).registerExtension(detector); try { - System.out.println("T: ------"); + log("T: ------"); File f = createTempFile("xx.asfdasdfas", "akjdhfksdjgf"); VirtualFile vFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(f); ensureRedetected(vFile, detectorCalled); assertTrue(vFile.getFileType().toString(), vFile.getFileType() instanceof PlainTextFileType); - System.out.println("T: ------"); + log("T: ------"); VfsUtil.saveText(vFile, "TYPE:IDEA_MODULE"); ensureRedetected(vFile, detectorCalled); assertTrue(vFile.getFileType().toString(), vFile.getFileType() instanceof ModuleFileType); - System.out.println("T: ------"); + log("T: ------"); VfsUtil.saveText(vFile, "TYPE:IDEA_PROJECT"); ensureRedetected(vFile, detectorCalled); assertTrue(vFile.getFileType().toString(), vFile.getFileType() instanceof ProjectFileType); - System.out.println("T: ------"); + log("T: ------"); } finally { Extensions.getRootArea().getExtensionPoint(FileTypeRegistry.FileTypeDetector.EP_NAME).unregisterExtension(detector); } } + private static void log(String message) { + //System.out.println(message); + } + private void ensureRedetected(VirtualFile vFile, Set detectorCalled) { PsiDocumentManager.getInstance(getProject()).commitAllDocuments(); - System.out.println("T: ensureRedetected: commit"); + log("T: ensureRedetected: commit"); UIUtil.dispatchAllInvocationEvents(); - System.out.println("T: ensureRedetected: dispatch"); + log("T: ensureRedetected: dispatch"); myFileTypeManager.drainReDetectQueue(); - System.out.println("T: ensureRedetected: drain"); + log("T: ensureRedetected: drain"); UIUtil.dispatchAllInvocationEvents(); - System.out.println("T: ensureRedetected: dispatch"); + log("T: ensureRedetected: dispatch"); FileType type = vFile.getFileType(); - System.out.println("T: ensureRedetected: getFileType ("+type.getName()+")"); + log("T: ensureRedetected: getFileType ("+type.getName()+")"); assertTrue(detectorCalled.contains(vFile)); detectorCalled.clear(); - System.out.println("T: ensureRedetected: clear"); + log("T: ensureRedetected: clear"); } public void testReassignedPredefinedFileType() throws Exception { @@ -404,7 +410,7 @@ public class FileTypesTest extends PlatformTestCase { Element element = new Element("foo"); myFileTypeManager.writeExternal(element); String s = JDOMUtil.writeElement(element); - System.out.println(s); + log(s); final AbstractFileType typeFromPlugin = new AbstractFileType(new SyntaxTable()); PlatformTestUtil.registerExtension(FileTypeFactory.FILE_TYPE_FACTORY_EP, new FileTypeFactory() { @@ -453,7 +459,7 @@ public class FileTypesTest extends PlatformTestCase { element = new Element("foo"); myFileTypeManager.writeExternal(element); - System.out.println(JDOMUtil.writeElement(element)); + log(JDOMUtil.writeElement(element)); Extensions.getRootArea().getExtensionPoint(FileTypeFactory.FILE_TYPE_FACTORY_EP).unregisterExtension(factory); myFileTypeManager.clearForTests(); @@ -463,7 +469,7 @@ public class FileTypesTest extends PlatformTestCase { element = new Element("foo"); myFileTypeManager.writeExternal(element); - System.out.println(JDOMUtil.writeElement(element)); + log(JDOMUtil.writeElement(element)); Extensions.getRootArea().getExtensionPoint(FileTypeFactory.FILE_TYPE_FACTORY_EP).registerExtension(factory); myFileTypeManager.clearForTests(); @@ -473,7 +479,7 @@ public class FileTypesTest extends PlatformTestCase { element = new Element("foo"); myFileTypeManager.writeExternal(element); - System.out.println(JDOMUtil.writeElement(element)); + log(JDOMUtil.writeElement(element)); assertEquals(typeFromPlugin, myFileTypeManager.getFileTypeByFileName("foo.foo")); }