Revision 41464 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.jdbc/src/main/java/org/gvsig/fmap/dal/store/jdbc/JDBCHelper.java

View differences:

JDBCHelper.java
786 786
		 * 
787 787
		 */
788 788
		private static final long serialVersionUID = -3608973505723097889L;
789
		private final static String MESSAGE_FORMAT = "Can't convert value of attribute '%(attributeName)' to JDBC type (attribute type '%(attributeType)', value class '%(valueClass)').";
790
		private final static String MESSAGE_KEY = "_Cant_convert_value_of_attribute_XattributeNameX_to_JDBC_type_attribute_type_XattributeTypeX_value_class_XvalueClassX";
789
		private final static String MESSAGE_FORMAT = "Can't convert value of attribute '%(attributeName)' to JDBC type. %(problem) (attribute type '%(attributeType)', value class '%(valueClass)').";
790
		private final static String MESSAGE_KEY = "_Cant_convert_value_of_attribute_XattributeNameX_to_JDBC_type_XproblemX_attribute_type_XattributeTypeX_value_class_XvalueClassX";
791 791

  
792 792
		public DalValueToJDBCException(FeatureAttributeDescriptor attributeDescriptor, Object object, Throwable cause) {
793
                    this(attributeDescriptor, object, (String)null, cause);
794
                }
795
                
796
		public DalValueToJDBCException(FeatureAttributeDescriptor attributeDescriptor, Object object, String problem, Throwable cause) {
793 797
			super(MESSAGE_FORMAT, cause, MESSAGE_KEY, serialVersionUID);
794 798
			if( attributeDescriptor != null ) {
795 799
				setValue("attributeName",attributeDescriptor.getName());
......
803 807
			} else {
804 808
				setValue("valueClass", "null");
805 809
			}
810
                        if( problem!=null ) {
811
                            setValue("problem","");
812
                        } else {
813
                            setValue("problem",problem);
814
                        }
806 815
		}
807 816

  
808 817
	}
......
867 876
			}
868 877
			return wkb;
869 878
		} catch (Exception e) {
870
			throw new DalValueToJDBCException(attributeDescriptor, object,e);
879
                    String problem = "";
880
                    if( geom!=null ) {
881
                        Geometry.ValidationStatus vs = geom.getValidationStatus();
882
                        problem = vs.getMessage();
883
                    }
884
                    throw new DalValueToJDBCException(attributeDescriptor, object,problem, e);
871 885
		}
872 886
	}
873 887

  

Also available in: Unified diff