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>