Revision 47672
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/fmap/dal/swing/storesrepository/StoresRepositoryController.java | ||
---|---|---|
18 | 18 |
|
19 | 19 |
DataStore getSelectedStore(); |
20 | 20 |
|
21 |
String getSelectedStoreId(); |
|
22 |
|
|
21 | 23 |
void setEnabled(boolean enabled); |
22 | 24 |
|
23 | 25 |
boolean setSelectedStore(FeatureStore store); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/searchpanel/SelectGeometryPanel.java | ||
---|---|---|
121 | 121 |
return this.pickerProjection.get(); |
122 | 122 |
} |
123 | 123 |
|
124 |
public String getStoreName() { |
|
125 |
FeatureStore store = null; |
|
126 |
try { |
|
127 |
store = this.storesRepositoryController.getSelectedFeatureStore(); |
|
128 |
if( store == null ) { |
|
129 |
return null; |
|
130 |
} |
|
131 |
return store.getName(); |
|
132 |
} finally { |
|
133 |
DisposeUtils.disposeQuietly(store); |
|
134 |
} |
|
124 |
public String getStoreId() { |
|
125 |
String storeId = this.storesRepositoryController.getSelectedStoreId(); |
|
126 |
return storeId; |
|
135 | 127 |
} |
136 | 128 |
|
137 | 129 |
private void doUpdateEnableComponents() { |
... | ... | |
198 | 190 |
doUpdateEnableComponents(); |
199 | 191 |
} |
200 | 192 |
|
201 |
void setStoreName(String storeName) {
|
|
202 |
this.storesRepositoryController.setSelectedStore(storeName);
|
|
193 |
void setStoreId(String storeId) {
|
|
194 |
this.storesRepositoryController.setSelectedStore(storeId);
|
|
203 | 195 |
doUpdateEnableComponents(); |
204 | 196 |
} |
205 | 197 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/searchpanel/SearchConditionFieldController.java | ||
---|---|---|
372 | 372 |
|
373 | 373 |
private int geometryOperandMode; |
374 | 374 |
private boolean useBox2dInGeometryOperand = false; |
375 |
private String geometryOperandStoreName;
|
|
375 |
private String geometryOperandStoreId;
|
|
376 | 376 |
private Geometry geometryOperandConstant; |
377 | 377 |
|
378 | 378 |
public SearchConditionFieldController( |
... | ... | |
569 | 569 |
this.txtValue.setVisible(false); |
570 | 570 |
this.btnValue.setVisible(false); |
571 | 571 |
this.geometryOperandMode = GEOM_OPERAND_MODE_EMPTY; |
572 |
this.geometryOperandStoreName = null;
|
|
572 |
this.geometryOperandStoreId = null;
|
|
573 | 573 |
this.geometryOperandConstant = null; |
574 | 574 |
this.useBox2dInGeometryOperand = false; |
575 | 575 |
this.btnValue.addActionListener((ActionEvent e) -> {doSelectGeometryOperand(); }); |
... | ... | |
613 | 613 |
} |
614 | 614 |
break; |
615 | 615 |
case GEOM_OPERAND_MODE_LAYER_SELECTION: |
616 |
if( this.geometryOperandStoreName!=null ) {
|
|
616 |
if( this.geometryOperandStoreId!=null ) {
|
|
617 | 617 |
StoresRepository repo = DALLocator.getDataManager().getStoresRepository(); |
618 |
this.txtValue.setText(repo.getLabelOrName(this.geometryOperandStoreName));
|
|
618 |
this.txtValue.setText(repo.getLabelOrName(this.geometryOperandStoreId));
|
|
619 | 619 |
break; |
620 | 620 |
} |
621 | 621 |
this.geometryOperandMode = GEOM_OPERAND_MODE_CLIPBOARD; |
... | ... | |
760 | 760 |
} |
761 | 761 |
this.cboValue.setSelectedIndex(-1); |
762 | 762 |
this.ddnNullBehavior.setSelectedIndex(0); |
763 |
this.geometryOperandStoreName = null;
|
|
763 |
this.geometryOperandStoreId = null;
|
|
764 | 764 |
this.geometryOperandMode = GEOM_OPERAND_MODE_EMPTY; |
765 | 765 |
doUpdateControllerByRelationalOperator(); |
766 | 766 |
} |
... | ... | |
1407 | 1407 |
fieldBuilder.add("nullBehavior", nullBehavior); |
1408 | 1408 |
|
1409 | 1409 |
fieldBuilder.add("geometryOperandMode", this.geometryOperandMode); |
1410 |
fieldBuilder.add("geometryOperandStoreName", this.geometryOperandStoreName);
|
|
1410 |
fieldBuilder.add("geometryOperandStoreName", this.geometryOperandStoreId);
|
|
1411 | 1411 |
fieldBuilder.add("geometryOperandConstant", this.geometryOperandConstant); |
1412 | 1412 |
fieldBuilder.add("useBox2dInGeometryOperand", this.useBox2dInGeometryOperand); |
1413 | 1413 |
return fieldBuilder.build(); |
... | ... | |
1466 | 1466 |
} |
1467 | 1467 |
|
1468 | 1468 |
this.geometryOperandMode = jsonState.getInt("geometryOperandMode", GEOM_OPERAND_MODE_CLIPBOARD); |
1469 |
this.geometryOperandStoreName = jsonState.getString("geometryOperandStoreName", null);
|
|
1469 |
this.geometryOperandStoreId = jsonState.getString("geometryOperandStoreName", null);
|
|
1470 | 1470 |
this.geometryOperandConstant = (Geometry) Json.toObject(jsonState,"geometryOperandConstant"); |
1471 | 1471 |
this.useBox2dInGeometryOperand = jsonState.getBoolean("geometryOperandStoreName", false); |
1472 | 1472 |
} |
... | ... | |
1750 | 1750 |
List<Geometry> geoms; |
1751 | 1751 |
switch(this.geometryOperandMode) { |
1752 | 1752 |
case GEOM_OPERAND_MODE_LAYER_SELECTION: |
1753 |
geoms = this.getGeometryOperandFromLayerSelection(this.geometryOperandStoreName, warnings);
|
|
1753 |
geoms = this.getGeometryOperandFromLayerSelection(this.geometryOperandStoreId, warnings);
|
|
1754 | 1754 |
break; |
1755 | 1755 |
case GEOM_OPERAND_MODE_CONSTANT: |
1756 | 1756 |
geoms = this.getGeometryOperandConstant(proj, warnings); |
... | ... | |
1817 | 1817 |
} |
1818 | 1818 |
} |
1819 | 1819 |
|
1820 |
private synchronized List<Geometry> getGeometryOperandFromLayerSelection(String storeName, StringBuilder warnings) {
|
|
1821 |
if( StringUtils.isBlank(storeName) ) {
|
|
1820 |
private synchronized List<Geometry> getGeometryOperandFromLayerSelection(String storeId, StringBuilder warnings) {
|
|
1821 |
if( StringUtils.isBlank(storeId) ) {
|
|
1822 | 1822 |
return null; |
1823 | 1823 |
} |
1824 | 1824 |
StoresRepository repo = null; |
1825 | 1825 |
FeatureStore theStore = null; |
1826 | 1826 |
try { |
1827 | 1827 |
repo = DALLocator.getDataManager().getStoresRepository(); |
1828 |
theStore = (FeatureStore) repo.getStore(storeName);
|
|
1828 |
theStore = (FeatureStore) repo.getStore(storeId);
|
|
1829 | 1829 |
if( theStore == null ) { |
1830 | 1830 |
warnings.append("Table not found in project."); |
1831 | 1831 |
warnings.append("\n"); |
... | ... | |
1871 | 1871 |
if( dialog.getAction()==WindowManager_v2.BUTTON_OK ) { |
1872 | 1872 |
this.geometryOperandMode = panel.getMode(); |
1873 | 1873 |
this.geometryOperandConstant = panel.getGeometry(); |
1874 |
this.geometryOperandStoreName = panel.getStoreName();
|
|
1874 |
this.geometryOperandStoreId = panel.getStoreId();
|
|
1875 | 1875 |
this.useBox2dInGeometryOperand = panel.useBox2dInGeometryOperand(); |
1876 | 1876 |
doUpdateCurrentValue(); |
1877 | 1877 |
} |
1878 | 1878 |
}); |
1879 | 1879 |
panel.setMode(this.geometryOperandMode); |
1880 | 1880 |
panel.setGeometry(this.geometryOperandConstant); |
1881 |
panel.setStoreName(this.geometryOperandStoreName);
|
|
1881 |
panel.setStoreId(this.geometryOperandStoreId);
|
|
1882 | 1882 |
panel.setUseBox2dInGeometryOperand(this.useBox2dInGeometryOperand); |
1883 | 1883 |
|
1884 | 1884 |
dialog.show(WindowManager.MODE.DIALOG); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/storesrepository/StoresRepositoryControllerImpl.java | ||
---|---|---|
122 | 122 |
return store; |
123 | 123 |
} |
124 | 124 |
|
125 |
public String getSelectedStoreId() { |
|
126 |
TreePath path = this.tree.getSelectionPath(); |
|
127 |
if( path == null ) { |
|
128 |
return null; |
|
129 |
} |
|
130 |
StoresRepositoryElement element = (StoresRepositoryElement) path.getLastPathComponent(); |
|
131 |
if( element == null ) { |
|
132 |
return null; |
|
133 |
} |
|
134 |
TreePath parentPath = path.getParentPath(); |
|
135 |
if( parentPath == null ) { |
|
136 |
return null; |
|
137 |
} |
|
138 |
|
|
139 |
StoresRepositoryElement parentElement = (StoresRepositoryElement) parentPath.getLastPathComponent(); |
|
140 |
if( !element.isStore() ) { |
|
141 |
return null; |
|
142 |
} |
|
143 |
if( !parentElement.isRepository() ) { |
|
144 |
return null; |
|
145 |
} |
|
146 |
StoresRepository repository = parentElement.getRepository(); |
|
147 |
String s = repository.getStoreId(element.getLabel()); |
|
148 |
return s; |
|
149 |
} |
|
150 |
|
|
125 | 151 |
@Override |
126 | 152 |
public boolean setSelectedStore(FeatureStore store) { |
127 | 153 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/StoresRepository.java | ||
---|---|---|
31 | 31 |
|
32 | 32 |
public String getLabel(); |
33 | 33 |
|
34 |
public String getLabel(String name); |
|
34 |
public String getStoreId(String label); |
|
35 |
|
|
36 |
public String getLabel(String storeId); |
|
35 | 37 |
|
36 |
public String getLabelOrName(String name);
|
|
38 |
public String getLabelOrName(String storeId);
|
|
37 | 39 |
|
38 | 40 |
public Collection<StoresRepository> getSubrepositories(); |
39 | 41 |
|
... | ... | |
57 | 59 |
|
58 | 60 |
public boolean contains(DataStoreParameters parameters); |
59 | 61 |
|
60 |
public boolean contains(String name);
|
|
62 |
public boolean contains(String storeId);
|
|
61 | 63 |
|
62 |
public void remove(String name);
|
|
64 |
public void remove(String storeId);
|
|
63 | 65 |
|
64 |
public DataStore getStore(String name);
|
|
65 |
|
|
66 |
public DataStore getStore(String storeId);
|
|
67 |
|
|
66 | 68 |
/** |
67 | 69 |
* Return the repository ID of the store. |
68 | 70 |
* |
69 | 71 |
* @param storeName of the store to search the repository |
70 | 72 |
* @return the ID of the repository |
71 | 73 |
*/ |
72 |
public String getRepositoryIDOfStore(String storeName);
|
|
74 |
public String getRepositoryIDOfStore(String storeId);
|
|
73 | 75 |
|
74 |
public StoresRepository getRepositoryOfStore(String storeName);
|
|
76 |
public StoresRepository getRepositoryOfStore(String storeId);
|
|
75 | 77 |
|
76 | 78 |
public Set<String> keySetDeep(); |
77 | 79 |
|
78 | 80 |
public Set<String> keySetShallow(); |
79 | 81 |
|
80 |
public FeatureType getFeatureType(String name);
|
|
82 |
public FeatureType getFeatureType(String storeId);
|
|
81 | 83 |
|
82 | 84 |
public DataServerExplorerParameters getServerParameters(); |
83 | 85 |
|
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/AbstractStoresRepository.java | ||
---|---|---|
342 | 342 |
} |
343 | 343 |
return this.getStore(name, false); |
344 | 344 |
} |
345 |
|
|
346 |
@Override |
|
347 |
public String getStoreId(String label) { |
|
348 |
DataStoreParameters parameters = this.getMyParameters(label); |
|
349 |
if( parameters!=null ) { |
|
350 |
DataStore store = null; |
|
351 |
try { |
|
352 |
store = DALLocator.getDataManager().openStore( |
|
353 |
parameters.getProviderName(), |
|
354 |
parameters, |
|
355 |
true |
|
356 |
); |
|
357 |
return store.getName(); |
|
358 |
} catch (Exception ex) { |
|
359 |
throw new RuntimeException("Can't open store '"+label+"'.", ex); |
|
360 |
} finally { |
|
361 |
DisposeUtils.disposeQuietly(store); |
|
362 |
} |
|
363 |
} |
|
364 |
for ( StoresRepository theRepository : this.getSubrepositories()) { |
|
365 |
String s = theRepository.getStoreId(label); |
|
366 |
if( s !=null ) { |
|
367 |
return s; |
|
368 |
} |
|
369 |
} |
|
370 |
return null; |
|
371 |
} |
|
345 | 372 |
|
346 | 373 |
public DataStore getStore(String name, boolean ignoreDALResource) { |
347 | 374 |
DataStoreParameters parameters = this.getMyParameters(name); |
Also available in: Unified diff