KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > derby > bundled > DerbyModule


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.derby.bundled;
21
22 import java.io.File JavaDoc;
23 import org.netbeans.modules.derby.spi.support.DerbySupport;
24 import org.openide.modules.InstalledFileLocator;
25 import org.openide.modules.ModuleInstall;
26
27 /**
28  *
29  * @author Andrei Badea
30  */

31 public class DerbyModule extends ModuleInstall {
32     
33     private static final String JavaDoc INST_DIR = "db-derby-10.1.3.1-bin"; // NOI18N
34

35     public void restored() {
36         if (DerbySupport.getLocation().length() <= 0) {
37             // this is eager, but it only runs once (when the module is installed)
38
DerbySupport.setLocation(getDefaultInstallLocation());
39         }
40     }
41     
42     public void uninstalled() {
43         String JavaDoc location = DerbySupport.getLocation();
44         if (location == null) {
45             return;
46         }
47         String JavaDoc defaultLocation = getDefaultInstallLocation();
48         if (defaultLocation == null) {
49             // but it shouldn't happen
50
return;
51         }
52         if (unshlashify(location).equals(unshlashify(defaultLocation))) {
53             DerbySupport.setLocation(null);
54         }
55     }
56     
57     private static String JavaDoc getDefaultInstallLocation() {
58         File JavaDoc location = InstalledFileLocator.getDefault().locate(INST_DIR, null, false);
59         return (location != null) ? location.getAbsolutePath() : null; // NOI18N
60
}
61     
62     private static String JavaDoc unshlashify(String JavaDoc path) {
63         assert path != null;
64         int slash = path.length() - 1;
65         while (slash >= 0) {
66             if (path.charAt(slash) == File.separatorChar) {
67                 path = path.substring(0, slash);
68                 slash--;
69             } else {
70                 break;
71             }
72         }
73         return path;
74     }
75 }
76
Popular Tags