Revision 27234 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/DefaultFeatureStore.java
DefaultFeatureStore.java | ||
---|---|---|
977 | 977 |
public FeatureSet getFeatureSet(FeatureQuery featureQuery) |
978 | 978 |
throws DataException { |
979 | 979 |
checkNotInAppendMode(); |
980 |
fixFeatureQuery(featureQuery); |
|
981 | 980 |
return new DefaultFeatureSet(this, featureQuery); |
982 | 981 |
} |
983 | 982 |
|
984 |
private void fixFeatureQuery(FeatureQuery featureQuery) |
|
985 |
throws DataException { |
|
986 |
featureQuery.setFeatureType(this.fixFeatureType((DefaultFeatureType) featureQuery.getFeatureType())); |
|
983 |
public FeatureType getFeatureType(FeatureQuery featureQuery) |
|
984 |
throws DataException { |
|
985 |
DefaultFeatureType fType = (DefaultFeatureType) this |
|
986 |
.getFeatureType(featureQuery.getFeatureTypeId()); |
|
987 | 987 |
if (featureQuery.getAttributeNames() != null){ |
988 |
DefaultFeatureType originalType = (DefaultFeatureType) featureQuery |
|
989 |
.getFeatureType(); |
|
990 |
featureQuery.setFeatureType(originalType.getSubtype(featureQuery |
|
991 |
.getAttributeNames())); |
|
988 |
return fType.getSubtype(featureQuery.getAttributeNames()); |
|
992 | 989 |
} |
990 |
return fType; |
|
993 | 991 |
} |
994 | 992 |
|
995 | 993 |
public void getFeatureSet(Observer observer) |
... | ... | |
1149 | 1147 |
} |
1150 | 1148 |
} |
1151 | 1149 |
|
1150 |
public FeatureType getFeatureType(String featureTypeId) |
|
1151 |
throws DataException { |
|
1152 |
if (featureTypeId == null) { |
|
1153 |
return this.getDefaultFeatureType(); |
|
1154 |
} |
|
1155 |
try { |
|
1156 |
if (isEditing()) { |
|
1157 |
FeatureType auxFeatureType = featureTypeManager |
|
1158 |
.getType(featureTypeId); |
|
1159 |
if (auxFeatureType != null) { |
|
1160 |
return auxFeatureType; |
|
1161 |
} |
|
1162 |
} |
|
1163 |
FeatureType type = this.transforms.getFeatureType(featureTypeId); |
|
1164 |
if (type != null) { |
|
1165 |
return type; |
|
1166 |
} |
|
1167 |
Iterator iter = this.featureTypes.iterator(); |
|
1168 |
while (iter.hasNext()){ |
|
1169 |
type = (FeatureType) iter.next(); |
|
1170 |
if (type.getId().equals(featureTypeId)) { |
|
1171 |
return type; |
|
1172 |
} |
|
1173 |
} |
|
1174 |
return null; |
|
1175 |
} catch (Exception e) { |
|
1176 |
throw new GetFeatureTypeException(e, getName()); |
|
1177 |
} |
|
1178 |
} |
|
1179 |
|
|
1180 |
|
|
1152 | 1181 |
public FeatureType getProviderDefaultFeatureType() { |
1153 | 1182 |
return defaultFeatureType; |
1154 | 1183 |
} |
Also available in: Unified diff