This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
import org.netbeans.modules.masterfs.filebasedfs.naming.FileNaming;
import org.netbeans.modules.masterfs.filebasedfs.naming.NamingFactory;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.util.Utilities;
public final class FileInfo {
public boolean isConvertibleToFileObject() {
if (isConvertibleToFileObject == -1) {
isConvertibleToFileObject = (isSupportedFile() && exists()) ? 1 : 0;
isConvertibleToFileObject = (isSupportedFile() && exists() &&
(!Utilities.isMac() || getFile().equals(FileUtil.normalizeFile(getFile())))) ? 1 : 0;
}
return (isConvertibleToFileObject == 1) ? true : false;
static FileChangeListener removeFileChangeListenerImpl(Logger logger, FileChangeListener listener, File path) {
assert path.equals(FileUtil.normalizeFile(path)) : "Need to normalize " + FileUtil.toDebugString(path) + "!";
assert (Utilities.isMac()
? path.toString().equalsIgnoreCase(FileUtil.normalizeFile(path).toString())
: path.equals(FileUtil.normalizeFile(path))) : "Need to normalize " + FileUtil.toDebugString(path) + "!";
logger.log(Level.FINE, "removeFileChangeListener {0} @ {1}", new Object[]{listener, path});
synchronized (holders) {
Map<File, FileChangeImpl> f2H = holders.get(listener);
try {
VCSFileProxyOperations fileProxyOperations = getFileProxyOperations(fileObject.getFileSystem());
if (fileProxyOperations == null) {
File file = FileUtil.toFile(fileObject);
File file = toFile(fileObject);
if(file != null) {
final VCSFileProxy p = createFileProxy(file);
p.isDirectory = fileObject.isFolder();
VCSFileProxyOperations getFileProxyOperations() {
return proxy;
/**
* Get a File instance for a FileObject. Workaround for bug 240180.
*
* @param fo FileObject instance.
* @return Associated File instance.
*/
private static File toFile(FileObject fo) {
Object fileAtt = fo.getAttribute("java.io.File"); //NOI18N
if (fileAtt instanceof File) {
return (File) fileAtt;
} else {
return FileUtil.toFile(fo);