&
生成的檔案如下:
如果系統對這個patch檔案有識別的話是一個帶有問號的icon檔案.
1 diff --git a/main/plugins/org.talend.designer.core/src/main/java/org/talend/designer/core/model/metadata/MetadataEmfFactory.java b/main/plugins/org.talend.designer.core/src/main/java/org/talend/designer/core/model/metadata/MetadataEmfFactory.java 2 index a5f97fd..8e7cb2f 100644 3 --- a/main/plugins/org.talend.designer.core/src/main/java/org/talend/designer/core/model/metadata/MetadataEmfFactory.java 4 +++ b/main/plugins/org.talend.designer.core/src/main/java/org/talend/designer/core/model/metadata/MetadataEmfFactory.java 5 @@ -73,9 +73,9 @@ public class MetadataEmfFactory { 6 colType.setComment(metaCol.getComment()); 7 colType.setKey(metaCol.isKey()); 8 colType.setNullable(metaCol.isNullable()); 9 - if (metaCol.getLength() == null) { 10 - // colType.setLength(-1); 11 - colType.unsetLength(); 12 + if (metaCol.getLength() == null || metaCol.getLength().intValue() < 0) { 13 + colType.setLength(-1); 14 + // colType.unsetLength(); 15 } else { 16 colType.setLength(metaCol.getLength()); 17 } 18 @@ -90,9 +90,9 @@ public class MetadataEmfFactory { 19 } 20 21 colType.setName(metaCol.getLabel()); 22 - if (metaCol.getPrecision() == null) { 23 - // colType.setPrecision(-1); 24 - colType.unsetPrecision(); 25 + if (metaCol.getPrecision() == null || metaCol.getPrecision().intValue() < 0) { 26 + colType.setPrecision(-1); 27 + // colType.unsetPrecision(); 28 } else { 29 colType.setPrecision(metaCol.getPrecision()); 30 } 31 @@ -144,12 +144,8 @@ public class MetadataEmfFactory { 32 metaCol.setComment(colType.getComment()); 33 metaCol.setKey(colType.isKey()); 34 metaCol.setNullable(colType.isNullable()); 35 - if (colType.isSetLength()) { 36 - if (colType.getLength() >= 0) { 37 - metaCol.setLength(new Integer(colType.getLength())); 38 - } else { 39 - metaCol.setLength(null); 40 - } 41 + if (colType.getLength() >= 0) { 42 + metaCol.setLength(new Integer(colType.getLength())); 43 } else { 44 metaCol.setLength(null); 45 } 46 @@ -168,12 +164,8 @@ public class MetadataEmfFactory { 47 } 48 } 49 metaCol.setLabel(colType.getName()); 50 - if (colType.isSetPrecision()) { 51 - if (colType.getPrecision() >= 0) { 52 - metaCol.setPrecision(new Integer(colType.getPrecision())); 53 - } else { 54 - metaCol.setPrecision(null); 55 - } 56 + if (colType.getPrecision() >= 0) { 57 + metaCol.setPrecision(new Integer(colType.getPrecision())); 58 } else { 59 metaCol.setPrecision(null); 60 }