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/DefaultDataSwingManager.java

View differences:

DefaultDataSwingManager.java
58 58
import org.gvsig.featureform.swing.impl.DefaultJFeaturesForm;
59 59
import org.gvsig.fmap.dal.DALLocator;
60 60
import org.gvsig.fmap.dal.DataManager;
61
import static org.gvsig.fmap.dal.DataManager.DAL_USE_LABELS;
62
import static org.gvsig.fmap.dal.DataManager.USE_LABELS_BOTH;
63
import static org.gvsig.fmap.dal.DataManager.USE_LABELS_NO;
64
import static org.gvsig.fmap.dal.DataManager.USE_LABELS_YES;
61 65
import org.gvsig.fmap.dal.DataStoreProviderFactory;
62 66
import org.gvsig.fmap.dal.StoresRepository;
63 67
import org.gvsig.fmap.dal.exception.DataException;
......
124 128
import org.gvsig.fmap.dal.swing.impl.storerepository.StoresRepositoryTreeModel;
125 129
import org.gvsig.fmap.dal.swing.searchPostProcess.SearchPostProcessFactory;
126 130
import org.gvsig.tools.dynform.DynFormDefinition;
131
import org.gvsig.tools.dynobject.Tags;
127 132

  
128 133

  
129 134
/**
......
136 141
    private final Map<String,DALActionFactory> featureStoreSearchActions;
137 142
    private final Map<String,SearchPostProcessFactory> searchPostProcess;
138 143
    private Map<String,SearchConditionPanelFactory> searchConditionPanelFactories;
144
    private Integer useLabels;
139 145
    
140 146
    public DefaultDataSwingManager() {
141 147
        this.featureStoreSearchActions = new LinkedHashMap<>();
......
570 576
        StoresRepositoryTreeModel model = new StoresRepositoryTreeModel(repository);
571 577
        return model;
572 578
    }
579

  
580
    @Override
581
    public String getAttributeDescriptorLabel(FeatureAttributeDescriptor attrdesc) {
582
        return getAttributeDescriptorLabel(attrdesc, null);
583
    }
584
    
585
    @Override
586
    public String getAttributeDescriptorLabel(FeatureAttributeDescriptor attrdesc, String tableName) {
587
        String theLabel;
588
        int theUseLabels;
589
        if (getUseLabels() == null) {
590
            Tags tags = attrdesc.getTags();
591
            if (tags.has(DAL_USE_LABELS)) {
592
                theUseLabels = tags.getInt(DAL_USE_LABELS, USE_LABELS_NO);
593
            } else {
594
                if (attrdesc.getFeatureType() != null) {
595
                    tags = attrdesc.getFeatureType().getTags();
596
                    theUseLabels = tags.getInt(DAL_USE_LABELS, USE_LABELS_NO);
597
                } else {
598
                    theUseLabels = USE_LABELS_NO;
599
                }
600
            }
601
        } else {
602
            theUseLabels = getUseLabels();
603
        }
604
        switch (theUseLabels) {
605
            case USE_LABELS_BOTH:
606
                if (!StringUtils.equals(attrdesc.getLocalizedLabel(), attrdesc.getName())){
607
                    if (StringUtils.isBlank(tableName)) {
608
                        theLabel = String.format("%s [%s]", attrdesc.getLocalizedLabel(), attrdesc.getName());
609
                    } else {
610
                        theLabel = String.format("%s [%s/%s]", attrdesc.getLocalizedLabel(), attrdesc.getName(), tableName);
611
                    }
612
                    break;
613
                }
614
            case USE_LABELS_YES:
615
                if (StringUtils.isBlank(tableName)) {
616
                    theLabel = attrdesc.getLocalizedLabel();
617
                } else {
618
                    theLabel = String.format("%s [%s]", attrdesc.getLocalizedLabel(), tableName);
619
                }
620
                break;
621
            default:
622
            case USE_LABELS_NO:
623
                if (StringUtils.isBlank(tableName)) {
624
                    theLabel = attrdesc.getName();
625
                } else {
626
                    theLabel = String.format("%s [%s]", attrdesc.getName(), tableName);
627
                }
628
                break;
629
        }
630
        return theLabel;
631
    }
632

  
633
    /**
634
     * @return the useLabels
635
     */
636
    @Override
637
    public Integer getUseLabels() {
638
        return useLabels;
639
    }
640

  
641
    /**
642
     * @param useLabels the useLabels to set
643
     */
644
    @Override
645
    public void setUseLabels(Integer useLabels) {
646
        this.useLabels = useLabels;
647
    }
648

  
573 649
}
574 650

  
575 651
        

Also available in: Unified diff