CR-IC-4324 revert to NotNull, move new contract to PathUtil

This commit is contained in:
Vladimir Krivosheev
2014-02-12 18:02:29 +01:00
parent 3bce47942b
commit cb2cca73b7
10 changed files with 42 additions and 25 deletions
@@ -17,11 +17,13 @@ package com.intellij.util;
import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileProvider;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.util.io.URLUtil;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -100,4 +102,14 @@ public class PathUtil {
return PathUtilRt.isValidFileName(fileName);
}
@Contract("null -> null; !null -> !null")
public static String toSystemIndependentName(@Nullable String path) {
return path == null ? null : FileUtilRt.toSystemIndependentName(path);
}
@Contract("null -> null; !null -> !null")
public static String toSystemDependentName(@Nullable String path) {
return path == null ? null : FileUtilRt.toSystemDependentName(path);
}
}
@@ -19,6 +19,7 @@ import com.intellij.ide.browsers.BrowserSpecificSettings;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.execution.ParametersListUtil;
import com.intellij.util.xmlb.annotations.Tag;
import org.jetbrains.annotations.NotNull;
@@ -58,7 +59,7 @@ public final class ChromeSettings extends BrowserSpecificSettings {
}
public void setUserDataDirectoryPath(@Nullable String value) {
myUserDataDirectoryPath = FileUtilRt.toSystemIndependentName(StringUtil.nullize(value));
myUserDataDirectoryPath = PathUtil.toSystemIndependentName(StringUtil.nullize(value));
}
public void setUseCustomProfile(boolean useCustomProfile) {
@@ -28,6 +28,7 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.ui.DocumentAdapter;
import com.intellij.util.ObjectUtils;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.Nullable;
@@ -87,8 +88,8 @@ public class FirefoxSettingsConfigurable implements Configurable {
@Nullable
private String getConfiguredProfileIniPath() {
String path = myProfilesIniPathField.getText();
return myDefaultProfilesIniPath.equals(path) ? null : FileUtilRt.toSystemIndependentName(StringUtil.nullize(path));
String path = PathUtil.toSystemIndependentName(StringUtil.nullize(myProfilesIniPathField.getText()));
return myDefaultProfilesIniPath.equals(path) ? null : path;
}
@Nullable
@@ -21,11 +21,11 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.Consumer;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -72,7 +72,7 @@ public class LocalPathCellEditor extends AbstractTableCellEditor {
@Override
public Object getCellEditorValue() {
String value = myComponent.getChildComponent().getText();
return myNormalizePath ? FileUtilRt.toSystemDependentName(StringUtil.nullize(value)) : value;
return myNormalizePath ? PathUtil.toSystemDependentName(StringUtil.nullize(value)) : value;
}
@Override
@@ -15,7 +15,6 @@
*/
package org.jetbrains.io;
import com.google.gson.annotations.Since;
import com.intellij.openapi.util.text.StringUtil;
import io.netty.channel.Channel;
import io.netty.channel.ChannelFuture;
@@ -18,7 +18,10 @@ package com.intellij.openapi.util.io;
import com.intellij.openapi.diagnostic.LoggerRt;
import com.intellij.openapi.util.SystemInfoRt;
import com.intellij.openapi.util.text.StringUtilRt;
import org.jetbrains.annotations.*;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
import java.io.*;
import java.nio.channels.FileChannel;
@@ -81,19 +84,19 @@ public class FileUtilRt {
&& fileName.regionMatches(!SystemInfoRt.isFileSystemCaseSensitive, extStart, extension, 0, extLen);
}
@Contract("null -> null; !null -> !null")
public static String toSystemDependentName(@NonNls @Nullable String fileName) {
return fileName == null ? null : toSystemDependentName(fileName, File.separatorChar);
@NotNull
public static String toSystemDependentName(@NonNls @NotNull String fileName) {
return toSystemDependentName(fileName, File.separatorChar);
}
@Contract("null, _ -> null; !null, _ -> !null")
public static String toSystemDependentName(@NonNls @Nullable String fileName, final char separatorChar) {
return fileName == null ? null : fileName.replace('/', separatorChar).replace('\\', separatorChar);
@NotNull
public static String toSystemDependentName(@NonNls @NotNull String fileName, final char separatorChar) {
return fileName.replace('/', separatorChar).replace('\\', separatorChar);
}
@Contract("null -> null; !null -> !null")
public static String toSystemIndependentName(@NonNls @Nullable String fileName) {
return fileName == null ? null : fileName.replace('\\', '/');
@NotNull
public static String toSystemIndependentName(@NonNls @NotNull String fileName) {
return fileName.replace('\\', '/');
}
@Nullable
@@ -611,13 +611,13 @@ public class FileUtil extends FileUtilRt {
return candidate;
}
@Contract("null -> null; !null -> !null")
public static String toSystemDependentName(@NonNls @Nullable String aFileName) {
@NotNull
public static String toSystemDependentName(@NonNls @NotNull String aFileName) {
return FileUtilRt.toSystemDependentName(aFileName);
}
@Contract("null -> null; !null -> !null")
public static String toSystemIndependentName(@NonNls @Nullable String aFileName) {
@NotNull
public static String toSystemIndependentName(@NonNls @NotNull String aFileName) {
return FileUtilRt.toSystemIndependentName(aFileName);
}
@@ -42,6 +42,7 @@ import com.intellij.openapi.vfs.*;
import com.intellij.ui.AppUIUtil;
import com.intellij.ui.GuiUtils;
import com.intellij.util.ArrayUtil;
import com.intellij.util.PathUtil;
import com.intellij.util.io.ZipUtil;
import com.intellij.util.ui.OptionsDialog;
import org.jetbrains.annotations.NotNull;
@@ -389,7 +390,7 @@ final class BrowserLauncherImpl extends BrowserLauncher {
@Nullable WebBrowser browser,
@Nullable Project project,
@NotNull String... additionalParameters) {
return doLaunch(url, browserPath == null && browser != null ? FileUtilRt.toSystemDependentName(browser.getPath()) : browserPath, browser, project, additionalParameters);
return doLaunch(url, browserPath == null && browser != null ? PathUtil.toSystemDependentName(browser.getPath()) : browserPath, browser, project, additionalParameters);
}
private static boolean doLaunch(@Nullable String url,
@@ -23,11 +23,11 @@ import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.ui.ComboBox;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.ui.EnumComboBoxModel;
import com.intellij.ui.ListCellRendererWrapper;
import com.intellij.ui.TitledSeparator;
import com.intellij.util.Function;
import com.intellij.util.PathUtil;
import com.intellij.util.ui.ColumnInfo;
import com.intellij.util.ui.ListTableModel;
import com.intellij.util.ui.LocalPathCellEditor;
@@ -59,7 +59,7 @@ final class BrowserSettingsPanel {
new EditableColumnInfo<ConfigurableWebBrowser, String>("Path") {
@Override
public String valueOf(ConfigurableWebBrowser item) {
return FileUtilRt.toSystemDependentName(item.getPath());
return PathUtil.toSystemDependentName(item.getPath());
}
@Override
@@ -2,8 +2,8 @@ package com.intellij.ide.browsers;
import com.intellij.icons.AllIcons;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -77,7 +77,7 @@ final class ConfigurableWebBrowser extends WebBrowserBase {
}
public void setPath(@Nullable String value) {
path = FileUtilRt.toSystemIndependentName(StringUtil.nullize(value, true));
path = PathUtil.toSystemIndependentName(StringUtil.nullize(value));
}
@Override