svnno****@sourc*****
svnno****@sourc*****
2008年 11月 4日 (火) 02:03:22 JST
Revision: 2073 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=jiemamy&view=rev&rev=2073 Author: daisuke_m Date: 2008-11-04 02:03:22 +0900 (Tue, 04 Nov 2008) Log Message: ----------- 出力XMLの調整。 Modified Paths: -------------- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/CollectionXmlElement.java artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ColumnXmlElement.java artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ConstraintXmlElement.java artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DataTypeXmlElement.java artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DomainXmlElement.java artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/XmlElement.java -------------- next part -------------- Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -154,7 +154,8 @@ if (element.isEmptyElement()) { dataWriter.emptyElement("", element.getName(), element.getName(), element.getAttributes()); } else { - dataWriter.dataElement("", element.getName(), element.toString()); + dataWriter.dataElement("", element.getName(), element.getName(), element.getAttributes(), element + .toString()); } element.setState(ElementState.FINISHED); xmlStack.pop(); Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/CollectionXmlElement.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/CollectionXmlElement.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/CollectionXmlElement.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -92,7 +92,7 @@ } else if (content instanceof DomainModel) { result = new DomainXmlElement(null, (DomainModel) content, byReference); } else if (content instanceof DataType) { - result = new DataTypeXmlElement(null, (DataType) content, byReference); + result = new DataTypeXmlElement((DataType) content, byReference); } else if (content instanceof ForeignKeyModel) { result = new ForeignKeyXmlElement(null, (ForeignKeyModel) content, byReference); } else if (content instanceof ForeignKeyMapping) { @@ -100,7 +100,7 @@ } else if (content instanceof CheckConstraintModel) { result = new CheckConstraintXmlElement(null, (CheckConstraintModel) content, byReference); } else if (content instanceof Constraint) { - result = new ConstraintXmlElement(null, (Constraint) content, byReference); + result = new ConstraintXmlElement((Constraint) content, byReference); } else { result = new XmlElement(null, content, byReference); } Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ColumnXmlElement.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ColumnXmlElement.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ColumnXmlElement.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -52,7 +52,7 @@ addAttribute("id", columnModel.getId().toString()); queue.add(new XmlElement("name", columnModel.getName())); queue.add(new XmlElement("logicalName", columnModel.getLogicalName())); - queue.add(new DataTypeXmlElement("dataType", columnModel.getDataType())); + queue.add(new DataTypeXmlElement(columnModel.getDataType())); queue.add(new XmlElement("defaultValue", columnModel.getDefaultValue())); queue.add(new CollectionXmlElement("constraints", columnModel.getConstraints())); queue.add(new XmlElement("simpleIndex", columnModel.isSimpleIndex())); Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ConstraintXmlElement.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ConstraintXmlElement.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/ConstraintXmlElement.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -32,19 +32,18 @@ * @param constraint * @category instance creation */ - public ConstraintXmlElement(String name, Constraint constraint) { - this(name, constraint, false); + public ConstraintXmlElement(Constraint constraint) { + this(constraint, false); } /** * コンストラクタ。 - * @param name * @param constraint * @param byReference * @category instance creation */ - public ConstraintXmlElement(String name, Constraint constraint, boolean byReference) { - super(name, constraint, byReference); + public ConstraintXmlElement(Constraint constraint, boolean byReference) { + super("constraint", constraint, byReference, true); if (byReference) { addAttribute("ref", constraint.getId().toString()); Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DataTypeXmlElement.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DataTypeXmlElement.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DataTypeXmlElement.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -21,6 +21,7 @@ import org.jiemamy.core.model.datatype.adapter.PrecisionedDataTypeAdapter; import org.jiemamy.core.model.datatype.adapter.SizedDataTypeAdapter; import org.jiemamy.core.model.datatype.adapter.TimezonedDataTypeAdapter; +import org.jiemamy.spec.model.DomainModel; import org.jiemamy.spec.model.datatype.DataType; /** @@ -35,21 +36,21 @@ * @param dataType * @category instance creation */ - public DataTypeXmlElement(String name, DataType dataType) { - this(name, dataType, false); + public DataTypeXmlElement(DataType dataType) { + this(dataType, false); } /** * コンストラクタ。 - * @param name * @param dataType * @param byReference * @category instance creation */ - public DataTypeXmlElement(String name, DataType dataType, boolean byReference) { - super(name == null ? "dataType" : name, dataType, byReference); + public DataTypeXmlElement(DataType dataType, boolean byReference) { + super("dataType", dataType, byReference || dataType instanceof DomainModel, + dataType instanceof DomainModel == false); - if (byReference) { + if (dataType instanceof DomainModel || byReference) { addAttribute("ref", dataType.getId().toString()); } else { addAttribute("id", dataType.getId().toString()); Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DomainXmlElement.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DomainXmlElement.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/DomainXmlElement.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -52,7 +52,7 @@ addAttribute("id", domainModel.getId().toString()); queue.add(new XmlElement("name", domainModel.getName())); queue.add(new XmlElement("logicalName", domainModel.getLogicalName())); - queue.add(new DataTypeXmlElement("dataType", domainModel.getDataType())); + queue.add(new DataTypeXmlElement(domainModel.getDataType())); queue.add(new XmlElement("defaultValue", domainModel.getDefaultValue())); queue.add(new CollectionXmlElement("constraints", domainModel.getConstraints())); queue.add(new XmlElement("simpleIndex", domainModel.isSimpleIndex())); Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/XmlElement.java =================================================================== --- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/XmlElement.java 2008-11-03 17:02:59 UTC (rev 2072) +++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/XmlElement.java 2008-11-03 17:03:22 UTC (rev 2073) @@ -78,7 +78,7 @@ * @category instance creation */ public XmlElement(String name, Object content) { - this(name, content, false); + this(name, content, false, false); } /** @@ -89,15 +89,30 @@ * @category instance creation */ public XmlElement(String name, Object content, boolean byReference) { - this.name = name == null ? ClassUtils.getShortClassName(content, "null") : name; - if (byReference == false) { + this(name, content, byReference, false); + } + + /** + * コンストラクタ。 + * @param name + * @param content + * @param byReference + * @param useClassAttribute + * @category instance creation + */ + public XmlElement(String name, Object content, boolean byReference, boolean useClassAttribute) { + this.name = name == null ? ClassUtils.getShortClassName(content.getClass()) : name; + + if (useClassAttribute) { + addAttribute("class", content.getClass().getName()); + } else if (byReference == false) { this.content = content; } } public void addAttribute(String key, String value) { // void addAttribute(String uri, String localName, String qName, String type, String value) - attributes.addAttribute(J_URI, key, "j:" + key, "", value); + attributes.addAttribute("", key, key, "", value); } public void addAttribute(String uri, String localName, String qName, String type, String value) {