[Jiemamy-notify] commit [2085] RootModelが直接Dialectを返すように変更。

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 11月 5日 (水) 20:14:51 JST


Revision: 2085
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=jiemamy&view=rev&rev=2085
Author:   daisuke_m
Date:     2008-11-05 20:14:51 +0900 (Wed, 05 Nov 2008)

Log Message:
-----------
RootModelが直接Dialectを返すように変更。

Modified Paths:
--------------
    artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java
    artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/RootModelImpl.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/DataWriter.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/XMLWriter.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializer.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerFactory.java
    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/MapXmlElement.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/RootXmlElement.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/TableXmlElement.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/XmlElement.java
    artemis/trunk/org.jiemamy.serializer/src/test/java/com/megginson/sax/DataWriterTest.java
    artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/AbstractNodeEditPart.java
    vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/accessor/RootModelAccessor.java
    zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/model/RootModel.java
    zeus/trunk/org.jiemamy.spec.core/src/main/resources/jiemamy-core.xsd
    zeus/trunk/org.jiemamy.spec.core/src/main/resources/sample-validation-target.xml

Added Paths:
-----------
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl.java

Removed Paths:
-------------
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl2.java
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/model/
    artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/core/


-------------- next part --------------
Modified: artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java
===================================================================
--- artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.composer/src/test/java/org/jiemamy/composer/exporter/SqlExporterTest.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -64,14 +64,14 @@
 		
 		RootModel model = JiemamyModelFactory.createRoot().init();
 		
-		model.setDialectClassName("org.jiemamy.dialect.mysql.MySqlDialect");
-		
 		URLClassLoader classLoader = new URLClassLoader(new URL[] {
 			new File("../org.jiemamy.dialect/target/classes").toURL(),
 			new File("../org.jiemamy.dialect.mysql/target/classes").toURL()
 		});
 		
