Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeature.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeature.java	(revision 44085)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeature.java	(revision 44086)
@@ -29,9 +29,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-
 import org.cresques.cts.IProjection;
-
 import org.gvsig.fmap.dal.DataTypes;
 import org.gvsig.fmap.dal.exception.DataEvaluatorRuntimeException;
 import org.gvsig.fmap.dal.exception.DataException;
@@ -52,6 +50,7 @@
 import org.gvsig.fmap.geom.primitive.Envelope;
 import org.gvsig.timesupport.Instant;
 import org.gvsig.timesupport.Interval;
+import org.gvsig.timesupport.Time;
 import org.gvsig.tools.ToolsLocator;
 import org.gvsig.tools.dataTypes.CoercionException;
 import org.gvsig.tools.dataTypes.DataTypesManager;
@@ -195,8 +194,6 @@
         if( theClass.isInstance(value) ) {
             return value;
         }
-
-
         try {
             return this.getDataTypesManager().coerce(type, value);
         } catch (CoercionException e) {
@@ -356,6 +353,21 @@
         return geom;
     }
 
+    @Override
+    public Time getDefaultTime() {
+    	Time time = this.data.getDefaultTime();
+        if( time == null ) {
+            int i = this.data.getType().getDefaultTimeAttributeIndex();
+            Object x = this.get(i);
+            if( x instanceof Time ) {
+                time = (Time) x;
+            } else {
+                time = this.getTime(i);
+            }
+        }
+        return time;
+    }
+
     public IProjection getDefaultSRS() {
         IProjection srs = this.data.getType().getDefaultSRS();
         if( srs == null ) {
@@ -716,18 +728,32 @@
         return this.data.getType().getIndex(name) >= 0;
     }
 
+        @Override
+    public Time getTime(int index) {
+        return ((Time) this.get(index,Time.class,DataTypes.INSTANT));
+    }
+
+        @Override
+    public Time getTime(String name) {
+        return this.getInstant(this.data.getType().getIndex(name));
+    }
+
+        @Override
     public Instant getInstant(int index) {
-        return ((Instant) this.get(index,Date.class,DataTypes.INSTANT));
+        return ((Instant) this.get(index,Instant.class,DataTypes.INSTANT));
     }
 
+        @Override
     public Instant getInstant(String name) {
         return this.getInstant(this.data.getType().getIndex(name));
     }
 
+        @Override
     public Interval getInterval(int index) {
-        return ((Interval) this.get(index,Date.class,DataTypes.INTERVAL));
+        return ((Interval) this.get(index,Interval.class,DataTypes.INTERVAL));
     }
 
+        @Override
     public Interval getInterval(String name) {
         return this.getInterval(this.data.getType().getIndex(name));
     }
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/Feature.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/Feature.java	(revision 44085)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.api/src/main/java/org/gvsig/fmap/dal/feature/Feature.java	(revision 44086)
@@ -25,14 +25,13 @@
 
 import java.util.Date;
 import java.util.List;
-
 import org.cresques.cts.IProjection;
 import org.gvsig.fmap.dal.exception.DataException;
-
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Envelope;
 import org.gvsig.timesupport.Instant;
 import org.gvsig.timesupport.Interval;
+import org.gvsig.timesupport.Time;
 import org.gvsig.tools.dynobject.DynObject;
 import org.gvsig.tools.evaluator.Evaluator;
 import org.gvsig.tools.evaluator.EvaluatorData;
@@ -412,7 +411,14 @@
 	 */
 	public List getSRSs();
 	
-	/**
+        
+	public Time getDefaultTime();
+	
+    	public Time getTime(int index);
+        
+    	public Time getTime(String name);
+        
+    /**
      * Returns the instant value of an attribute given its position.
      *
      * @param index
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/FeatureProvider.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/FeatureProvider.java	(revision 44085)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/FeatureProvider.java	(revision 44086)
@@ -27,6 +27,7 @@
 import org.gvsig.fmap.dal.feature.FeatureType;
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Envelope;
+import org.gvsig.timesupport.Time;
 
 
 /**
@@ -66,11 +67,15 @@
 	public Envelope getDefaultEnvelope();
 
 	public Geometry getDefaultGeometry();
+        
+        public Time getDefaultTime();
 
 	public void setDefaultEnvelope(Envelope extent);
 
 	public void setDefaultGeometry(Geometry geom);
 
+        public void setDefautltTime(Time time);
+        
 	public boolean isNull(int i);
 
 	public boolean isNull(String name);
Index: trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/DefaultFeatureProvider.java
===================================================================
--- trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/DefaultFeatureProvider.java	(revision 44085)
+++ trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/DefaultFeatureProvider.java	(revision 44086)
@@ -3,32 +3,32 @@
  *
  * Copyright (C) 2007-2013 gvSIG Association.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation; either version 3 of the License, or (at your option) any later
+ * version.
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
- * For any additional information, do not hesitate to contact us
- * at info AT gvsig.com, or visit our website www.gvsig.com.
+ * For any additional information, do not hesitate to contact us at info AT
+ * gvsig.com, or visit our website www.gvsig.com.
  */
 package org.gvsig.fmap.dal.feature.spi;
 
+import org.gvsig.fmap.dal.DataTypes;
 import org.gvsig.fmap.dal.feature.EditableFeatureType;
 import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
 import org.gvsig.fmap.dal.feature.FeatureType;
-import org.gvsig.fmap.geom.DataTypes;
 import org.gvsig.fmap.geom.Geometry;
 import org.gvsig.fmap.geom.primitive.Envelope;
+import org.gvsig.timesupport.Time;
 import org.gvsig.tools.ToolsLocator;
 import org.gvsig.tools.dataTypes.CoercionException;
 
@@ -38,31 +38,31 @@
  */
 public class DefaultFeatureProvider implements FeatureProvider {
 
-	protected FeatureType featureType;
-	protected boolean[] nulls;
-	protected Object[] values;
-	protected Geometry defaultGeometry;
-	protected Envelope envelope;
-	private Object oid;
-	private boolean isNew=false;
+    protected FeatureType featureType;
+    protected boolean[] nulls;
+    protected Object[] values;
+    protected Geometry defaultGeometry;
+    protected Envelope envelope;
+    private Object oid;
+    private boolean isNew = false;
 
-	public DefaultFeatureProvider(FeatureType type) {
-		if (type instanceof EditableFeatureType) {
-			throw new IllegalArgumentException("type can't by editable.");
-		}
-		this.featureType = type;
-		this.values = new Object[featureType.size()];
-		this.nulls = new boolean[featureType.size()];
+    public DefaultFeatureProvider(FeatureType type) {
+        if (type instanceof EditableFeatureType) {
+            throw new IllegalArgumentException("type can't by editable.");
+        }
+        this.featureType = type;
+        this.values = new Object[featureType.size()];
+        this.nulls = new boolean[featureType.size()];
 
-		this.envelope = null;
-		this.defaultGeometry = null;
-		this.oid = null;
-	}
+        this.envelope = null;
+        this.defaultGeometry = null;
+        this.oid = null;
+    }
 
-	public DefaultFeatureProvider(FeatureType type, Object oid) {
-		this(type);
-		this.oid = oid;
-	}
+    public DefaultFeatureProvider(FeatureType type, Object oid) {
+        this(type);
+        this.oid = oid;
+    }
 
     public DefaultFeatureProvider(FeatureType type, DefaultFeatureProvider data) {
         this(type);
@@ -75,24 +75,19 @@
     public boolean isReadOnly(int i) {
         FeatureAttributeDescriptor attribute = featureType.getAttributeDescriptor(i);
         if (attribute.getEvaluator() != null) {
-                return true;
+            return true;
         }
         return false;
     }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#set(int,
-	 * java.lang.Object)
-	 */
-	public void set(int i, Object value) {
+    @Override
+    public void set(int i, Object value) {
         FeatureAttributeDescriptor attribute = featureType.getAttributeDescriptor(i);
-        if( this.isReadOnly(i) ) {
-			return;
-		}
-		if (featureType.getDefaultGeometryAttributeIndex() == i) {
-            if( value instanceof Geometry ) {
+        if (this.isReadOnly(i)) {
+            return;
+        }
+        if (featureType.getDefaultGeometryAttributeIndex() == i) {
+            if (value instanceof Geometry) {
                 defaultGeometry = (Geometry) value;
             } else {
                 try {
@@ -102,175 +97,185 @@
                 }
             }
             envelope = null;
-		}
-		if (value == null) {
-			nulls[i] = true;
-			values[i] = attribute.getDefaultValue();
-		} else {
-			values[i] = value;
-			nulls[i] = false;
-		}
-	}
+        }
+        if (value == null) {
+            nulls[i] = true;
+            values[i] = attribute.getDefaultValue();
+        } else {
+            values[i] = value;
+            nulls[i] = false;
+        }
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#set(java.lang.String,
-	 * java.lang.Object)
-	 */
-	public void set(String name, Object value) {
-		set(featureType.getIndex(name), value);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#set(java.lang.String,
+     * java.lang.Object)
+     */
+    public void set(String name, Object value) {
+        set(featureType.getIndex(name), value);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#get(int)
-	 */
-	public Object get(int i) {
-		return values[i];
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#get(int)
+     */
+    public Object get(int i) {
+        return values[i];
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#get(java.lang.String)
-	 */
-	public Object get(String name) {
-		FeatureAttributeDescriptor featureAttributeDescriptor = featureType.getAttributeDescriptor(name);
-		return values[featureAttributeDescriptor.getIndex()];
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#get(java.lang.String)
+     */
+    public Object get(String name) {
+        FeatureAttributeDescriptor featureAttributeDescriptor = featureType.getAttributeDescriptor(name);
+        return values[featureAttributeDescriptor.getIndex()];
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getType()
-	 */
-	public FeatureType getType() {
-		return featureType;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getType()
+     */
+    public FeatureType getType() {
+        return featureType;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getCopy()
-	 */
-	public FeatureProvider getCopy() {
-		DefaultFeatureProvider data = new DefaultFeatureProvider(
-				this.getType());
-		return getCopy(data);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getCopy()
+     */
+    public FeatureProvider getCopy() {
+        DefaultFeatureProvider data = new DefaultFeatureProvider(
+                this.getType());
+        return getCopy(data);
+    }
 
-	/**
-	 * Copy values from current instance to <code>data</code>
-	 */
-	protected FeatureProvider getCopy(DefaultFeatureProvider data) {
-		data.oid = this.oid;
-		System.arraycopy(this.values, 0, data.values, 0, this.values.length);
-		data.defaultGeometry = this.defaultGeometry;
-		data.envelope = this.envelope;
-		data.isNew=this.isNew;
-		return data;
-	}
+    /**
+     * Copy values from current instance to <code>data</code>
+     */
+    protected FeatureProvider getCopy(DefaultFeatureProvider data) {
+        data.oid = this.oid;
+        System.arraycopy(this.values, 0, data.values, 0, this.values.length);
+        data.defaultGeometry = this.defaultGeometry;
+        data.envelope = this.envelope;
+        data.isNew = this.isNew;
+        return data;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getDefaultEnvelope()
-	 */
-	public Envelope getDefaultEnvelope() {
-		if (envelope == null && getDefaultGeometry() != null) {
-			envelope = getDefaultGeometry().getEnvelope();
-		}
-		return envelope;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getDefaultEnvelope()
+     */
+    public Envelope getDefaultEnvelope() {
+        if (envelope == null && getDefaultGeometry() != null) {
+            envelope = getDefaultGeometry().getEnvelope();
+        }
+        return envelope;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getDefaultGeometry()
-	 */
-	public Geometry getDefaultGeometry() {
-            return this.defaultGeometry;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getDefaultGeometry()
+     */
+    public Geometry getDefaultGeometry() {
+        return this.defaultGeometry;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.gvsig.fmap.dal.feature.spi.FeatureProvider#setDefaultEnvelope(org
-	 * .gvsig.fmap.geom.primitive.Envelope)
-	 */
-	public void setDefaultEnvelope(Envelope envelope) {
-		this.envelope = envelope;
-	}
+    @Override
+    public Time getDefaultTime() {
+        int index = featureType.getDefaultTimeAttributeIndex();
+        Object value = this.get(index);
+        if (! (value instanceof Time) ) {
+            try {
+                value = (Time) ToolsLocator.getDataTypesManager().coerce(DataTypes.INSTANT, value);
+            } catch (CoercionException ex) {
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.gvsig.fmap.dal.feature.spi.FeatureProvider#setDefaultGeometry(org
-	 * .gvsig.fmap.geom.Geometry)
-	 */
-	public void setDefaultGeometry(Geometry geom) {
-		int i = featureType.getDefaultGeometryAttributeIndex();
-                this.set(i, geom);
-	}
+            }
+        }
+        return (Time) value;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#isNull(int)
-	 */
-	public boolean isNull(int i) {
-		return nulls[i];
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * org.gvsig.fmap.dal.feature.spi.FeatureProvider#setDefaultEnvelope(org
+     * .gvsig.fmap.geom.primitive.Envelope)
+     */
+    public void setDefaultEnvelope(Envelope envelope) {
+        this.envelope = envelope;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.gvsig.fmap.dal.feature.spi.FeatureProvider#isNull(java.lang.String)
-	 */
-	public boolean isNull(String name) {
-		int i = featureType.getIndex(name);
-		return isNull(i);
-	}
+    @Override
+    public void setDefaultGeometry(Geometry geom) {
+        int i = featureType.getDefaultGeometryAttributeIndex();
+        this.set(i, geom);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getOID()
-	 */
-	public Object getOID() {
-		return this.oid;
-	}
+    @Override
+    public void setDefaultTime(Time time) {
+        int i = featureType.getDefaultTimeAttributeIndex();
+        this.set(i, time);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see
-	 * org.gvsig.fmap.dal.feature.spi.FeatureProvider#setOID(java.lang.Object)
-	 */
-	public void setOID(Object oid) {
-		this.oid = oid;
-	}
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#isNew()
-	 */
-	public boolean isNew(){
-		return isNew;
-	}
+    public boolean isNull(int i) {
+        return nulls[i];
+    }
 
-	/*
-	 * (non-Javadoc)
-	 *
-	 * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#setNew(boolean)
-	 */
-	public void setNew(boolean isNew){
-		this.isNew=isNew;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * org.gvsig.fmap.dal.feature.spi.FeatureProvider#isNull(java.lang.String)
+     */
+    public boolean isNull(String name) {
+        int i = featureType.getIndex(name);
+        return isNull(i);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#getOID()
+     */
+    public Object getOID() {
+        return this.oid;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * org.gvsig.fmap.dal.feature.spi.FeatureProvider#setOID(java.lang.Object)
+     */
+    public void setOID(Object oid) {
+        this.oid = oid;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#isNew()
+     */
+    public boolean isNew() {
+        return isNew;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.gvsig.fmap.dal.feature.spi.FeatureProvider#setNew(boolean)
+     */
+    public void setNew(boolean isNew) {
+        this.isNew = isNew;
+    }
 }
