Revision 35970

View differences:

branches/dal_time_support/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/FeatureManager.java
188 188
			if (value == null && !fad.allowNull()) {
189 189
				continue;
190 190
			}
191
			newFeature.set(fad.getIndex(), value);
191
			newFeature.set(orgIndex, value);
192 192
 		}
193 193
        return newFeature.getNotEditableCopy();
194 194
	}
branches/dal_time_support/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/SpatialManager.java
92 92
		FeatureAttributeDescriptor attr = fType.getAttributeDescriptor(fType
93 93
				.getDefaultGeometryAttributeIndex());
94 94
		this.originalEnvelope = originalEnvelope;
95
		if (originalEnvelope != null) {
95
		if ((originalEnvelope != null) && (!originalEnvelope.isEmpty())) {
96 96
			this.fullEnvelope = originalEnvelope.getGeometry().getEnvelope();
97 97
		} else {
98 98
			FeatureAttributeDescriptor geoAttr = fType.getAttributeDescriptor(fType.getDefaultGeometryAttributeIndex());
branches/dal_time_support/libraries/libFMap_dal/src/org/gvsig/fmap/dal/exception/CreateException.java
14 14
		setValue("resource", resource);
15 15
	}
16 16

  
17
	protected CreateException(String messageFormat, String messageKey,
18
			long serialversionuid2) {
19
		super(MESSAGE_FORMAT, MESSAGE_KEY, serialVersionUID);
20
	}
21

  
22
	
17 23
}
branches/dal_time_support/libraries/libFMap_dal/src/org/gvsig/fmap/dal/impl/DefaultDataManager.java
590 590
        String name = parameters.getDataStoreName();
591 591
        DataStoreProvider provider = null;
592 592
        boolean retry = true;
593
        while (retry){
594
            try {
595
                provider = (DataStoreProvider) ToolsLocator
596
                .getExtensionPointManager().get(DATA_MANAGER_STORE).create(
597
                        name,
598
                        new Object[] { parameters, providerServices });
599
                retry = false;
600
            } catch (Exception e) {
601
                retry = openErrorHandler.canRetryOpen(e, parameters);
602
                if (!retry){
603
                    throw new InitializeException(parameters.getDataStoreName(), e);
604
                }
605
            }
593
        while (retry){
594
        	try {
595
        		provider = (DataStoreProvider) ToolsLocator
596
        		.getExtensionPointManager().get(DATA_MANAGER_STORE).create(
597
        				name,
598
        				new Object[] { parameters, providerServices });
599
            	retry = false;
600
        	} catch (Exception e) {
601
        		if (openErrorHandler != null){
602
        			retry = openErrorHandler.canRetryOpen(e, parameters);
603
        		} else {
604
        			retry = false;
605
        		}
606
        		if (!retry){
607
        			throw new InitializeException(parameters.getDataStoreName(), e);
608
        		}
609
        	}
606 610
        }
607 611
        if (provider == null) {
608 612
            throw new ProviderNotRegisteredException(name);
branches/dal_time_support/libraries/libFMap_dal/src/org/gvsig/fmap/dal/OpenErrorHandler.java
2 2

  
3 3
import org.gvsig.fmap.dal.DataParameters;
4 4

  
5
/**
6
 * This class is used to handle errors that occur at not finding the data source
7
 * by opening a layer.
8
 * 
9
 */
5 10
public interface OpenErrorHandler {
6
	
11

  
12
	/**
13
	 * Returns true if the opening can be retried.
14
	 * 
15
	 * @param e
16
	 * @param parameters
17
	 * 
18
	 * @return true if the opening can be retried.
19
	 */
20

  
7 21
	public boolean canRetryOpen(Exception e, DataParameters parameters);
8 22

  
9 23
}

Also available in: Unified diff