From 700714d5753f7db721fff3aa6c69395dd5e6235a Mon Sep 17 00:00:00 2001 From: taktos9 Date: Mon, 5 Sep 2011 01:36:54 +0000 Subject: [PATCH] =?utf8?q?MySQL=E3=81=AEAUTO=5FINCREMENT=E3=81=AB=E5=AF=BE?= =?utf8?q?=E5=BF=9C=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.sourceforge.jp/svnroot/ea2ddl/trunk/ea2ddl@120 136db618-7844-41ca-8ac1-fb3fd040db1d --- .../ea2ddl/dao/exbhv/TAttributeBhv.java | 15 +++++++- .../ea2ddl/dao/exbhv/TAttributetagBhv.java | 31 ++++++++++++--- .../ea2ddl/dao/exentity/TAttribute.java | 22 +++++++++-- .../sourceforge/ea2ddl/ddl/model/ColumnModel.java | 44 +++++++++++++--------- 4 files changed, 84 insertions(+), 28 deletions(-) diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributeBhv.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributeBhv.java index a3db57b..abb9d3e 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributeBhv.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributeBhv.java @@ -15,11 +15,22 @@ import org.seasar.dbflute.cbean.ListResultBean; * * @author DBFlute(AutoGenerator) */ -public class TAttributeBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTAttributeBhv { +public class TAttributeBhv extends + jp.sourceforge.ea2ddl.dao.bsbhv.BsTAttributeBhv { + private TAttributetagBhv _tAttributetagBhv; + + public void setTAttributetagBhv(TAttributetagBhv tAttributetagBhv) { + _tAttributetagBhv = tAttributetagBhv; + } + public ListResultBean selectColumns(TObject table) { final TAttributeCB cb = new TAttributeCB(); cb.query().setObjectId_Equal(table.getObjectId()); cb.query().addOrderBy_Pos_Asc(); - return selectList(cb); + ListResultBean list = selectList(cb); + for (TAttribute tAttribute : list) { + _tAttributetagBhv.loadTags(tAttribute); + } + return list; } } diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributetagBhv.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributetagBhv.java index 296ff97..a38a221 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributetagBhv.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exbhv/TAttributetagBhv.java @@ -1,13 +1,34 @@ package jp.sourceforge.ea2ddl.dao.exbhv; +import java.util.HashMap; +import java.util.Map; + +import jp.sourceforge.ea2ddl.dao.cbean.TAttributetagCB; +import jp.sourceforge.ea2ddl.dao.exentity.TAttribute; +import jp.sourceforge.ea2ddl.dao.exentity.TAttributetag; + +import org.seasar.dbflute.cbean.ListResultBean; + /** * The behavior of t_attributetag. *

- * You can implement your original methods here. - * This class is NOT overrided when re-generating. + * You can implement your original methods here. This class is NOT overrided + * when re-generating. *

+ * * @author DBFlute(AutoGenerator) - */ -@SuppressWarnings("unchecked") -public class TAttributetagBhv extends jp.sourceforge.ea2ddl.dao.bsbhv.BsTAttributetagBhv { + */ +public class TAttributetagBhv extends + jp.sourceforge.ea2ddl.dao.bsbhv.BsTAttributetagBhv { + + public void loadTags(TAttribute attribute) { + TAttributetagCB cb = new TAttributetagCB(); + cb.query().setElementid_Equal(attribute.getId()); + ListResultBean list = selectList(cb); + Map map = new HashMap(); + for (TAttributetag tAttributetag : list) { + map.put(tAttributetag.getProperty(), tAttributetag); + } + attribute.setTags(map); + } } diff --git a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exentity/TAttribute.java b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exentity/TAttribute.java index 52359e0..ce2786c 100644 --- a/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exentity/TAttribute.java +++ b/ea2ddl-dao/src/main/java/jp/sourceforge/ea2ddl/dao/exentity/TAttribute.java @@ -1,15 +1,29 @@ package jp.sourceforge.ea2ddl.dao.exentity; +import java.util.Map; + /** * The entity of t_attribute. *

- * You can implement your original methods here. - * This class remains when re-generating. + * You can implement your original methods here. This class remains when + * re-generating. *

+ * * @author DBFlute(AutoGenerator) */ public class TAttribute extends jp.sourceforge.ea2ddl.dao.bsentity.BsTAttribute { - /** Serial version UID. (Default) */ - private static final long serialVersionUID = 1L; + /** Serial version UID. (Default) */ + private static final long serialVersionUID = 1L; + + private Map _tags; + + public Map getTags() { + return _tags; + } + + public void setTags(Map tags) { + _tags = tags; + } + } diff --git a/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/model/ColumnModel.java b/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/model/ColumnModel.java index a7649ff..3541815 100644 --- a/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/model/ColumnModel.java +++ b/ea2ddl-ddl/src/main/java/jp/sourceforge/ea2ddl/ddl/model/ColumnModel.java @@ -9,6 +9,7 @@ import java.util.regex.Pattern; import jp.sourceforge.ea2ddl.common.config.Config; import jp.sourceforge.ea2ddl.dao.exentity.TAttribute; +import jp.sourceforge.ea2ddl.dao.exentity.TAttributetag; /** * @author taktos @@ -24,7 +25,7 @@ public class ColumnModel implements Serializable { private Integer _precision; private Integer _scale; private boolean nullable; - private boolean ordered; + private boolean autoIncrement; public static ColumnModel create(TAttribute columnDef, Config dictionary) { ColumnModel column = new ColumnModel(); @@ -33,7 +34,7 @@ public class ColumnModel implements Serializable { column.setType(columnDef, dictionary); column.setNullable(Integer.valueOf(0).equals( columnDef.getAllowduplicates())); - column.setOrdered(Integer.valueOf(1).equals(columnDef.getIsordered())); + column.setAutoIncrement(columnDef); column.setNote(columnDef.getNotes()); return column; } @@ -49,21 +50,21 @@ public class ColumnModel implements Serializable { setType(m.group(1)); if (m.group(3) != null) { Integer len = Integer.valueOf(m.group(3)); - setScale(len); + setPrecision(len); } if (m.group(5) != null) { - setPrecision(Integer.valueOf(m.group(5))); + setScale(Integer.valueOf(m.group(5))); } } return; } setType(columnDef.getType()); if (columnDef.getLength() != null) { - setScale(columnDef.getLength()); - } else if (columnDef.getScale() != null) { - setScale(columnDef.getScale()); + setPrecision(columnDef.getLength()); + } else if (columnDef.getPrecision() != null) { + setPrecision(columnDef.getScale()); } - setPrecision(columnDef.getPrecision()); + setScale(columnDef.getScale()); } public boolean isNullable() { @@ -74,12 +75,21 @@ public class ColumnModel implements Serializable { this.nullable = nullable; } - public boolean isOrdered() { - return ordered; + public boolean isAutoIncrement() { + return autoIncrement; } - public void setOrdered(boolean ordered) { - this.ordered = ordered; + public void setAutoIncrement(boolean autoIncrement) { + this.autoIncrement = autoIncrement; + } + + public void setAutoIncrement(TAttribute columnDef) { + TAttributetag tag = columnDef.getTags().get("AutoNum"); + if (tag != null && "True".equals(tag.getValue())) { + this.autoIncrement = true; + } else { + this.autoIncrement = false; + } } private String defaultValue; @@ -143,17 +153,17 @@ public class ColumnModel implements Serializable { public String getDefinition() { StringBuilder b = new StringBuilder(); b.append(_type); - if (_scale != null) { - b.append("(").append(_scale); - if (_precision != null) { - b.append(",").append(_precision); + if (_precision != null) { + b.append("(").append(_precision); + if (_scale != null) { + b.append(",").append(_scale); } b.append(")"); } if (!isNullable()) { b.append(" NOT NULL"); } - if (isOrdered()) { + if (isAutoIncrement()) { b.append(" AUTO_INCREMENT"); } return b.toString(); -- 2.11.0