Revision 46485 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/DefaultSearchPanel.java
DefaultSearchPanel.java | ||
---|---|---|
130 | 130 |
|
131 | 131 |
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultSearchPanel.class); |
132 | 132 |
|
133 |
static /* friend */ Integer useLabels = null; |
|
134 | 133 |
private BookmarksController bookmarksController; |
135 | 134 |
private HistoryController historyController; |
136 | 135 |
private FeatureQuery lastQuery; |
137 | 136 |
private Feature lastSelectedFeature; |
138 | 137 |
private final PropertiesSupportHelper propertiesHelper; |
139 | 138 |
private TaskStatusController taskStatusController; |
139 |
private boolean automaticallySearch; |
|
140 | 140 |
|
141 | 141 |
public static class UseLabelsYesAction extends AbstractAction { |
142 | 142 |
|
... | ... | |
160 | 160 |
|
161 | 161 |
@Override |
162 | 162 |
public void actionPerformed(ActionEvent ae) { |
163 |
DefaultSearchPanel.useLabels = USE_LABELS_YES;
|
|
163 |
DALSwingLocator.getDataSwingManager().setUseLabels(USE_LABELS_YES);
|
|
164 | 164 |
} |
165 | 165 |
} |
166 | 166 |
|
... | ... | |
185 | 185 |
|
186 | 186 |
@Override |
187 | 187 |
public void actionPerformed(ActionEvent ae) { |
188 |
DefaultSearchPanel.useLabels = USE_LABELS_NO;
|
|
188 |
DALSwingLocator.getDataSwingManager().setUseLabels(USE_LABELS_NO);
|
|
189 | 189 |
} |
190 | 190 |
} |
191 | 191 |
|
... | ... | |
211 | 211 |
|
212 | 212 |
@Override |
213 | 213 |
public void actionPerformed(ActionEvent ae) { |
214 |
DefaultSearchPanel.useLabels = USE_LABELS_BOTH;
|
|
214 |
DALSwingLocator.getDataSwingManager().setUseLabels(USE_LABELS_BOTH);
|
|
215 | 215 |
} |
216 | 216 |
} |
217 | 217 |
|
... | ... | |
508 | 508 |
this.resultPostProcessModel = null; |
509 | 509 |
this.propertiesHelper = new PropertiesSupportHelper(); |
510 | 510 |
this.propertiesHelper.setProperty("SearchPanel", this); |
511 |
this.automaticallySearch = true; |
|
511 | 512 |
|
512 | 513 |
Search search = (Search) ToolsLocator.getComplementsManager().get( |
513 | 514 |
Search.COMPLEMENT_MANE, getFeatureType() |
... | ... | |
725 | 726 |
if (b.getCurrentValue() == null) { |
726 | 727 |
return; |
727 | 728 |
} |
728 |
doSearchFromParameters(b.getCurrentValue());
|
|
729 |
putParametersAndSearch(b.getCurrentValue());
|
|
729 | 730 |
break; |
730 | 731 |
} |
731 | 732 |
}); |
... | ... | |
742 | 743 |
return; |
743 | 744 |
} |
744 | 745 |
b.getBookmark().used(); |
745 |
doSearchFromParameters(b.getCurrentValue());
|
|
746 |
putParametersAndSearch(b.getCurrentValue());
|
|
746 | 747 |
break; |
747 | 748 |
} |
748 | 749 |
}); |
... | ... | |
790 | 791 |
} |
791 | 792 |
|
792 | 793 |
//this.tblResults.add |
793 |
if (this.bookmarks.hasBookmark(this.store.getName())) { |
|
794 |
Bookmark<DefaultSearchParameters> initBookmark = this.bookmarks.get(this.store.getName()); |
|
795 |
initBookmark.used(); |
|
796 |
doSearchFromParameters(initBookmark.getValue()); |
|
797 |
} else { |
|
794 |
if (this.automaticallySearch){ |
|
795 |
if (this.bookmarks.hasBookmark(this.store.getName())) { |
|
796 |
Bookmark<DefaultSearchParameters> initBookmark = this.bookmarks.get(this.store.getName()); |
|
797 |
initBookmark.used(); |
|
798 |
putParametersAndSearch(initBookmark.getValue()); |
|
799 |
} else { |
|
800 |
clear(); |
|
801 |
search(); |
|
802 |
} |
|
803 |
} else { |
|
798 | 804 |
clear(); |
799 |
search(); |
|
805 |
|
|
800 | 806 |
} |
801 | 807 |
} |
802 | 808 |
|
803 |
private void doSearchFromParameters(DefaultSearchParameters searchParams) {
|
|
809 |
private void putParametersAndSearch(DefaultSearchParameters searchParams) {
|
|
804 | 810 |
DefaultSearchParameters params; |
805 | 811 |
try { |
806 | 812 |
params = searchParams.getCopy(); |
... | ... | |
962 | 968 |
return STATUS_OK; |
963 | 969 |
} |
964 | 970 |
|
971 |
@Override |
|
965 | 972 |
public int search(SearchParameters searchParams) { |
966 |
return search(searchParams); |
|
973 |
((DefaultSearchParameters)searchParams).fix(this.getFeatureType()); |
|
974 |
return doSearch(searchParams); |
|
967 | 975 |
} |
968 | 976 |
|
969 | 977 |
private int doSearch(SearchParameters searchParams) { |
... | ... | |
996 | 1004 |
); |
997 | 1005 |
model.setValue(tableModel); |
998 | 1006 |
rowCount.setValue(tableModel.getRowCount()); |
1007 |
resultModel = (SimpleFeaturesTableModel) model.getValue(); |
|
999 | 1008 |
} catch (Exception ex) { |
1000 | 1009 |
LOGGER.warn("Search not able to be executed. Can't get features or create table model", ex); |
1001 | 1010 |
status.setTitle(ToolsLocator.getI18nManager().getTranslation("_Errors_getting_new_feature_set") + "..."); |
... | ... | |
1007 | 1016 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
1008 | 1017 |
try { |
1009 | 1018 |
TableModel oldmodel = tblResults.getModel(); |
1010 |
resultModel = (SimpleFeaturesTableModel) model.getValue(); |
|
1011 | 1019 |
tblResults.setModel(resultModel); |
1012 | 1020 |
resultModel.setCellRenderers(tblResults, getCustomRenderers(searchParams)); |
1013 | 1021 |
if (oldmodel instanceof SimpleFeaturesTableModelImpl) { |
... | ... | |
1400 | 1408 |
return this.showActions; |
1401 | 1409 |
} |
1402 | 1410 |
|
1403 |
public static String getAttributeDescriptorLabel(FeatureAttributeDescriptor attrdesc, String tableName) { |
|
1404 |
String theLabel; |
|
1405 |
int theUseLabels; |
|
1406 |
if (useLabels == null) { |
|
1407 |
Tags tags = attrdesc.getTags(); |
|
1408 |
if (tags.has(DAL_USE_LABELS)) { |
|
1409 |
theUseLabels = tags.getInt(DAL_USE_LABELS, USE_LABELS_NO); |
|
1410 |
} else { |
|
1411 |
if (attrdesc.getFeatureType() != null) { |
|
1412 |
tags = attrdesc.getFeatureType().getTags(); |
|
1413 |
theUseLabels = tags.getInt(DAL_USE_LABELS, USE_LABELS_NO); |
|
1414 |
} else { |
|
1415 |
theUseLabels = USE_LABELS_NO; |
|
1416 |
} |
|
1417 |
} |
|
1418 |
} else { |
|
1419 |
theUseLabels = useLabels; |
|
1420 |
} |
|
1421 |
switch (theUseLabels) { |
|
1422 |
case USE_LABELS_YES: |
|
1423 |
if (StringUtils.isBlank(tableName)) { |
|
1424 |
theLabel = attrdesc.getLocalizedLabel(); |
|
1425 |
} else { |
|
1426 |
theLabel = String.format("%s [%s]", attrdesc.getLocalizedLabel(), tableName); |
|
1427 |
} |
|
1428 |
break; |
|
1429 |
default: |
|
1430 |
case USE_LABELS_NO: |
|
1431 |
if (StringUtils.isBlank(tableName)) { |
|
1432 |
theLabel = attrdesc.getName(); |
|
1433 |
} else { |
|
1434 |
theLabel = String.format("%s [%s]", attrdesc.getName(), tableName); |
|
1435 |
} |
|
1436 |
break; |
|
1437 |
case USE_LABELS_BOTH: |
|
1438 |
if (StringUtils.isBlank(tableName)) { |
|
1439 |
theLabel = String.format("%s [%s]", attrdesc.getLocalizedLabel(), attrdesc.getName()); |
|
1440 |
} else { |
|
1441 |
theLabel = String.format("%s [%s/%s]", attrdesc.getLocalizedLabel(), attrdesc.getName(), tableName); |
|
1442 |
} |
|
1443 |
break; |
|
1444 |
} |
|
1445 |
return theLabel; |
|
1446 |
} |
|
1447 |
|
|
1448 | 1411 |
private void doCalculatedColumns() { |
1449 | 1412 |
WindowManager_v2 winmanager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
1450 | 1413 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
... | ... | |
1882 | 1845 |
return this.propertiesHelper.getProperties(); |
1883 | 1846 |
} |
1884 | 1847 |
|
1848 |
public void setAutomaticallySearch(boolean automaticallySearch){ |
|
1849 |
this.automaticallySearch = automaticallySearch; |
|
1850 |
} |
|
1851 |
|
|
1852 |
public boolean isAutomaticallySearch(){ |
|
1853 |
return automaticallySearch; |
|
1854 |
} |
|
1855 |
|
|
1885 | 1856 |
} |
Also available in: Unified diff