-		Dialect dialect = (Dialect) Class.forName(model.getDialectClassName(), true, classLoader).newInstance();
+		Dialect dialect =
+				(Dialect) Class.forName("org.jiemamy.dialect.mysql.MySqlDialect", true, classLoader).newInstance();
+		model.setDialect(dialect);
 		
 		BufferedReader reader = null;
 		try {

Modified: artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/RootModelImpl.java
===================================================================
--- artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/RootModelImpl.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.core/src/main/java/org/jiemamy/core/model/RootModelImpl.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -32,6 +32,7 @@
 import org.jiemamy.spec.accessor.RootModelAccessor;
 import org.jiemamy.spec.exception.CannotAppendException;
 import org.jiemamy.spec.exception.TooManyElementsException;
+import org.jiemamy.spec.extension.dialect.Dialect;
 import org.jiemamy.spec.extension.dialect.IdentifierValidator;
 import org.jiemamy.spec.model.DomainModel;
 import org.jiemamy.spec.model.JiemamyModel;
@@ -49,8 +50,8 @@
 @SuppressWarnings("serial")
 public class RootModelImpl extends AbstractModel implements RootModel, RootModelAccessor {
 	
-	/** SQL方言クラス名 */
-	private String dialectClassName;
+	/** SQL方言 */
+	private Dialect dialect;
 	
 	/** 開始スクリプト */
 	private String beginScript;
@@ -149,8 +150,8 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public String getDialectClassName() {
-		return dialectClassName;
+	public Dialect getDialect() {
+		return dialect;
 	}
 	
 	/**
@@ -272,8 +273,8 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public void setDialectClassName(String dialectClassName) {
-		this.dialectClassName = dialectClassName;
+	public void setDialect(Dialect dialect) {
+		this.dialect = dialect;
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/DataWriter.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/DataWriter.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/DataWriter.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -5,6 +5,7 @@
 import java.io.Writer;
 import java.util.Stack;
 
+import org.apache.commons.lang.StringUtils;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
@@ -74,8 +75,6 @@
 	
 	private int indentStep = 0;
 	
-	private int depth = 0;
-	
 
 	/**
 	 * Create a new data writer for standard output.
@@ -154,13 +153,14 @@
 	 */
 	@Override
 	public void emptyElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
+		stateStack.push(state);
 		state = SeenState.ELEMENT;
-		if (depth > 0) {
+		if (getDepth() > 0) {
 			super.characters(getLineSeparator());
 		}
 		doIndent();
 		super.emptyElement(uri, localName, qName, atts);
-		state = SeenState.ELEMENT;
+		state = stateStack.pop();
 	}
 	
 	/**
@@ -183,7 +183,6 @@
 	 */
 	@Override
 	public void endElement(String uri, String localName, String qName) throws SAXException {
-		depth--;
 		if (state == SeenState.ELEMENT) {
 			super.characters(getLineSeparator());
 			doIndent();
@@ -217,7 +216,6 @@
 	 */
 	@Override
 	public void reset() {
-		depth = 0;
 		state = SeenState.NOTHING;
 		stateStack = (new Stack<SeenState>());
 		super.reset();
@@ -257,12 +255,11 @@
 	public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
 		stateStack.push(SeenState.ELEMENT);
 		state = SeenState.NOTHING;
-		if (depth > 0) {
+		if (getDepth() > 0) {
 			super.characters(getLineSeparator());
 		}
 		doIndent();
 		super.startElement(uri, localName, qName, atts);
-		depth++;
 	}
 	
 	/**
@@ -273,16 +270,15 @@
 	 *            further down the chain raises an exception.
 	 */
 	private void doIndent() throws SAXException {
-		if (indentStep > 0 && depth > 0) {
-			int n = indentStep * depth;
-			char[] ch = new char[n];
-			for (int i = 0; i < n; i++) {
-				ch[i] = ' ';
-			}
-			characters(ch, 0, n);
+		if (indentStep > 0 && getDepth() > 0) {
+			characters(StringUtils.repeat(" ", indentStep * getDepth()));
 		}
 	}
 	
+	private int getDepth() {
+		return stateStack.size() - 1;
+	}
+	
 
 	private enum SeenState {
 		NOTHING, ELEMENT, DATA

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/XMLWriter.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/XMLWriter.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/com/megginson/sax/XMLWriter.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -247,16 +247,18 @@
  */
 public class XMLWriter extends XMLFilterImpl {
 	
+	/** 空属性定数 */
 	private static final Attributes EMPTY_ATTS = new AttributesImpl();
 	
-	private Map<String, String> prefixTable;
+	private Map<String, String> prefixMap;
 	
-	private Map<String, Boolean> forcedDeclTable;
+	private Map<String, Boolean> forcedDeclarations;
 	
-	private Map<String, String> doneDeclTable;
+	private Map<String, String> doneDeclerations;
 	
 	private int elementLevel = 0;
 	
+	/** 出力先Writer */
 	private Writer output;
 	
 	private NamespaceSupport nsSupport;
@@ -264,7 +266,9 @@
 	private int prefixCounter = 0;
 	
 	/**
-	 * 出力時に使用する改行コード。 デフォルトでシステムプロパティに設定されている値を使用する。
+	 * 出力時に使用する改行コード
+	 * 
+	 * デフォルトではシステムプロパティに設定されている値を使用する。
 	 */
 	private String lineSeparator = System.getProperty("line.separator");
 	
@@ -620,7 +624,7 @@
 	 * @see #setPrefix
 	 */
 	public void forceNSDecl(String uri) {
-		forcedDeclTable.put(uri, true);
+		forcedDeclarations.put(uri, true);
 	}
 	
 	/**
@@ -657,7 +661,7 @@
 	 * @see #setPrefix
 	 */
 	public String getPrefix(String uri) {
-		return prefixTable.get(uri);
+		return prefixMap.get(uri);
 	}
 	
 	/**
@@ -759,7 +763,7 @@
 	 * @see #forceNSDecl(java.lang.String,java.lang.String)
 	 */
 	public void setPrefix(String uri, String prefix) {
-		prefixTable.put(uri, prefix);
+		prefixMap.put(uri, prefix);
 	}
 	
 	/**
@@ -865,13 +869,13 @@
 		if (prefix != null) {
 			return prefix;
 		}
-		prefix = doneDeclTable.get(uri);
+		prefix = doneDeclerations.get(uri);
 		if (prefix != null
 				&& ((isElement == false || defaultNS != null) && "".equals(prefix) || nsSupport.getURI(prefix) != null)) {
 			prefix = null;
 		}
 		if (prefix == null) {
-			prefix = prefixTable.get(uri);
+			prefix = prefixMap.get(uri);
 			if (prefix != null
 					&& ((isElement == false || defaultNS != null) && "".equals(prefix) || nsSupport.getURI(prefix) != null)) {
 				prefix = null;
@@ -891,7 +895,7 @@
 			prefix = "__NS" + ++prefixCounter;
 		}
 		nsSupport.declarePrefix(prefix, uri);
-		doneDeclTable.put(uri, prefix);
+		doneDeclerations.put(uri, prefix);
 		return prefix;
 	}
 	
@@ -900,7 +904,7 @@
 	 * Namespaces all appear.
 	 */
 	private void forceNSDecls() {
-		for (String prefix : forcedDeclTable.keySet()) {
+		for (String prefix : forcedDeclarations.keySet()) {
 			doPrefix(prefix, null, true);
 		}
 	}
@@ -915,9 +919,9 @@
 	private void init(Writer writer) {
 		setOutput(writer);
 		nsSupport = (new NamespaceSupport());
-		prefixTable = (new HashMap<String, String>());
-		forcedDeclTable = (new HashMap<String, Boolean>());
-		doneDeclTable = (new HashMap<String, String>());
+		prefixMap = (new HashMap<String, String>());
+		forcedDeclarations = (new HashMap<String, Boolean>());
+		doneDeclerations = (new HashMap<String, String>());
 	}
 	
 	/**

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -1,5 +1,8 @@
 package org.jiemamy.core.model;
 
+import java.io.File;
+import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -12,6 +15,7 @@
 import org.jiemamy.spec.exception.ElementNotFoundException;
 import org.jiemamy.spec.exception.JiemamyRuntimeException;
 import org.jiemamy.spec.exception.TooManyElementsException;
+import org.jiemamy.spec.extension.dialect.Dialect;
 import org.jiemamy.spec.model.ColumnModel;
 import org.jiemamy.spec.model.DomainModel;
 import org.jiemamy.spec.model.RootModel;
@@ -55,12 +59,29 @@
 	 * テスト用モデルを生成する。
 	 * @return モデル
 	 */
+	/**
+	 * TODO for daisuke
+	 * @return
+	 */
 	public RootModel createModel() {
 		JiemamyModelFactory.init(new S2FactoryStrategy("jiemamy-view.dicon"));
 		int offset = 50;
 		
+		Dialect dialect;
+		try {
+			URLClassLoader classLoader = new URLClassLoader(new URL[] {
+				new File("../org.jiemamy.dialect/target/classes").toURL(),
+				new File("../org.jiemamy.dialect.mysql/target/classes").toURL()
+			});
+			
+			dialect =
+					(Dialect) Class.forName("org.jiemamy.dialect.mysql.MySqlDialect", true, classLoader).newInstance();
+		} catch (Exception e) {
+			throw new RuntimeException(e);
+		}
+		
 		rootModel = JiemamyModelFactory.createRoot().init();
-		rootModel.setDialectClassName("org.jiemamy.dialect.mysql.MySqlDialect"); // MySQLDialect.class.getName()	
+		rootModel.setDialect(dialect);
 		rootModel.setBeginScript("BEGIN;");
 		rootModel.setEndScript("COMMIT;");
 		rootModel.setDescription("シリアライゼーションイメージ");

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializer.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializer.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializer.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -36,7 +36,7 @@
 	 * @return デシリアライズしたRootModel
 	 * @throws SerializationException デシリアライズに失敗した時
 	 */
-	RootModel deserialize(InputStream in) throws SerializationException;
+	RootModel deserialize(InputStream in);
 	
 	/**
 	 * RootModelをInputStreamにシリアライズする。
@@ -44,6 +44,6 @@
 	 * @return シリアライズしたInputStream
 	 * @throws SerializationException シリアライズに失敗した時
 	 */
-	InputStream serialize(RootModel rootModel) throws SerializationException;
+	InputStream serialize(RootModel rootModel);
 	
 }

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerFactory.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerFactory.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerFactory.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -34,7 +34,7 @@
 	 */
 	public static JiemamySerializer getInstance() {
 		if (singleton == null) {
-			singleton = (new JiemamySerializerImpl2());
+			singleton = (new JiemamySerializerImpl());
 		}
 		return singleton;
 	}

Copied: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl.java (from rev 2083, artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl2.java)
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
+ * Created on 2008/10/13
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.serializer;
+
+import java.io.InputStream;
+
+import org.jiemamy.spec.model.RootModel;
+
+/**
+ * TODO for daisuke
+ * @author daisuke
+ */
+public class JiemamySerializerImpl implements JiemamySerializer {
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public RootModel deserialize(InputStream in) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+	
+	/**
+	 * {@inheritDoc}
+	 */
+	public InputStream serialize(RootModel rootModel) {
+		return new ModelInputStream(rootModel);
+	}
+	
+}


Property changes on: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Deleted: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl2.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl2.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/JiemamySerializerImpl2.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -1,48 +0,0 @@
-/*
- * Copyright 2007-2008 MIYAMOTO Daisuke, jiemamy.org and the Others.
- * Created on 2008/10/13
- *
- * This file is part of Jiemamy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
- */
-package org.jiemamy.serializer;
-
-import java.io.InputStream;
-
-import org.apache.commons.lang.SerializationException;
-
-import org.jiemamy.spec.model.RootModel;
-
-/**
- * TODO for daisuke
- * @author daisuke
- */
-public class JiemamySerializerImpl2 implements JiemamySerializer {
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public RootModel deserialize(InputStream in) throws SerializationException {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	
-	/**
-	 * {@inheritDoc}
-	 */
-	public InputStream serialize(RootModel rootModel) throws SerializationException {
-		return new ModelInputStream(rootModel);
-	}
-	
-}

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-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/ModelWriter.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -74,7 +74,7 @@
 	 */
 	public ModelWriter(RootModel rootModel, Queue<Byte> resourceQueue) {
 		this.resourceQueue = resourceQueue;
-		dataWriter.setPrefix(XmlElement.J_URI, "");
+		dataWriter.setPrefix(XmlElement.CORE_URI, "");
 //		dataWriter.setPrefix(EVENT_NAMESPACE, "event");
 //		dataWriter.setPrefix(VIEW_NAMESPACE, "view");
 		dataWriter.setIndentStep(2);

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-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/CollectionXmlElement.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -68,12 +68,6 @@
 		}
 	}
 	
-	/**
-	 * TODO for daisuke
-	 * @param content
-	 * @param byReference
-	 * @return
-	 */
 	private XmlElement newElement(Object content, boolean byReference) {
 		XmlElement result;
 		

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/MapXmlElement.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/MapXmlElement.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/MapXmlElement.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -66,12 +66,6 @@
 		}
 	}
 	
-	/**
-	 * TODO for daisuke
-	 * @param content
-	 * @param byReference
-	 * @return
-	 */
 	private XmlElement newElement(Object content, boolean byReference) {
 		XmlElement result;
 		

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/RootXmlElement.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/RootXmlElement.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/RootXmlElement.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -50,9 +50,9 @@
 		// xsi:schemaLocation="http://jiemamy.org/xml/ns/core jiemamy-core.xsd"
 		// という属性を出したい…。
 		
-		addAttribute("", "xmlns", "xmlns", "CDATA", J_URI);
+		addAttribute("", "xmlns", "xmlns", "CDATA", CORE_URI);
 		addAttribute("", "xmlns:xsi", "xsi", "CDATA", XSI_URI);
-		addAttribute(XSI_URI, "schemaLocation", "", "CDATA", J_URI + " jiemamy-core.xsd");
+		addAttribute(XSI_URI, "schemaLocation", "", "CDATA", CORE_URI + " jiemamy-core.xsd");
 		
 //		addAttribute("", "xmlns", "xmlns", "CDATA", J_URI);
 //		addAttribute("", "xsi", "xmlns:xsi", "CDATA", XSI_URI);
@@ -63,7 +63,7 @@
 		} else {
 			addAttribute("id", rootModel.getId().toString());
 			
-			queue.add(new XmlElement("dialectClass", rootModel.getDialectClassName()));
+			queue.add(new XmlElement("dialectClass", rootModel.getDialect(), false, true));
 			queue.add(new XmlElement("schemaName", rootModel.getSchemaName()));
 			queue.add(new XmlElement("beginScript", rootModel.getBeginScript()));
 			queue.add(new XmlElement("endScript", rootModel.getEndScript()));

Modified: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/TableXmlElement.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/TableXmlElement.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/TableXmlElement.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -72,7 +72,6 @@
 	
 	/**
 	 * コンストラクタ。
-	 * @param name
 	 * @param tableModel
 	 * @param byReference
 	 * @category instance creation

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-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/serializer/element/XmlElement.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -38,8 +38,10 @@
 	
 	public static final String XSI_URI = "http://www.w3.org/2001/XMLSchema-instance";
 	
-	public static final String J_URI = "http://jiemamy.org/xml/ns/core";
+	public static final String CORE_URI = "http://jiemamy.org/xml/ns/core";
 	
+	public static final String VIEW_URI = "http://jiemamy.org/xml/ns/view";
+	
 	/** 
 	 * 未出力エレメントのキュー
 	 * 

Modified: artemis/trunk/org.jiemamy.serializer/src/test/java/com/megginson/sax/DataWriterTest.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/test/java/com/megginson/sax/DataWriterTest.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/test/java/com/megginson/sax/DataWriterTest.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -54,7 +54,7 @@
 		w.endDocument();
 		
 		StrBuilder sb = new StrBuilder();
-		sb.appendln("<?xml version=\"1.0\" standalone=\"yes\"?>");
+		sb.appendln("<?xml version=\"1.0\"?>");
 		sb.appendln("<foo>");
 		sb.appendln("  <bar>1</bar>");
 		sb.appendln("  <bar>2</bar>");

Modified: artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ artemis/trunk/org.jiemamy.serializer/src/test/java/org/jiemamy/serializer/ModelInputStreamTest.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -21,7 +21,10 @@
 import static org.junit.Assert.assertEquals;
 
 import java.io.BufferedReader;
+import java.io.File;
 import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLClassLoader;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.text.StrBuilder;
@@ -33,6 +36,7 @@
 import org.jiemamy.core.model.typedef.datatype.impl.TimestampDataTypeMock;
 import org.jiemamy.core.model.typedef.datatype.impl.VarcharDataTypeMock;
 import org.jiemamy.creator.JiemamyModelFactory;
+import org.jiemamy.spec.extension.dialect.Dialect;
 import org.jiemamy.spec.model.ColumnModel;
 import org.jiemamy.spec.model.RootModel;
 import org.jiemamy.spec.model.node.TableModel;
@@ -51,8 +55,16 @@
 	public void testRead() throws Exception {
 		JiemamyModelFactory.init(new S2FactoryStrategy("jiemamy-view.dicon"));
 		
+		URLClassLoader classLoader = new URLClassLoader(new URL[] {
+			new File("../org.jiemamy.dialect/target/classes").toURL(),
+			new File("../org.jiemamy.dialect.mysql/target/classes").toURL()
+		});
+		
+		Dialect dialect =
+				(Dialect) Class.forName("org.jiemamy.dialect.mysql.MySqlDialect", true, classLoader).newInstance();
+		
 		RootModel rootModel = JiemamyModelFactory.createRoot().init();
-		rootModel.setDialectClassName("org.jiemamy.dialect.mysql.MySqlDialect"); // MySQLDialect.class.getName()	
+		rootModel.setDialect(dialect);
 		rootModel.setBeginScript("BEGIN;");
 		rootModel.setEndScript("COMMIT;");
 		rootModel.setDescription("シリアライゼーションイメージ");

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/AbstractNodeEditPart.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/AbstractNodeEditPart.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/editor/editpart/diagram/AbstractNodeEditPart.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -21,7 +21,6 @@
 import java.util.List;
 import java.util.Map;
 
-import org.dom4j.tree.AbstractNode;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.draw2d.ChopboxAnchor;
 import org.eclipse.draw2d.ConnectionAnchor;
@@ -54,7 +53,7 @@
 import org.jiemamy.spec.view.model.geometory.JmRectangle;
 
 /**
- * {@link AbstractNode}に対するDiagram用EditPart(コントローラ)の抽象クラス。
+ * {@link AbstractNodeModel}に対するDiagram用EditPart(コントローラ)の抽象クラス。
  * @author daisuke
  */
 public abstract class AbstractNodeEditPart extends AbstractGraphicalEditPart implements ModelChangeListener,

Modified: vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ vesta/trunk/org.jiemamy.eclipse/src/main/java/org/jiemamy/eclipse/wizard/NewDiagramWizard.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -34,7 +34,7 @@
 import org.jiemamy.creator.JiemamyModelFactory;
 import org.jiemamy.eclipse.utils.ExceptionHandler;
 import org.jiemamy.serializer.JiemamySerializer;
-import org.jiemamy.serializer.impl.JiemamySerializerStab;
+import org.jiemamy.serializer.JiemamySerializerImpl;
 import org.jiemamy.spec.model.RootModel;
 
 /**
@@ -124,7 +124,7 @@
 			setTitle(Messages.Wizard_Title);
 			setMessage(Messages.Wizard_Message);
 //			setFileName("jiemamy.jer");
-			serializer = (new JiemamySerializerStab()); // FIXME serializer完成し次第、Implに切り替え。
+			serializer = (new JiemamySerializerImpl()); // FIXME serializer完成し次第、Implに切り替え。
 		}
 		
 		/**

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/accessor/RootModelAccessor.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/accessor/RootModelAccessor.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/accessor/RootModelAccessor.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -20,6 +20,7 @@
 
 import java.util.List;
 
+import org.jiemamy.spec.extension.dialect.Dialect;
 import org.jiemamy.spec.model.DomainModel;
 import org.jiemamy.spec.model.dataset.InsertDataSetModel;
 import org.jiemamy.spec.model.node.AbstractNodeModel;
@@ -49,10 +50,10 @@
 	String getDescription();
 	
 	/**
-	 * SQL方言クラス名を取得する。
-	 * @return SQL方言クラス名
+	 * SQL方言を取得する。
+	 * @return SQL方言
 	 */
-	String getDialectClassName();
+	Dialect getDialect();
 	
 	/**
 	 * ドメインのリストを取得する。
@@ -103,10 +104,10 @@
 	void setDescription(String description);
 	
 	/**
-	 * SQL方言クラス名を設定する。
-	 * @param dialectClassName SQL方言クラス名
+	 * SQL方言を設定する。
+	 * @param dialect SQL方言
 	 */
-	void setDialectClassName(String dialectClassName);
+	void setDialect(Dialect dialect);
 	
 	/**
 	 * ドメインのリストを設定する。

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/model/RootModel.java
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/model/RootModel.java	2008-11-05 11:13:40 UTC (rev 2084)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/java/org/jiemamy/spec/model/RootModel.java	2008-11-05 11:14:51 UTC (rev 2085)
@@ -23,6 +23,7 @@
 import org.jiemamy.spec.exception.CannotAppendException;
 import org.jiemamy.spec.exception.ElementNotFoundException;
 import org.jiemamy.spec.exception.TooManyElementsException;
+import org.jiemamy.spec.extension.dialect.Dialect;
 import org.jiemamy.spec.extension.dialect.IdentifierValidator;
 import org.jiemamy.spec.model.connection.AbstractConnectionModel;
 import org.jiemamy.spec.model.connection.ForeignKeyModel;
@@ -89,10 +90,10 @@
 	String getDescription();
 	
 	/**
-	 * SQL方言クラス名を取得する。
-	 * @return SQL方言クラス名
+	 * SQL方言を取得する。
+	 * @return SQL方言
 	 */
-	String getDialectClassName();
+	Dialect getDialect();
 	
 	/**
 	 * ドメインのリストを取得する。
@@ -196,10 +197,10 @@
 	void setDescription(String description);
 	
 	/**
-	 * SQL方言クラス名を設定する。
-	 * @param dialectClassName SQL方言クラス名
+	 * SQL方言を設定する。
+	 * @param dialect SQL方言
 	 */
-	void setDialectClassName(String dialectClassName);
+	void setDialect(Dialect dialect);
 	
 	/**
 	 * 終了スクリプトを設定する。

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/resources/jiemamy-core.xsd
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/resources/jiemamy-core.xsd	2008-11-05 11:13:40 UTC (rev 2084)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/resources/jiemamy-core.xsd	2008-11-05 11:14:51 UTC (rev 2085)
@@ -15,7 +15,11 @@
 	<xsd:element name="rootModel">
 		<xsd:complexType>
 			<xsd:sequence maxOccurs="1" minOccurs="1">
-				<xsd:element name="dialectClass" type="fqcnType" />
+				<xsd:element name="dialect">
+					<xsd:complexType>
+						<xsd:attribute name="class" type="fqcnType" use="required" />
+					</xsd:complexType>
+				</xsd:element>
 				<xsd:element name="schemaName" type="xsd:string" minOccurs="0" />
 				<xsd:element ref="beginScript" minOccurs="0" />
 				<xsd:element ref="endScript" minOccurs="0" />

Modified: zeus/trunk/org.jiemamy.spec.core/src/main/resources/sample-validation-target.xml
===================================================================
--- zeus/trunk/org.jiemamy.spec.core/src/main/resources/sample-validation-target.xml	2008-11-05 11:13:40 UTC (rev 2084)
+++ zeus/trunk/org.jiemamy.spec.core/src/main/resources/sample-validation-target.xml	2008-11-05 11:14:51 UTC (rev 2085)
@@ -1,10 +1,10 @@
-<?xml version="1.0" standalone="yes"?>
+<?xml version="1.0"?>
 <rootModel id="d5a96af3-b1e9-4285-a8ef-c491ce5ae308"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://jiemamy.org/xml/ns/core jiemamy-core.xsd"
 xmlns="http://jiemamy.org/xml/ns/core"
 xmlns:view="http://jiemamy.org/xml/ns/view">
-  <dialectClass>org.jiemamy.dialect.mysql.MySqlDialect</dialectClass>
+  <dialect class="org.jiemamy.dialect.mysql.MySqlDialect"/>
   <schemaName>FOO</schemaName>
   <beginScript>BEGIN;</beginScript>
   <endScript>COMMIT;</endScript>


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