Revision 44404 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/app/extension/InitializeApplicationExtension.java
InitializeApplicationExtension.java | ||
---|---|---|
29 | 29 |
import java.io.InputStream; |
30 | 30 |
import java.io.InputStreamReader; |
31 | 31 |
import java.io.StringWriter; |
32 |
import java.util.ArrayList; |
|
32 | 33 |
import java.util.HashMap; |
34 |
import java.util.List; |
|
33 | 35 |
import java.util.Map; |
34 | 36 |
import java.util.Properties; |
35 | 37 |
import java.util.prefs.Preferences; |
... | ... | |
53 | 55 |
import org.gvsig.app.project.documents.view.gui.IView; |
54 | 56 |
import org.gvsig.app.project.documents.view.toolListeners.InfoListener; |
55 | 57 |
import org.gvsig.app.util.BaseOpenErrorHandler; |
58 |
import org.gvsig.expressionevaluator.Expression; |
|
59 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator; |
|
60 |
import org.gvsig.expressionevaluator.ExpressionEvaluatorManager; |
|
56 | 61 |
import org.gvsig.fmap.dal.DALLocator; |
57 | 62 |
import org.gvsig.fmap.dal.DataManager; |
58 | 63 |
import org.gvsig.fmap.dal.OpenErrorHandler; |
... | ... | |
65 | 70 |
import org.gvsig.installer.lib.api.InstallerManager; |
66 | 71 |
import org.gvsig.installer.lib.api.PackageInfo; |
67 | 72 |
import org.gvsig.tools.ToolsLocator; |
73 |
import org.gvsig.tools.bookmarksandhistory.Bookmark; |
|
74 |
import org.gvsig.tools.bookmarksandhistory.Bookmarks; |
|
75 |
import org.gvsig.tools.bookmarksandhistory.History; |
|
68 | 76 |
import org.gvsig.tools.dynobject.DynObject; |
69 | 77 |
import org.gvsig.tools.dynobject.Tags; |
70 | 78 |
import org.gvsig.tools.folders.FoldersManager; |
... | ... | |
86 | 94 |
public static final String TEMPLATES_FOLDER_PROPERTY_NAME = "TemplatesFolder"; |
87 | 95 |
public static final String SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME = "SymbolLibraryFolder"; |
88 | 96 |
|
89 |
private OpenErrorHandler openErrorHandler = null;
|
|
97 |
private OpenErrorHandler openErrorHandler = null; |
|
90 | 98 |
|
91 | 99 |
private static class SimpleImageDataProfile extends AbstractDataProfile { |
92 | 100 |
|
93 | 101 |
public SimpleImageDataProfile() { |
94 | 102 |
super("Image", SimpleImage.class); |
95 | 103 |
} |
96 |
|
|
104 |
|
|
97 | 105 |
@Override |
98 | 106 |
public Object createData(Object data, Tags tags) { |
99 | 107 |
final ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager(); |
... | ... | |
101 | 109 |
return image; |
102 | 110 |
} |
103 | 111 |
} |
104 |
|
|
112 |
|
|
105 | 113 |
@Override |
106 | 114 |
public void initialize() { |
107 | 115 |
DALLocator.registerFeatureTypeDefinitionsManager(DefaultFeatureTypeDefinitionsManager.class); |
108 |
|
|
116 |
|
|
109 | 117 |
DataManager dataManager = DALLocator.getDataManager(); |
110 | 118 |
dataManager.registerDataProfile(new SimpleImageDataProfile()); |
111 |
|
|
119 |
|
|
112 | 120 |
InfoListener.initializeExtensionPoint(); |
113 |
|
|
121 |
|
|
114 | 122 |
initLastPath(); |
115 | 123 |
registerIcons(); |
124 |
loadExpressionBookmarks(); |
|
125 |
loadExpressionHistory(); |
|
126 |
} |
|
116 | 127 |
|
128 |
public void loadExpressionHistory() { |
|
129 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
|
130 |
final PluginServices plugin = pluginManager.getPlugin(this); |
|
131 |
DynObject pluginProperties = plugin.getPluginProperties(); |
|
132 |
List<Expression> dynBookmarks = (List<Expression>) pluginProperties.getDynValue("expressionHistory"); |
|
133 |
if (dynBookmarks == null) { |
|
134 |
return; |
|
135 |
} |
|
136 |
final ExpressionEvaluatorManager expressionManager = ExpressionEvaluatorLocator.getExpressionEvaluatorManager(); |
|
137 |
History<Expression> history = expressionManager.getHistory(); |
|
138 |
for (Expression expression : dynBookmarks) { |
|
139 |
history.add(expression); |
|
140 |
} |
|
141 |
pluginManager.addShutdownTask("saveExpressionHistory", new Runnable() { |
|
142 |
@Override |
|
143 |
public void run() { |
|
144 |
DynObject properties = plugin.getPluginProperties(); |
|
145 |
ArrayList<Expression> var = new ArrayList<>(); |
|
146 |
for (Expression expression : history) { |
|
147 |
var.add(expression); |
|
148 |
} |
|
149 |
properties.setDynValue("expressionHistory", var); |
|
150 |
} |
|
151 |
}, false, 100); |
|
152 |
|
|
153 |
|
|
117 | 154 |
} |
118 |
|
|
155 |
|
|
156 |
public void loadExpressionBookmarks() { |
|
157 |
PluginsManager pluginManager = PluginsLocator.getManager(); |
|
158 |
final PluginServices plugin = pluginManager.getPlugin(this); |
|
159 |
DynObject pluginProperties = plugin.getPluginProperties(); |
|
160 |
Map<String, Expression> dynBookmarks = (Map<String, Expression>) pluginProperties.getDynValue("expressionBookmarks"); |
|
161 |
if (dynBookmarks == null) { |
|
162 |
return; |
|
163 |
} |
|
164 |
final ExpressionEvaluatorManager expressionManager = ExpressionEvaluatorLocator.getExpressionEvaluatorManager(); |
|
165 |
Bookmarks<Expression> bookmarks = expressionManager.getBookmarks(); |
|
166 |
for (String key : dynBookmarks.keySet()) { |
|
167 |
Expression bookmark = dynBookmarks.get(key); |
|
168 |
bookmarks.add(bookmark); |
|
169 |
} |
|
170 |
pluginManager.addShutdownTask("saveExpressionBookmarks", new Runnable() { |
|
171 |
@Override |
|
172 |
public void run() { |
|
173 |
DynObject properties = plugin.getPluginProperties(); |
|
174 |
Map<String, Expression> var = new HashMap<>(); |
|
175 |
for (Bookmark<Expression> bookmark : bookmarks) { |
|
176 |
var.put(bookmark.getName(), bookmark.getValue()); |
|
177 |
} |
|
178 |
properties.setDynValue("expressionBookmarks", var); |
|
179 |
} |
|
180 |
}, false, 100); |
|
181 |
|
|
182 |
} |
|
183 |
|
|
119 | 184 |
private void initLastPath() { |
120 |
Preferences prefs = Preferences.userRoot().node( "gvsig.foldering" );
|
|
185 |
Preferences prefs = Preferences.userRoot().node("gvsig.foldering");
|
|
121 | 186 |
FoldersManager folderManager = ToolsLocator.getFoldersManager(); |
122 | 187 |
String v; |
123 |
|
|
188 |
|
|
124 | 189 |
v = prefs.get(DATA_FOLDER_PROPERTY_NAME, folderManager.getHome().getAbsolutePath()); |
125 | 190 |
folderManager.setLastPath(OPEN_LAYER_FILE_CHOOSER_ID, new File(v)); |
126 | 191 |
|
... | ... | |
153 | 218 |
); |
154 | 219 |
} |
155 | 220 |
pluginManager.addStartupTask("OpenLayerOnStart", new OpenLayerOnStart(), true, 740); |
156 |
|
|
221 |
|
|
157 | 222 |
pluginManager.addStartupTask("ApplicationStartedMessage", new Runnable() { |
158 | 223 |
@Override |
159 | 224 |
public void run() { |
160 | 225 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
161 | 226 |
ApplicationManager application = ApplicationLocator.getManager(); |
162 | 227 |
application.message( |
163 |
i18n.getTranslation("StatusBar.Aplicacion_iniciada"),
|
|
228 |
i18n.getTranslation("StatusBar.Aplicacion_iniciada"), |
|
164 | 229 |
JOptionPane.INFORMATION_MESSAGE |
165 | 230 |
); |
166 | 231 |
} |
Also available in: Unified diff