Revision 37172 branches/v2_0_0_prep/extensions/org.gvsig.oracle/src/org/gvsig/fmap/dal/store/oracle/OracleUtils.java

View differences:

OracleUtils.java
60 60
import org.gvsig.fmap.dal.exception.DataException;
61 61
import org.gvsig.fmap.dal.feature.EditableFeatureType;
62 62
import org.gvsig.fmap.dal.feature.Feature;
63
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
63 64
import org.gvsig.fmap.dal.feature.FeatureQuery;
64 65
import org.gvsig.fmap.dal.feature.FeatureSet;
65 66
import org.gvsig.fmap.dal.feature.FeatureStore;
67
import org.gvsig.fmap.dal.feature.FeatureType;
68
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices;
66 69
import org.gvsig.fmap.geom.Geometry;
67 70
import org.gvsig.fmap.geom.GeometryLocator;
68 71
import org.gvsig.fmap.geom.GeometryManager;
......
4362 4365
		return resp.toString();
4363 4366
		
4364 4367
	}
4368
	
4369
	
4370
	public static Object getId(FeatureReferenceProviderServices ref, FeatureType ft) {
4371
		
4372
		if (ft.hasOID()) {
4373
			return ref.getOID();
4374
		} else {
4375
			
4376
			if (ref.getKeyNames() == null) {
4377
				return ref.getOID();
4378
			} else {
4379
				FeatureAttributeDescriptor[] fadd = ft.getPrimaryKey();
4380
				Object resp = ref.getKeyValue(fadd[0].getName());
4381
				if (resp == null) {
4382
					logger.warn("Did not find PK in feat ref: " + fadd[0].getName());
4383
				}
4384
				return resp;
4385
			}
4386
		}
4365 4387

  
4388
	}
4389

  
4366 4390
}

Also available in: Unified diff