Beispiel #1
0
  /** Executes the task. */
  public void execute() throws BuildException {
    if (dirName == null) {
      final String message = Messages.getString("vfs.tasks/no-directory-specified.error");
      throw new BuildException(message);
    }

    try {
      final FileObject dir = resolveFile(dirName);
      final String message = Messages.getString("vfs.tasks/mkdir.create-folder.info", dir);
      log(message);
      dir.createFolder();
    } catch (final FileSystemException e) {
      throw new BuildException(e);
    }
  }
    public void run() {
      loop:
      while (!requestEnd && !Thread.currentThread().isInterrupted()) {
        try {
          Reference ref = refqueue.remove(1000);
          if (ref == null) {
            continue;
          }

          if (ref != null) {
            synchronized (SoftRefFilesCache.this) {
              FileSystemAndNameKey key = (FileSystemAndNameKey) refReverseMap.get(ref);

              if (key != null) {
                removeFile(key);
              }
            }
          }
        } catch (InterruptedException e) {
          if (!requestEnd) {
            VfsLog.warn(
                getLogger(),
                log,
                Messages.getString("vfs.impl/SoftRefReleaseThread-interrupt.info"));
          }
          break loop;
        }
      }
    }
  private void startThread() {
    if (softRefReleaseThread != null) {
      throw new IllegalStateException(
          Messages.getString("vfs.impl/SoftRefReleaseThread-already-running.warn"));
    }

    softRefReleaseThread = new SoftRefReleaseThread();
    softRefReleaseThread.start();
  }
  private FilesCache getCache() {
    FilesCache files;
    // if (this.files == null)
    // {
    files = getContext().getFileSystemManager().getFilesCache();
    if (files == null) {
      throw new RuntimeException(Messages.getString("vfs.provider/files-cache-missing.error"));
    }
    // }

    return files;
  }
  /** Fires an event. */
  private void fireEvent(final AbstractFileChangeEvent event) {
    FileListener[] fileListeners = null;
    final FileObject file = event.getFile();

    synchronized (listenerMap) {
      final ArrayList listeners = (ArrayList) listenerMap.get(file.getName());
      if (listeners != null) {
        fileListeners = (FileListener[]) listeners.toArray(new FileListener[listeners.size()]);
      }
    }

    if (fileListeners != null) {
      for (int i = 0; i < fileListeners.length; i++) {
        final FileListener fileListener = fileListeners[i];
        try {
          event.notify(fileListener);
        } catch (final Exception e) {
          final String message = Messages.getString("vfs.provider/notify-listener.warn", file);
          // getLogger().warn(message, e);
          VfsLog.warn(getLogger(), LOG, message, e);
        }
      }
    }
  }
 /** retrieve message from bundle */
 public String getMessage() {
   return Messages.getString(super.getMessage(), getInfo());
 }