Revision 2142
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/resourcesstorage/EmptyResourcesStorage.java | ||
---|---|---|
4 | 4 |
import java.io.InputStream; |
5 | 5 |
import java.io.OutputStream; |
6 | 6 |
import java.net.URL; |
7 |
import java.util.Collections; |
|
7 | 8 |
import java.util.List; |
8 | 9 |
|
9 | 10 |
/** |
... | ... | |
89 | 90 |
public List<Resource> getLocalizedResources(String resourceName) { |
90 | 91 |
return null; |
91 | 92 |
} |
93 |
|
|
94 |
@Override |
|
95 |
public List<String> getResourceNames() { |
|
96 |
return Collections.EMPTY_LIST; |
|
97 |
} |
|
98 |
|
|
92 | 99 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/resourcesstorage/ResourcesStorage.java | ||
---|---|---|
89 | 89 |
public boolean isReadOnly(); |
90 | 90 |
|
91 | 91 |
public boolean exists(String resourceName); |
92 |
|
|
93 |
/** |
|
94 |
* Return the resource names in this store. |
|
95 |
* If the storage don't have resources, return a empty list. |
|
96 |
* |
|
97 |
* @return list of resource names or empty list. |
|
98 |
*/ |
|
99 |
public List<String> getResourceNames(); |
|
100 |
|
|
92 | 101 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/resourcesstorage/FilesResourcesStorage.java | ||
---|---|---|
11 | 11 |
import java.util.ArrayList; |
12 | 12 |
import java.util.List; |
13 | 13 |
import org.apache.commons.io.IOUtils; |
14 |
import org.apache.commons.lang3.StringUtils; |
|
14 | 15 |
import org.gvsig.tools.util.HasAFile; |
15 | 16 |
|
16 | 17 |
/** |
... | ... | |
159 | 160 |
public List<String> getPaths() { |
160 | 161 |
return this.resourcesPaths; |
161 | 162 |
} |
163 |
|
|
164 |
@Override |
|
165 |
public List<String> getResourceNames() { |
|
166 |
List<String> names = new ArrayList<>(); |
|
167 |
|
|
168 |
for (String pathName : resourcesPaths) { |
|
169 |
File folder = new File(pathName); |
|
170 |
if( folder.isDirectory() ) { |
|
171 |
for (File f: folder.listFiles()) { |
|
172 |
if( f.isFile() ) { |
|
173 |
names.add(f.getName()); |
|
174 |
} |
|
175 |
} |
|
176 |
} else { |
|
177 |
File parent = folder.getParentFile(); |
|
178 |
String prefix = pathName + this.getSeparator(); |
|
179 |
int prefix_len = prefix.length(); |
|
180 |
for (File f: parent.listFiles()) { |
|
181 |
if( f.isFile() ) { |
|
182 |
String fname = f.getName(); |
|
183 |
if( StringUtils.startsWithIgnoreCase(fname, prefix) ) { |
|
184 |
names.add(fname.substring(prefix_len)); |
|
185 |
} |
|
186 |
} |
|
187 |
} |
|
188 |
} |
|
189 |
} |
|
190 |
return names; |
|
191 |
} |
|
192 |
|
|
162 | 193 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/resourcesstorage/AbstractResourcesStorage.java | ||
---|---|---|
1 | 1 |
package org.gvsig.tools.resourcesstorage; |
2 | 2 |
|
3 | 3 |
import java.util.ArrayList; |
4 |
import java.util.Collections; |
|
4 | 5 |
import java.util.List; |
5 | 6 |
import java.util.Locale; |
6 | 7 |
import org.gvsig.tools.ToolsLocator; |
... | ... | |
133 | 134 |
return ress; |
134 | 135 |
} |
135 | 136 |
|
137 |
@Override |
|
138 |
public List<String> getResourceNames() { |
|
139 |
return Collections.EMPTY_LIST; |
|
140 |
} |
|
141 |
|
|
136 | 142 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/resourcesstorage/BaseMultiResourcesStorage.java | ||
---|---|---|
92 | 92 |
} |
93 | 93 |
return false; |
94 | 94 |
} |
95 |
|
|
96 |
@Override |
|
97 |
public List<String> getResourceNames() { |
|
98 |
List<String> names = new ArrayList<>(); |
|
99 |
|
|
100 |
for (ResourcesStorage storage : storages) { |
|
101 |
names.addAll(storage.getResourceNames()); |
|
102 |
} |
|
103 |
return names; |
|
104 |
} |
|
95 | 105 |
|
96 | 106 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/ToolsLocator.java | ||
---|---|---|
22 | 22 |
*/ |
23 | 23 |
package org.gvsig.tools; |
24 | 24 |
|
25 |
import org.gvsig.tools.bookmarksandhistory.BookmarksAndHistoryManager; |
|
26 |
import org.gvsig.tools.bookmarksandhistory.impl.DefaultBookmarksAndHistoryManager; |
|
25 | 27 |
import org.gvsig.tools.complement.ComplementsManager; |
26 | 28 |
import org.gvsig.tools.complement.impl.DefaultComplementsManager; |
27 | 29 |
import org.gvsig.tools.dataTypes.DataTypesManager; |
... | ... | |
105 | 107 |
public static final String COMPLEMENTS_MANAGER_NAME = "org.gvsig.tools.complements.manager"; |
106 | 108 |
private static final String COMPLEMENTS_MANAGER_DESCRIPTION = "Default complements Manager"; |
107 | 109 |
|
110 |
public static final String BOOKMARKSANDHISTORY_MANAGER_NAME = "org.gvsig.tools.bookmarksAndHistory.manager"; |
|
111 |
private static final String BOOKMARKSANDHISTORY_MANAGER_DESCRIPTION = "Default BookmarksAndHistory Manager"; |
|
112 |
|
|
108 | 113 |
/** |
109 | 114 |
* Unique instance. |
110 | 115 |
*/ |
111 |
private static final ToolsLocator instance = new ToolsLocator();
|
|
116 |
private static final ToolsLocator INSTANCE = new ToolsLocator();
|
|
112 | 117 |
|
113 | 118 |
// Comma list of xml pull parser factories, parsers or serializers |
114 | 119 |
private String xmlPullParserFactoryClassNames = "" |
... | ... | |
116 | 121 |
"org.kxml2.io.KXmlParser," + // KXML2 parser |
117 | 122 |
"org.kxml2.io.KXmlSerializer"; // KXML2 serializer |
118 | 123 |
|
124 |
@SuppressWarnings("OverridableMethodCallInConstructor") |
|
119 | 125 |
private ToolsLocator() { |
120 | 126 |
// Register default ServiceLoader |
121 |
registerDefault(SERVICE_LOADER_NAME, SERVICE_LOADER_DESCRIPTION, |
|
122 |
DefaultServiceLoader.class); |
|
127 |
registerDefault( |
|
128 |
SERVICE_LOADER_NAME, |
|
129 |
SERVICE_LOADER_DESCRIPTION, |
|
130 |
DefaultServiceLoader.class |
|
131 |
); |
|
123 | 132 |
} |
124 | 133 |
|
125 | 134 |
/** |
... | ... | |
128 | 137 |
* @return the singleton instance |
129 | 138 |
*/ |
130 | 139 |
public static ToolsLocator getInstance() { |
131 |
return instance;
|
|
140 |
return INSTANCE;
|
|
132 | 141 |
} |
133 | 142 |
|
134 | 143 |
@Override |
... | ... | |
551 | 560 |
FOLDERS_MANAGER_DESCRIPTION, clazz); |
552 | 561 |
} |
553 | 562 |
|
554 |
public static void registerComplementsManager(Class clazz) { |
|
555 |
getInstance().registerDefault(COMPLEMENTS_MANAGER_NAME, |
|
556 |
COMPLEMENTS_MANAGER_DESCRIPTION, clazz); |
|
557 |
} |
|
558 |
|
|
559 |
public static ComplementsManager getComplementsManager() |
|
560 |
throws LocatorException { |
|
561 |
return (ComplementsManager) getInstance().get(COMPLEMENTS_MANAGER_NAME); |
|
562 |
} |
|
563 |
|
|
564 | 563 |
/** |
565 | 564 |
* Return a reference to {@link FoldersManager}. |
566 | 565 |
* |
... | ... | |
574 | 573 |
return (FoldersManager) getInstance().get(FOLDERS_MANAGER_NAME); |
575 | 574 |
} |
576 | 575 |
|
576 |
/** |
|
577 |
* Registers the default Class implementing the BookmarksAndHistoryManager interface. |
|
578 |
* |
|
579 |
* @param clazz implementing the {@link BookmarksAndHistoryManager} interface |
|
580 |
*/ |
|
581 |
public static void registerDefaultBookmarksAndHistoryManager(Class clazz) { |
|
582 |
getInstance().registerDefault(BOOKMARKSANDHISTORY_MANAGER_NAME, |
|
583 |
BOOKMARKSANDHISTORY_MANAGER_DESCRIPTION, clazz); |
|
584 |
} |
|
585 |
|
|
586 |
/** |
|
587 |
* Registers the Class implementing the {@link BookmarksAndHistoryManager} |
|
588 |
* interface. |
|
589 |
* |
|
590 |
* @param clazz implementing the {@link BookmarksAndHistoryManager} interface |
|
591 |
*/ |
|
592 |
public static void registerBookmarksAndHistoryManager(Class clazz) { |
|
593 |
getInstance().register(BOOKMARKSANDHISTORY_MANAGER_NAME, |
|
594 |
BOOKMARKSANDHISTORY_MANAGER_DESCRIPTION, clazz); |
|
595 |
} |
|
596 |
|
|
597 |
/** |
|
598 |
* Return a reference to {@link BookmarksAndHistoryManager}. |
|
599 |
* |
|
600 |
* @return a reference to {@link BookmarksAndHistoryManager} |
|
601 |
* @throws LocatorException if there is no access to the class or the class |
|
602 |
* cannot be instantiated |
|
603 |
* @see Locator#get(String) |
|
604 |
*/ |
|
605 |
public static BookmarksAndHistoryManager getBookmarksAndHistoryManager() |
|
606 |
throws LocatorException { |
|
607 |
return (BookmarksAndHistoryManager) getInstance().get(BOOKMARKSANDHISTORY_MANAGER_NAME); |
|
608 |
} |
|
609 |
|
|
610 |
public static void registerComplementsManager(Class clazz) { |
|
611 |
getInstance().registerDefault(COMPLEMENTS_MANAGER_NAME, |
|
612 |
COMPLEMENTS_MANAGER_DESCRIPTION, clazz); |
|
613 |
} |
|
614 |
|
|
615 |
public static ComplementsManager getComplementsManager() |
|
616 |
throws LocatorException { |
|
617 |
return (ComplementsManager) getInstance().get(COMPLEMENTS_MANAGER_NAME); |
|
618 |
} |
|
619 |
|
|
577 | 620 |
public static void registerDefaultToolsLibraries() { |
578 | 621 |
ToolsLocator.registerDefaultOperationManager(DefaultOperationManager.class); |
579 | 622 |
ToolsLocator.registerDefaultTaskStatusManager(DefaultTaskStatusManager.class); |
... | ... | |
587 | 630 |
ToolsLocator.registerDefaultFoldersManager(DefaultFoldersManager.class); |
588 | 631 |
ToolsLocator.registerDefaultPersistenceManager(ZipXMLPersistenceManager.class); |
589 | 632 |
ToolsLocator.registerComplementsManager(DefaultComplementsManager.class); |
633 |
ToolsLocator.registerDefaultBookmarksAndHistoryManager(DefaultBookmarksAndHistoryManager.class); |
|
590 | 634 |
} |
591 | 635 |
|
592 | 636 |
public static void initializeLibraries() { |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/bookmarksandhistory/impl/BaseBookmarks.java | ||
---|---|---|
27 | 27 |
{ |
28 | 28 |
|
29 | 29 |
private long lastUse; |
30 |
private boolean global; |
|
30 | 31 |
|
31 | 32 |
public BaseBookmark(String name, T value) { |
32 | 33 |
super(name, value); |
... | ... | |
34 | 35 |
} |
35 | 36 |
|
36 | 37 |
@Override |
38 |
public boolean isGlobal() { |
|
39 |
return global; |
|
40 |
} |
|
41 |
|
|
42 |
@Override |
|
43 |
public void setGlobal(boolean global) { |
|
44 |
this.global = global; |
|
45 |
} |
|
46 |
|
|
47 |
@Override |
|
37 | 48 |
public final void used() { |
38 | 49 |
this.lastUse = new Date().getTime(); |
39 | 50 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/bookmarksandhistory/impl/DefaultBookmarksAndHistoryManager.java | ||
---|---|---|
1 |
package org.gvsig.tools.bookmarksandhistory.impl; |
|
2 |
|
|
3 |
import org.gvsig.tools.bookmarksandhistory.BookmarksAndHistoryManager; |
|
4 |
import java.io.IOException; |
|
5 |
import java.util.HashMap; |
|
6 |
import java.util.List; |
|
7 |
import java.util.Map; |
|
8 |
import org.apache.commons.lang3.StringUtils; |
|
9 |
import org.gvsig.tools.ToolsLocator; |
|
10 |
import org.gvsig.tools.bookmarksandhistory.Bookmark; |
|
11 |
import org.gvsig.tools.bookmarksandhistory.Bookmarks; |
|
12 |
import org.gvsig.tools.bookmarksandhistory.History; |
|
13 |
import org.gvsig.tools.identitymanagement.SimpleIdentityManager; |
|
14 |
import org.gvsig.tools.persistence.PersistenceManager; |
|
15 |
import org.gvsig.tools.persistence.PersistentState; |
|
16 |
import org.gvsig.tools.resourcesstorage.ResourcesStorage; |
|
17 |
|
|
18 |
/** |
|
19 |
* |
|
20 |
* @author jjdelcerro |
|
21 |
*/ |
|
22 |
public class DefaultBookmarksAndHistoryManager implements BookmarksAndHistoryManager { |
|
23 |
|
|
24 |
private final Map<String,Bookmarks<Object>> bookmarkGroups; |
|
25 |
private final Map<String,History<Object>> historyGroups; |
|
26 |
private ResourcesStorage primaryStorage; |
|
27 |
private ResourcesStorage secondaryStorage; |
|
28 |
|
|
29 |
public DefaultBookmarksAndHistoryManager() { |
|
30 |
this.bookmarkGroups = new HashMap<>(); |
|
31 |
this.historyGroups = new HashMap<>(); |
|
32 |
} |
|
33 |
|
|
34 |
@Override |
|
35 |
public ResourcesStorage getPrimaryStorage() { |
|
36 |
return primaryStorage; |
|
37 |
} |
|
38 |
|
|
39 |
@Override |
|
40 |
public ResourcesStorage getSecondaryStorage() { |
|
41 |
return secondaryStorage; |
|
42 |
} |
|
43 |
|
|
44 |
@Override |
|
45 |
public void setPrimaryStorage(ResourcesStorage primaryStorage) { |
|
46 |
this.primaryStorage = primaryStorage; |
|
47 |
} |
|
48 |
|
|
49 |
@Override |
|
50 |
public void setSecondaryStorage(ResourcesStorage secondaryStorage) { |
|
51 |
this.secondaryStorage = secondaryStorage; |
|
52 |
} |
|
53 |
|
|
54 |
@Override |
|
55 |
public void registerBookmarksGroup(String name, Bookmarks<Object> bookmarks) { |
|
56 |
this.bookmarkGroups.put(name, bookmarks); |
|
57 |
} |
|
58 |
|
|
59 |
@Override |
|
60 |
public void registerBookmarksGroup(String name) { |
|
61 |
this.bookmarkGroups.put(name, new BaseBookmarks<>()); |
|
62 |
} |
|
63 |
|
|
64 |
@Override |
|
65 |
public Bookmarks<Object> getBookmarksGroup(String name) { |
|
66 |
return this.bookmarkGroups.get(name); |
|
67 |
} |
|
68 |
|
|
69 |
@Override |
|
70 |
public void registerHistoryGroup(String name, History<Object> history) { |
|
71 |
this.historyGroups.put(name, history); |
|
72 |
} |
|
73 |
|
|
74 |
@Override |
|
75 |
public void registerHistoryGroup(String name, int size) { |
|
76 |
this.historyGroups.put(name, new BaseHistory<>(size)); |
|
77 |
} |
|
78 |
|
|
79 |
@Override |
|
80 |
public History<Object> getHistoryGroup(String name) { |
|
81 |
return this.historyGroups.get(name); |
|
82 |
} |
|
83 |
|
|
84 |
@Override |
|
85 |
public void save() { |
|
86 |
if( this.primaryStorage!=null ) { |
|
87 |
saveBookmarks(primaryStorage); |
|
88 |
saveHitory(primaryStorage); |
|
89 |
} |
|
90 |
if( this.secondaryStorage!=null ) { |
|
91 |
saveBookmarks(secondaryStorage); |
|
92 |
saveHitory(secondaryStorage); |
|
93 |
} |
|
94 |
} |
|
95 |
|
|
96 |
private void saveBookmarks(ResourcesStorage storage) { |
|
97 |
PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager(); |
|
98 |
SimpleIdentityManager userManager = ToolsLocator.getIdentityManager(); |
|
99 |
String userName = userManager.getCurrentIdentity().getID(); |
|
100 |
for (Map.Entry<String, Bookmarks<Object>> bookmarksEntry : this.bookmarkGroups.entrySet()) { |
|
101 |
String bookmarksGroupName = bookmarksEntry.getKey(); |
|
102 |
Bookmarks<Object> bookmarks = bookmarksEntry.getValue(); |
|
103 |
for (Bookmark<Object> bookmark : bookmarks ) { |
|
104 |
String resourceName; |
|
105 |
if( bookmark.isGlobal() ) { |
|
106 |
resourceName = userName + "@BOOKMARKS!" + bookmarksGroupName+"!"+bookmark.getName(); |
|
107 |
} else { |
|
108 |
resourceName = "ALL@BOOKMARKS!" + bookmarksGroupName+"!"+bookmark.getName(); |
|
109 |
} |
|
110 |
try (ResourcesStorage.Resource resource = storage.getResource(resourceName)) { |
|
111 |
Object data = bookmark.getValue(); |
|
112 |
PersistentState state = persistenceManager.getState(data); |
|
113 |
persistenceManager.saveState(state, resource.asOutputStream()); |
|
114 |
} catch (Exception ex) { |
|
115 |
// ??? |
|
116 |
} |
|
117 |
} |
|
118 |
} |
|
119 |
} |
|
120 |
|
|
121 |
@Override |
|
122 |
public void load() { |
|
123 |
if( this.primaryStorage!=null ) { |
|
124 |
loadBookmarks(primaryStorage); |
|
125 |
loadHistory(primaryStorage); |
|
126 |
} |
|
127 |
if( this.secondaryStorage!=null ) { |
|
128 |
loadBookmarks(secondaryStorage); |
|
129 |
loadHistory(secondaryStorage); |
|
130 |
} |
|
131 |
} |
|
132 |
|
|
133 |
private void loadBookmarks(ResourcesStorage storage) { |
|
134 |
PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager(); |
|
135 |
SimpleIdentityManager userManager = ToolsLocator.getIdentityManager(); |
|
136 |
String userName = userManager.getCurrentIdentity().getID(); |
|
137 |
|
|
138 |
List<String> names = storage.getResourceNames(); |
|
139 |
for (String name : names) { |
|
140 |
String[] userAndBookmark = StringUtils.split(name, "@"); |
|
141 |
String currentUserName = userAndBookmark[0]; |
|
142 |
String[] groupAndId = StringUtils.split(userAndBookmark[1], "!"); |
|
143 |
if( groupAndId.length!=3 ) { |
|
144 |
continue; |
|
145 |
} |
|
146 |
String typeName = groupAndId[0]; |
|
147 |
if( !StringUtils.equalsIgnoreCase(typeName, "BOOKMARKS") ) { |
|
148 |
continue; |
|
149 |
} |
|
150 |
String bookmarksGroupName = groupAndId[1]; |
|
151 |
String bookmarkName = groupAndId[2]; |
|
152 |
|
|
153 |
if( StringUtils.equalsIgnoreCase(currentUserName, userName) ) { |
|
154 |
try (ResourcesStorage.Resource resource = storage.getResource(name)) { |
|
155 |
Object data = persistenceManager.getObject(resource.asInputStream()); |
|
156 |
Bookmarks<Object> bookmarks = this.bookmarkGroups.get(bookmarksGroupName); |
|
157 |
bookmarks.add(bookmarkName, data); |
|
158 |
} catch (IOException ex) { |
|
159 |
|
|
160 |
} |
|
161 |
} else if( StringUtils.equalsIgnoreCase(currentUserName, "ALL") ) { |
|
162 |
try (ResourcesStorage.Resource resource = storage.getResource(name)) { |
|
163 |
Object data = persistenceManager.getObject(resource.asInputStream()); |
|
164 |
Bookmarks<Object> bookmarks = this.bookmarkGroups.get(bookmarksGroupName); |
|
165 |
Bookmark bookmark = bookmarks.add(bookmarkName, data); |
|
166 |
bookmark.setGlobal(true); |
|
167 |
} catch (IOException ex) { |
|
168 |
|
|
169 |
} |
|
170 |
} |
|
171 |
} |
|
172 |
} |
|
173 |
|
|
174 |
private void saveHitory(ResourcesStorage storage) { |
|
175 |
PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager(); |
|
176 |
SimpleIdentityManager userManager = ToolsLocator.getIdentityManager(); |
|
177 |
String userName = userManager.getCurrentIdentity().getID(); |
|
178 |
|
|
179 |
for (Map.Entry<String, History<Object>> historyEntry : this.historyGroups.entrySet()) { |
|
180 |
String historyGroupName = historyEntry.getKey(); |
|
181 |
History<Object> history = historyEntry.getValue(); |
|
182 |
for (int i = 0; i < history.size(); i++) { |
|
183 |
String resourceName = userName + "@HISTORY!" + historyGroupName+"!"+i; |
|
184 |
try (ResourcesStorage.Resource resource = storage.getResource(resourceName)) { |
|
185 |
Object data = history.get(i); |
|
186 |
PersistentState state = persistenceManager.getState(data); |
|
187 |
persistenceManager.saveState(state, resource.asOutputStream()); |
|
188 |
} catch (Exception ex) { |
|
189 |
// ??? |
|
190 |
} |
|
191 |
} |
|
192 |
} |
|
193 |
} |
|
194 |
|
|
195 |
private void loadHistory(ResourcesStorage storage) { |
|
196 |
PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager(); |
|
197 |
SimpleIdentityManager userManager = ToolsLocator.getIdentityManager(); |
|
198 |
String userName = userManager.getCurrentIdentity().getID(); |
|
199 |
|
|
200 |
List<String> names = storage.getResourceNames(); |
|
201 |
for (String name : names) { |
|
202 |
String[] userAndHistory = StringUtils.split(name, "@"); |
|
203 |
String currentUserName = userAndHistory[0]; |
|
204 |
String[] groupAndId = StringUtils.split(userAndHistory[1], "!"); |
|
205 |
if( groupAndId.length!=3 ) { |
|
206 |
continue; |
|
207 |
} |
|
208 |
String typeName = groupAndId[0]; |
|
209 |
if( !StringUtils.equalsIgnoreCase(typeName, "HISTORY") ) { |
|
210 |
continue; |
|
211 |
} |
|
212 |
String groupName = groupAndId[1]; |
|
213 |
|
|
214 |
if( StringUtils.equalsIgnoreCase(currentUserName, userName) ) { |
|
215 |
try (ResourcesStorage.Resource resource = storage.getResource(name)) { |
|
216 |
Object data = persistenceManager.getObject(resource.asInputStream()); |
|
217 |
History<Object> history = this.historyGroups.get(groupName); |
|
218 |
history.add(data); |
|
219 |
} catch (IOException ex) { |
|
220 |
|
|
221 |
} |
|
222 |
} |
|
223 |
} |
|
224 |
} |
|
225 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/bookmarksandhistory/Bookmark.java | ||
---|---|---|
17 | 17 |
|
18 | 18 |
public long getLastUse(); |
19 | 19 |
|
20 |
// public boolean isModifiable(); //GUI |
|
20 |
public boolean isGlobal(); |
|
21 |
|
|
22 |
public void setGlobal(boolean global); |
|
23 |
|
|
21 | 24 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/bookmarksandhistory/Bookmarks.java | ||
---|---|---|
1 | 1 |
package org.gvsig.tools.bookmarksandhistory; |
2 | 2 |
|
3 |
import java.io.InputStream; |
|
4 |
import java.io.OutputStream; |
|
5 | 3 |
import java.util.List; |
6 | 4 |
import java.util.function.Predicate; |
7 | 5 |
import org.gvsig.tools.util.UnmodifiableBasicList; |
... | ... | |
28 | 26 |
public boolean remove(String bookmarkName); |
29 | 27 |
|
30 | 28 |
public List<Bookmark<T>> filter(Predicate<Bookmark<T>> filter); |
31 |
// |
|
32 |
// public void save(OutputStream target, String... names); |
|
33 |
// |
|
34 |
// public void load(InputStream source, boolean overwrite); |
|
35 | 29 |
|
36 | 30 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/bookmarksandhistory/BookmarksAndHistoryManager.java | ||
---|---|---|
1 |
package org.gvsig.tools.bookmarksandhistory; |
|
2 |
|
|
3 |
import org.gvsig.tools.resourcesstorage.ResourcesStorage; |
|
4 |
|
|
5 |
/** |
|
6 |
* |
|
7 |
* @author jjdelcerro |
|
8 |
*/ |
|
9 |
public interface BookmarksAndHistoryManager { |
|
10 |
|
|
11 |
public Bookmarks<Object> getBookmarksGroup(String name); |
|
12 |
|
|
13 |
public History<Object> getHistoryGroup(String name); |
|
14 |
|
|
15 |
public ResourcesStorage getPrimaryStorage(); |
|
16 |
|
|
17 |
public ResourcesStorage getSecondaryStorage(); |
|
18 |
|
|
19 |
public void load(); |
|
20 |
|
|
21 |
public void registerBookmarksGroup(String name, Bookmarks<Object> bookmarks); |
|
22 |
|
|
23 |
public void registerBookmarksGroup(String name); |
|
24 |
|
|
25 |
public void registerHistoryGroup(String name, History<Object> history); |
|
26 |
|
|
27 |
public void registerHistoryGroup(String name, int size); |
|
28 |
|
|
29 |
public void save(); |
|
30 |
|
|
31 |
public void setPrimaryStorage(ResourcesStorage primaryStorage); |
|
32 |
|
|
33 |
public void setSecondaryStorage(ResourcesStorage secondaryStorage); |
|
34 |
|
|
35 |
} |
Also available in: Unified diff