From a3ef7a3ad9afe4dbae578a6bdacb2cf3e688d827 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Mon, 25 Jul 2011 22:19:28 +0400 Subject: [PATCH] SqlHighlightingTest fixed --- .../roots/impl/PushedFilePropertiesUpdater.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdater.java b/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdater.java index 57ce7ebe97dd..4193d5ca3da0 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdater.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/impl/PushedFilePropertiesUpdater.java @@ -33,6 +33,7 @@ import com.intellij.openapi.vfs.impl.BulkVirtualFileListenerAdapter; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBus; import com.intellij.util.messages.MessageBusConnection; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; @@ -116,7 +117,7 @@ public class PushedFilePropertiesUpdater { final boolean isDir = fileOrDir.isDirectory(); for (FilePropertyPusher pusher : pushers) { if (!isDir && (pusher.pushDirectoriesOnly() || !pusher.acceptsFile(fileOrDir))) continue; - findAndUpdateValue(project, fileOrDir, pusher, pusher.getDefaultValue()); + findAndUpdateValue(project, fileOrDir, pusher, null); } return true; } @@ -154,14 +155,16 @@ public class PushedFilePropertiesUpdater { public static T findAndUpdateValue(final Project project, final VirtualFile fileOrDir, final FilePropertyPusher pusher, - final T parentValue) { + @Nullable final T parentValue) { final T immediateValue = pusher.getImmediateValue(project, fileOrDir); final T value = immediateValue != null ? immediateValue : parentValue; - updateValue(fileOrDir, value, pusher); + if (value != null) { + updateValue(fileOrDir, value, pusher); + } return value; } - private static void updateValue(final VirtualFile fileOrDir, final T value, final FilePropertyPusher pusher) { + private static void updateValue(final VirtualFile fileOrDir, final @NotNull T value, final FilePropertyPusher pusher) { final T oldValue = fileOrDir.getUserData(pusher.getFileDataKey()); if (value != oldValue) { fileOrDir.putUserData(pusher.getFileDataKey(), value);