Revision 41746

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/utils/FieldNameTooLongException.java
40 40
     * @param cause
41 41
     */
42 42
    public FieldNameTooLongException(String resource, String field) {
43
        super(resource, new Exception("Field name is too long (max 11 char): '" + field + "'"));
43
        super(resource, new Exception("Field name is too long (max "+DbaseFile.MAX_FIELD_NAME_LENGTH+" char): '" + field + "'"));
44 44
    }
45 45

  
46 46
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/utils/DbaseFileHeader.java
152 152
            tempFieldName = "NoName";
153 153
        }
154 154

  
155
        if (tempFieldName.length() > 11) {
156
            tempFieldName = tempFieldName.substring(0, 11);
155
        if (tempFieldName.length() > DbaseFile.MAX_FIELD_NAME_LENGTH) {
156
            tempFieldName = tempFieldName.substring(0, DbaseFile.MAX_FIELD_NAME_LENGTH);
157 157
            warn("FieldName " + inFieldName +
158
                " is longer than 11 characters, truncating to " +
158
                " is longer than "+DbaseFile.MAX_FIELD_NAME_LENGTH+" characters, truncating to " +
159 159
                tempFieldName);
160 160
        }
161 161

  
......
688 688
		if (myFieldDescriptions != null) {
689 689
			for (int i = 0; i < myFieldDescriptions.length; i++) {
690 690
				// write the field name
691
				for (int j = 0; j < 11; j++) {
691
				for (int j = 0; j < DbaseFile.MAX_FIELD_NAME_LENGTH; j++) {
692 692
					if (myFieldDescriptions[i].myFieldName.length() > j) {
693 693
						buffer.put((byte) myFieldDescriptions[i].myFieldName.charAt(j));
694 694
					} else {
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/utils/DbaseFile.java
49 49
 */
50 50
public class DbaseFile {
51 51
    
52
    public static final int MAX_FIELD_NAME_LENGTH = 11;
52
    public static final int MAX_FIELD_NAME_LENGTH = 10;
53 53
    
54 54
	// Header information for the DBase File
55 55
	private DbaseFileHeader myHeader;
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.dbf/src/main/java/org/gvsig/fmap/dal/store/dbf/DBFStoreProvider.java
97 97

  
98 98
    private static final Logger LOG = LoggerFactory.getLogger(DBFStoreProvider.class);
99 99

  
100
    public static final int MAX_FIELD_NAME_LENGTH = 11;
100
    public static final int MAX_FIELD_NAME_LENGTH = DbaseFile.MAX_FIELD_NAME_LENGTH;
101 101

  
102 102
    public static String NAME = "DBF";
103 103
    public static String DESCRIPTION = "DBF file";

Also available in: Unified diff