Revision 45219 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
FeatureSymbolTableImpl.java | ||
---|---|---|
107 | 107 |
|
108 | 108 |
@Override |
109 | 109 |
public boolean exists(String name) { |
110 |
if (type == null) {
|
|
110 |
if (feature == null) {
|
|
111 | 111 |
return false; |
112 | 112 |
} |
113 |
if (type.get(name) != null) {
|
|
114 |
return true; |
|
113 |
if (this.feature.hasValue(name)) {
|
|
114 |
return true;
|
|
115 | 115 |
} |
116 | 116 |
if (StringUtils.equalsIgnoreCase(name, this.storeName) || |
117 | 117 |
StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_TABLE) || |
118 | 118 |
StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_ROW) ) { |
119 | 119 |
return true; |
120 | 120 |
} |
121 |
if (feature == null) { |
|
122 |
return false; |
|
123 |
} |
|
124 |
if (this.feature.hasExtraValue(name)) { |
|
125 |
return true; |
|
126 |
} |
|
127 | 121 |
return false; |
128 | 122 |
} |
129 | 123 |
|
130 | 124 |
@Override |
131 | 125 |
public Object value(String name) { |
132 |
if (feature == null) { |
|
126 |
if (feature == null) { |
|
127 |
return null; |
|
128 |
} |
|
129 |
try { |
|
130 |
return this.feature.get(name); |
|
131 |
} catch (Exception ex) { |
|
132 |
//DO NOTHING |
|
133 |
} |
|
134 |
if (StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_ROW)) { |
|
135 |
return this.feature; |
|
136 |
} |
|
137 |
if (StringUtils.equalsIgnoreCase(name, this.storeName) |
|
138 |
|| StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_TABLE)) { |
|
139 |
return this.storeAttributeHandler; |
|
140 |
} |
|
133 | 141 |
return null; |
134 |
} |
|
135 |
if (StringUtils.equalsIgnoreCase(name, this.storeName) || |
|
136 |
StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_TABLE)) { |
|
137 |
return this.storeAttributeHandler; |
|
138 |
} |
|
139 |
if (StringUtils.equalsIgnoreCase(name, SYMBOL_CURRENT_ROW)) { |
|
140 |
return this.feature; |
|
141 |
} |
|
142 |
try { |
|
143 |
return this.feature.get(name); |
|
144 |
} catch (Exception ex) { |
|
145 |
return this.feature.getExtraValue(name); |
|
146 |
} |
|
147 | 142 |
} |
148 | 143 |
|
149 | 144 |
@Override |
Also available in: Unified diff