KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > subversion > SvnMetadata


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.subversion;
21
22 import java.io.*;
23 import java.util.*;
24 import org.netbeans.modules.subversion.util.*;
25
26 /**
27  * Encapsulates content of .svn/* files that is used to save to-be-deleted metadata.
28  *
29  * @author Petr Kuzel
30  */

31 public class SvnMetadata {
32
33     /** Location on disk, a directory. */
34     private File storage;
35
36     private SvnMetadata() throws IOException {
37         // XXX clean-up on IDE start, shutdown?
38
storage = FileUtils.createTmpFolder("nb_SvnMetadata_"); // NOI18N
39
}
40
41     /**
42      * Reads and stores .svn metadata.
43      */

44     public static SvnMetadata read(File dir) throws IOException {
45         assert dir.isDirectory();
46
47         SvnMetadata data = new SvnMetadata();
48 // System.err.println("METADATA Saving: " + dir);
49
data.load(dir);
50         return data;
51     }
52
53     private void load(File dir) throws IOException {
54         FileUtils.copyDirFiles(dir, storage, true);
55     }
56
57     /** Saves metadata in the given folder, typically named .svn.
58      *
59      * @param dir folder to save to
60      * @throws java.io.IOException
61      */

62     public void save(File dir) throws IOException {
63 // System.err.println("METADATA Restoring: " + dir);
64
dir.mkdirs();
65         FileUtils.copyDirFiles(storage, dir, true);
66     }
67
68 }
69
Popular Tags