Revision 44419 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/impl/DefaultDataManager.java
DefaultDataManager.java | ||
---|---|---|
23 | 23 |
|
24 | 24 |
import org.gvsig.fmap.dal.DataFactory; |
25 | 25 |
import org.gvsig.fmap.dal.DataManager; |
26 |
import org.gvsig.fmap.dal.DataParameters; |
|
27 | 26 |
import org.gvsig.fmap.dal.DataServerExplorer; |
28 | 27 |
import org.gvsig.fmap.dal.DataServerExplorerFactory; |
29 | 28 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
... | ... | |
34 | 33 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
35 | 34 |
import org.gvsig.fmap.dal.DataTypes; |
36 | 35 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager; |
36 |
import org.gvsig.fmap.dal.DatabaseWorkspaceManager.AddDatabaseWorkspaceListener; |
|
37 | 37 |
|
38 | 38 |
import org.gvsig.fmap.dal.NewDataStoreParameters; |
39 | 39 |
import org.gvsig.fmap.dal.OpenErrorHandler; |
... | ... | |
97 | 97 |
import org.gvsig.tools.identitymanagement.UnauthorizedException; |
98 | 98 |
import org.gvsig.tools.persistence.PersistenceManager; |
99 | 99 |
import org.gvsig.tools.resourcesstorage.ResourcesStorage; |
100 |
import org.gvsig.tools.script.Script; |
|
101 |
import org.gvsig.tools.script.ScriptManager; |
|
100 | 102 |
import org.gvsig.tools.service.spi.Services; |
103 |
import org.gvsig.tools.util.Callable; |
|
104 |
import org.gvsig.tools.util.Invocable; |
|
101 | 105 |
import org.slf4j.Logger; |
102 | 106 |
import org.slf4j.LoggerFactory; |
103 | 107 |
|
... | ... | |
159 | 163 |
private List<DataProfile> dataProfiles; |
160 | 164 |
|
161 | 165 |
private final Map<String, DatabaseWorkspaceManager> databaseWorkspaces = new HashMap<>(); |
166 |
|
|
167 |
private final Map<String,AddDatabaseWorkspaceListener> addDatabaseWorkspaceListeners = new HashMap<>(); |
|
162 | 168 |
|
163 | 169 |
public DefaultDataManager() { |
164 | 170 |
this.registers = new Registers(); |
... | ... | |
1047 | 1053 |
this.databaseWorkspaces.put(databaseWorkspace.getId(),databaseWorkspace); |
1048 | 1054 |
StoresRepository repo = databaseWorkspace.getStoresRepository(); |
1049 | 1055 |
this.getStoresRepository().addRepository(repo); |
1056 |
|
|
1057 |
for (AddDatabaseWorkspaceListener listener : this.addDatabaseWorkspaceListeners.values()) { |
|
1058 |
if( listener!=null ) { |
|
1059 |
try { |
|
1060 |
listener.onAddDatabaseWorkspace(databaseWorkspace); |
|
1061 |
} catch(Throwable th) { |
|
1062 |
LOGGER.warn("Problems calling databaseworkspace listener '"+listener.getName()+"'.",th); |
|
1063 |
} |
|
1064 |
} |
|
1065 |
} |
|
1066 |
try { |
|
1067 |
ResourcesStorage resources = databaseWorkspace.getResourcesStorage(); |
|
1068 |
ScriptManager scriptManager = ToolsLocator.getScriptManager(); |
|
1069 |
Script script = scriptManager.loadScript(resources, "OnConnectToWorkspace.script"); |
|
1070 |
if( script != null ) { |
|
1071 |
script.invokeFunction("main", new Object[] {databaseWorkspace}); |
|
1072 |
} |
|
1073 |
} catch(Throwable th) { |
|
1074 |
LOGGER.warn("Problems executing 'OnConnectToWorkspace.script' from workspace '"+databaseWorkspace.getId()+"'.",th); |
|
1075 |
} |
|
1050 | 1076 |
} |
1077 |
|
|
1078 |
@Override |
|
1079 |
public void addDatabaseWorkspaceListener(AddDatabaseWorkspaceListener listener) { |
|
1080 |
this.addDatabaseWorkspaceListeners.put(listener.getName(), listener); |
|
1081 |
} |
|
1051 | 1082 |
|
1052 | 1083 |
@Override |
1053 | 1084 |
public DatabaseWorkspaceManager getDatabaseWorkspace(String name) { |
Also available in: Unified diff