Revision 47695 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/expressionevaluator/impl/symboltable/FeatureSymbolTableImpl.java

View differences:

FeatureSymbolTableImpl.java
114 114

  
115 115
  @Override
116 116
  public boolean exists(String name) {
117
    if (feature == null) {
118
      return false;
117
    if (feature != null) {
118
        if (this.feature.hasValue(name)) {
119
            return true;
120
        }
119 121
    }
120
    if (this.feature.hasValue(name)) {
121
        return true;
122
    }
123 122
    if (StringUtils.equalsIgnoreCase(name, this.storeName) ||
124 123
        StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_TABLE) ||
125 124
        StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_ROW) ) {
126 125
      return true;
127 126
    }
128
    return false;
127
    return super.exists(name);
129 128
  }
130 129

  
131 130
  @Override
132 131
  public Object value(String name) {
133
      if (feature == null) {
134
          return null;
132
      if (feature != null) {          
133
        try {
134
            return this.feature.get(name);
135
        } catch (Exception ex) {
136
            //DO NOTHING
137
        }
138
        if (StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_ROW)) {
139
            return this.feature;
140
        }
135 141
      }
136
      try {
137
          return this.feature.get(name);
138
      } catch (Exception ex) {
139
          //DO NOTHING
140
      }
141
      if (StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_ROW)) {
142
          return this.feature;
143
      }
144 142
      if (StringUtils.equalsIgnoreCase(name, this.storeName)
145 143
              || StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_TABLE)) {
146 144
          return this.storeAttributeHandler;
147 145
      }
148
      return null;
146
      return super.value(name);
149 147
  }
150 148

  
151 149
  public void setVar(String name, Object value) {

Also available in: Unified diff