Revision 43400 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.coreplugin.app/org.gvsig.coreplugin.app.mainplugin/src/main/java/org/gvsig/coreplugin/PreferencesExtension.java
PreferencesExtension.java | ||
---|---|---|
22 | 22 |
*/ |
23 | 23 |
package org.gvsig.coreplugin; |
24 | 24 |
|
25 |
import java.io.File; |
|
25 | 26 |
import java.util.ArrayList; |
26 | 27 |
import java.util.HashMap; |
27 | 28 |
import java.util.Iterator; |
29 |
import org.apache.commons.io.FileUtils; |
|
30 |
import org.apache.commons.lang3.StringUtils; |
|
28 | 31 |
|
29 | 32 |
import org.slf4j.Logger; |
30 | 33 |
import org.slf4j.LoggerFactory; |
... | ... | |
56 | 59 |
import org.gvsig.tools.dynobject.DynObject; |
57 | 60 |
import org.gvsig.tools.extensionpoint.ExtensionPoint; |
58 | 61 |
import org.gvsig.tools.extensionpoint.ExtensionPointManager; |
62 |
import org.gvsig.tools.folders.FoldersManager; |
|
59 | 63 |
import org.gvsig.tools.i18n.I18nManager; |
60 | 64 |
import org.gvsig.tools.util.ToolsUtilLocator; |
65 |
import org.gvsig.utils.XMLEntity; |
|
61 | 66 |
|
62 | 67 |
/** |
63 | 68 |
* |
... | ... | |
79 | 84 |
*/ |
80 | 85 |
public class PreferencesExtension extends Extension { |
81 | 86 |
|
87 |
public static final String PROJECTS_FOLDER_PROPERTY_NAME = "ProjectsFolder"; |
|
88 |
public static final String DATA_FOLDER_PROPERTY_NAME = "DataFolder"; |
|
89 |
public static final String TEMPLATES_FOLDER_PROPERTY_NAME = "TemplatesFolder"; |
|
90 |
public static final String SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME = "SymbolLibraryFolder"; |
|
91 |
|
|
82 | 92 |
private static final Logger logger = LoggerFactory.getLogger(PreferencesExtension.class); |
83 | 93 |
private final ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager(); |
84 | 94 |
|
... | ... | |
87 | 97 |
@Override |
88 | 98 |
public void initialize() { |
89 | 99 |
initializeUseNativeFileChooser(); |
100 |
initializeFoldersManager(); |
|
90 | 101 |
registerIcons(); |
91 | 102 |
initializeCoreExtensions(); |
92 | 103 |
} |
... | ... | |
101 | 112 |
ToolsUtilLocator.getFileDialogChooserManager().setUseNativeFileChooser(useNativeFileChooser); |
102 | 113 |
} |
103 | 114 |
|
115 |
private void initializeFoldersManager() { |
|
116 |
FoldersManager foldersManager = ToolsLocator.getFoldersManager(); |
|
117 |
PluginServices ps = PluginServices.getPluginServices(this); |
|
118 |
XMLEntity xml = ps.getPersistentXML(); |
|
119 |
for( String name : new String[] { |
|
120 |
PROJECTS_FOLDER_PROPERTY_NAME, |
|
121 |
DATA_FOLDER_PROPERTY_NAME, |
|
122 |
TEMPLATES_FOLDER_PROPERTY_NAME, |
|
123 |
SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME |
|
124 |
}) { |
|
125 |
String fname = xml.getStringProperty(name); |
|
126 |
if( !StringUtils.isEmpty(fname) ) { |
|
127 |
foldersManager.set(name, new File(fname).getAbsoluteFile()); |
|
128 |
} |
|
129 |
} |
|
130 |
} |
|
131 |
|
|
104 | 132 |
private void registerIcons() { |
105 | 133 |
IconThemeHelper.registerIcon("action", "edit-setup", this); |
106 | 134 |
IconThemeHelper.registerIcon("action", "application-exit", this); |
Also available in: Unified diff