예제 #1
0
파일: Nodes.java 프로젝트: hdpter/jenkins
 /** {@inheritDoc} */
 @Override
 public void save() throws IOException {
   if (BulkChange.contains(this)) {
     return;
   }
   final File nodesDir = getNodesDir();
   final Set<String> existing = new HashSet<String>();
   for (Node n : nodes.values()) {
     if (n instanceof EphemeralNode) {
       continue;
     }
     existing.add(n.getNodeName());
     XmlFile xmlFile =
         new XmlFile(Jenkins.XSTREAM, new File(new File(nodesDir, n.getNodeName()), "config.xml"));
     xmlFile.write(n);
     SaveableListener.fireOnChange(this, xmlFile);
   }
   for (File forDeletion :
       nodesDir.listFiles(
           new FileFilter() {
             @Override
             public boolean accept(File pathname) {
               return pathname.isDirectory() && !existing.contains(pathname.getName());
             }
           })) {
     Util.deleteRecursive(forDeletion);
   }
 }
예제 #2
0
 public void save() throws IOException {
   if (BulkChange.contains(this)) return;
   try {
     getConfigFile().write(this);
     SaveableListener.fireOnChange(this, getConfigFile());
   } catch (IOException e) {
     LOGGER.log(Level.WARNING, "Failed to save " + getConfigFile(), e);
   }
 }
예제 #3
0
  /** Save the settings to a file. */
  public synchronized void save() throws IOException {
    if (BulkChange.contains(this)) return;

    long start = 0;
    if (logger.isLoggable(Level.FINE)) start = System.currentTimeMillis();

    File file = getFingerprintFile(md5sum);
    save(file);
    SaveableListener.fireOnChange(this, getConfigFile(file));

    if (logger.isLoggable(Level.FINE))
      logger.fine(
          "Saving fingerprint " + file + " took " + (System.currentTimeMillis() - start) + "ms");
  }
예제 #4
0
파일: Queue.java 프로젝트: fujibee/hudson
  /** Persists the queue contents to the disk. */
  public synchronized void save() {
    if (BulkChange.contains(this)) return;

    // write out the tasks on the queue
    ArrayList<Queue.Item> items = new ArrayList<Queue.Item>();
    for (Item item : getItems()) {
      if (item.task instanceof TransientTask) continue;
      items.add(item);
    }

    try {
      new XmlFile(XSTREAM, getXMLQueueFile()).write(items);
    } catch (IOException e) {
      LOGGER.log(Level.WARNING, "Failed to write out the queue file " + getQueueFile(), e);
    }
  }
예제 #5
0
파일: User.java 프로젝트: nahi/jenkins
 /** Save the settings to a file. */
 public synchronized void save() throws IOException {
   if (BulkChange.contains(this)) return;
   getConfigFile().write(this);
   SaveableListener.fireOnChange(this, getConfigFile());
 }