Package org.eclipse.core.filesystem.provider

Examples of org.eclipse.core.filesystem.provider.FileInfo


  @Override
  public IFileInfo fetchInfo(int options, IProgressMonitor monitor) throws CoreException {
    if (serverFileInfo == null) {
      serverResourceInfo = null;
      this.effectivePermissions = null;
      FileInfo fi = new FileInfo(getName());
      HDFSServer server = getServer();
      if (server != null) {
        try {
          if (".project".equals(getName())) {
            fi.setExists(getLocalFile().exists());
            fi.setLength(getLocalFile().length());
          } else {
            ResourceInformation fileInformation = getClient().getResourceInformation(uri.getURI(), server.getUserId());
            if (fileInformation != null) {
              serverResourceInfo = fileInformation;
              fi.setDirectory(fileInformation.isFolder());
              fi.setExists(true);
              fi.setLastModified(fileInformation.getLastModifiedTime());
              fi.setLength(fileInformation.getSize());
              fi.setName(fileInformation.getName());
              String userId = server.getUserId();
              List<String> groupIds = server.getGroupIds();
              if (userId == null) {
                userId = getDefaultUserId();
                groupIds = getDefaultGroupIds();
              }
              fileInformation.updateEffectivePermissions(userId, groupIds);
              this.effectivePermissions = fileInformation.getEffectivePermissions();
              fi.setAttribute(EFS.ATTRIBUTE_OWNER_READ, fileInformation.getUserPermissions().read);
              fi.setAttribute(EFS.ATTRIBUTE_OWNER_WRITE, fileInformation.getUserPermissions().write);
              fi.setAttribute(EFS.ATTRIBUTE_OWNER_EXECUTE, fileInformation.getUserPermissions().execute);
              fi.setAttribute(EFS.ATTRIBUTE_GROUP_READ, fileInformation.getGroupPermissions().read);
              fi.setAttribute(EFS.ATTRIBUTE_GROUP_WRITE, fileInformation.getGroupPermissions().write);
              fi.setAttribute(EFS.ATTRIBUTE_GROUP_EXECUTE, fileInformation.getGroupPermissions().execute);
              fi.setAttribute(EFS.ATTRIBUTE_OTHER_READ, fileInformation.getOtherPermissions().read);
              fi.setAttribute(EFS.ATTRIBUTE_OTHER_WRITE, fileInformation.getOtherPermissions().write);
              fi.setAttribute(EFS.ATTRIBUTE_OTHER_EXECUTE, fileInformation.getOtherPermissions().execute);
            }
          }
        } catch (IOException e) {
          throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID, e.getMessage(), e));
        } catch (InterruptedException e) {
          throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID, e.getMessage(), e));
        } finally {
        }
      } else {
        // No server definition
        fi.setExists(false);
      }
      serverFileInfo = fi;
    }
    if (localFileInfo == null) {
      if (isLocalFile()) {
        File file = getLocalFile();
        localFileInfo = new FileInfo(file.getName());
        if (file.exists()) {
          localFileInfo.setExists(true);
          localFileInfo.setLastModified(file.lastModified());
          localFileInfo.setLength(file.length());
          localFileInfo.setDirectory(file.isDirectory());
View Full Code Here


  @Override
  public IFileInfo fetchInfo(int options, IProgressMonitor monitor) throws CoreException {
    if (serverFileInfo == null) {
      serverResourceInfo = null;
      this.effectivePermissions = null;
      FileInfo fi = new FileInfo(getName());
      HDFSServer server = getServer();
      if (server != null) {
        try {
          if (".project".equals(getName())) {
            fi.setExists(getLocalFile().exists());
            fi.setLength(getLocalFile().length());
          } else {
            ResourceInformation fileInformation = getClient().getResourceInformation(uri.getURI(), server.getUserId());
            if (fileInformation != null) {
              serverResourceInfo = fileInformation;
              fi.setDirectory(fileInformation.isFolder());
              fi.setExists(true);
              fi.setLastModified(fileInformation.getLastModifiedTime());
              fi.setLength(fileInformation.getSize());
              fi.setName(fileInformation.getName());
              String userId = server.getUserId();
              List<String> groupIds = server.getGroupIds();
              if (userId == null) {
                userId = getDefaultUserId();
                groupIds = getDefaultGroupIds();
              }
              fileInformation.updateEffectivePermissions(userId, groupIds);
              this.effectivePermissions = fileInformation.getEffectivePermissions();
              fi.setAttribute(EFS.ATTRIBUTE_OWNER_READ, fileInformation.getUserPermissions().read);
              fi.setAttribute(EFS.ATTRIBUTE_OWNER_WRITE, fileInformation.getUserPermissions().write);
              fi.setAttribute(EFS.ATTRIBUTE_OWNER_EXECUTE, fileInformation.getUserPermissions().execute);
              fi.setAttribute(EFS.ATTRIBUTE_GROUP_READ, fileInformation.getGroupPermissions().read);
              fi.setAttribute(EFS.ATTRIBUTE_GROUP_WRITE, fileInformation.getGroupPermissions().write);
              fi.setAttribute(EFS.ATTRIBUTE_GROUP_EXECUTE, fileInformation.getGroupPermissions().execute);
              fi.setAttribute(EFS.ATTRIBUTE_OTHER_READ, fileInformation.getOtherPermissions().read);
              fi.setAttribute(EFS.ATTRIBUTE_OTHER_WRITE, fileInformation.getOtherPermissions().write);
              fi.setAttribute(EFS.ATTRIBUTE_OTHER_EXECUTE, fileInformation.getOtherPermissions().execute);
            }
          }
        } catch (IOException e) {
          throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID, e.getMessage(), e));
        } catch (InterruptedException e) {
          throw new CoreException(new Status(IStatus.ERROR, Activator.BUNDLE_ID, e.getMessage(), e));
        } finally {
        }
      } else {
        // No server definition
        fi.setExists(false);
      }
      serverFileInfo = fi;
    }
    if (localFileInfo == null) {
      if (isLocalFile()) {
        File file = getLocalFile();
        localFileInfo = new FileInfo(file.getName());
        if (file.exists()) {
          localFileInfo.setExists(true);
          localFileInfo.setLastModified(file.lastModified());
          localFileInfo.setLength(file.length());
          localFileInfo.setDirectory(file.isDirectory());
View Full Code Here

  /**
   * @param fileName
   * @return The file info
   */
  public static FileInfo fetchFileInfo(String fileName) {
    FileInfo info = new FileInfo();
    if (isUnicode)
      internalGetFileInfoW(Convert.toPlatformChars(fileName), info);
    else
      internalGetFileInfo(Convert.toPlatformBytes(fileName), info);
    return info;
View Full Code Here

    return file.equals(otherFile.file);
  }

  public IFileInfo fetchInfo(int options, IProgressMonitor monitor) {
    if (LocalFileNatives.usingNatives()) {
      FileInfo info = LocalFileNatives.fetchFileInfo(filePath);
      //natives don't set the file name on all platforms
      if (info.getName().length() == 0)
        info.setName(file.getName());
      return info;
    }
    //in-lined non-native implementation
    FileInfo info = new FileInfo(file.getName());
    final long lastModified = file.lastModified();
    if (lastModified <= 0) {
      //if the file doesn't exist, all other attributes should be default values
      info.setExists(false);
      return info;
    }
    info.setLastModified(lastModified);
    info.setExists(true);
    info.setLength(file.length());
    info.setDirectory(file.isDirectory());
    info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, file.exists() && !file.canWrite());
    info.setAttribute(EFS.ATTRIBUTE_HIDDEN, file.isHidden());
    return info;
  }
View Full Code Here

   *
   * @see IFileStore#putInfo(IFileInfo, int, IProgressMonitor)
   * @return an empty file information object.
   */
  public static IFileInfo createFileInfo() {
    return new FileInfo();
  }
View Full Code Here

    //super implementation will always fail
    super.delete(options, monitor);
  }

  public IFileInfo fetchInfo(int options, IProgressMonitor monitor) {
    FileInfo result = new FileInfo(getName());
    result.setExists(false);
    return result;
  }
View Full Code Here

  private final ServletResourceHandler<IFileStore> genericFileSerializer;

  final ServletResourceHandler<IStatus> statusHandler;

  public static IFileInfo fromJSON(JSONObject object) {
    FileInfo info = (FileInfo) EFS.createFileInfo();
    copyJSONToFileInfo(object, info);
    return info;
  }
View Full Code Here

      fileInfo = file.fetchInfo(EFS.NONE, null);
    } catch (CoreException e) {
      if (handleAuthFailure(request, response, e))
        return true;
      //assume file does not exist
      fileInfo = new FileInfo(file.getName());
      ((FileInfo) fileInfo).setExists(false);
    }
    if (!request.getMethod().equals("PUT") && !fileInfo.exists()) //$NON-NLS-1$
      return statusHandler.handleRequest(request, response, new ServerStatus(IStatus.ERROR, 404, NLS.bind("File not found: {0}", EncodingUtils.encodeForHTML(request.getPathInfo())), null));
    if (fileInfo.isDirectory())
View Full Code Here

    StringBuffer buf = new StringBuffer();
    String line;
    while ((line = reader.readLine()) != null && !line.equals(boundary))
      buf.append(line);
    //merge with existing metadata
    FileInfo info = (FileInfo) file.fetchInfo(EFS.NONE, null);
    ServletFileStoreHandler.copyJSONToFileInfo(new JSONObject(buf.toString()), info);
    file.putInfo(info, EFS.SET_ATTRIBUTES, null);
  }
View Full Code Here

  /**
   * Converts a jsch attributes object to an EFS file info.
   */
  private static FileInfo attrsToInfo(String fileName, SftpATTRS stat) {
    FileInfo info = new FileInfo(fileName);
    info.setExists(true);
    info.setDirectory(stat.isDir());
    info.setLength(stat.getSize());
    info.setLastModified(((long) stat.getMTime()) * 1000);
    return info;
  }
View Full Code Here

TOP

Related Classes of org.eclipse.core.filesystem.provider.FileInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.