[Jiemamy-notify] commit [2073] 出力XMLの調整。

Back to archive index

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) {


Jiemamy-notify メーリングリストの案内
Back to archive index