svnno****@sourc*****
svnno****@sourc*****
2009年 3月 30日 (月) 01:37:28 JST
Revision: 3027 http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=3027 Author: daisuke_m Date: 2009-03-30 01:37:28 +0900 (Mon, 30 Mar 2009) Log Message: ----------- ドキュメント記述。 Modified Paths: -------------- metis/trunk/.settings/org.eclipse.jdt.core.prefs metis/trunk/build.xml metis/trunk/pom.xml metis/trunk/src/docbook/userguide/editor-reference.xml metis/trunk/src/main/java/com/docbook/extract/Extractor.java Added Paths: ----------- metis/trunk/src/docbook/userguide/api-quickstart.xml metis/trunk/src/docbook/userguide/editor-quickstart.xml metis/trunk/src/docbook/userguide/section_api_conditions.xml metis/trunk/src/docbook/userguide/section_editor_conditions.xml metis/trunk/src/test/java/org/jiemamy/documents/JiemamyTest.java Removed Paths: ------------- metis/trunk/src/docbook/userguide/quickstart.xml metis/trunk/src/docbook/userguide/section_conditions.xml -------------- next part -------------- Modified: metis/trunk/.settings/org.eclipse.jdt.core.prefs =================================================================== --- metis/trunk/.settings/org.eclipse.jdt.core.prefs 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/.settings/org.eclipse.jdt.core.prefs 2009-03-29 16:37:28 UTC (rev 3027) @@ -1,5 +1,12 @@ -#Tue Mar 24 12:40:09 JST 2009 +#Sat Mar 28 16:21:57 JST 2009 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 Modified: metis/trunk/build.xml =================================================================== --- metis/trunk/build.xml 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/build.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -86,12 +86,16 @@ <target name="all" depends="build-conf, extract-codes" description="--> Build all documentation"> <ant antfile="${dbf.basedir}/build-docbook.xml" target="all"> <property name="docbook.dir" value="userguide"/> - <property name="docbook.file" value="quickstart"/> + <property name="docbook.file" value="editor-quickstart"/> </ant> <ant antfile="${dbf.basedir}/build-docbook.xml" target="all"> <property name="docbook.dir" value="userguide"/> <property name="docbook.file" value="editor-reference"/> </ant> + <ant antfile="${dbf.basedir}/build-docbook.xml" target="all"> + <property name="docbook.dir" value="userguide"/> + <property name="docbook.file" value="api-quickstart"/> + </ant> </target> <!-- ======================================================================== --> @@ -109,21 +113,26 @@ <!-- == Build only PDF docs == --> <!-- == == --> <!-- ======================================================================== --> - <target name="quickstart" depends="extract-codes"> - + <target name="editor-quickstart" depends="build-conf, extract-codes"> <ant antfile="${dbf.basedir}/build-docbook.xml" target="pdf"> <property name="docbook.dir" value="userguide"/> - <property name="docbook.file" value="quickstart"/> + <property name="docbook.file" value="editor-quickstart"/> </ant> </target> - <target name="editor-reference" depends="extract-codes"> - + <target name="editor-reference" depends="build-conf, extract-codes"> <ant antfile="${dbf.basedir}/build-docbook.xml" target="pdf"> <property name="docbook.dir" value="userguide"/> <property name="docbook.file" value="editor-reference"/> </ant> </target> - <target name="build-pdf" depends="build-conf, quickstart, editor-reference" description="--> Build PDF Documentation"> + <target name="api-quickstart" depends="build-conf, extract-codes"> + <ant antfile="${dbf.basedir}/build-docbook.xml" target="pdf"> + <property name="docbook.dir" value="userguide"/> + <property name="docbook.file" value="api-quickstart"/> + </ant> </target> + + <target name="build-pdf" depends="editor-quickstart, editor-reference, api-quickstart" description="--> Build PDF Documentation"> + </target> </project> Modified: metis/trunk/pom.xml =================================================================== --- metis/trunk/pom.xml 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/pom.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -114,6 +114,11 @@ <artifactId>jiemamy-view</artifactId> <version>0.2.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.jiemamy</groupId> + <artifactId>jiemamy-dialect-mysql</artifactId> + <version>0.2.0-SNAPSHOT</version> + </dependency> </dependencies> <reporting> <plugins> Added: metis/trunk/src/docbook/userguide/api-quickstart.xml =================================================================== --- metis/trunk/src/docbook/userguide/api-quickstart.xml (rev 0) +++ metis/trunk/src/docbook/userguide/api-quickstart.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> +<book lang="ja" xmlns:xi="http://www.w3.org/2001/XInclude"> + <title>Jiemamy API クイックスタートガイド</title> + <titleabbrev>APIクイックスタート</titleabbrev> + <bookinfo> + <mediaobject> + <imageobject> + <imagedata fileref="images/jiemamy_logo.png"/> + </imageobject> + </mediaobject> + <copyright> + <year>2009</year> + <holder>Jiemamy Project and the Others</holder> + </copyright> + <abstract> + <title>概要</title> + <para>Jiemamy APIの基礎的な使用方法を、実例に沿いながら説明します。</para> + </abstract> + <productname>Jiemamy</productname> + <releaseinfo>version 0.2</releaseinfo> + </bookinfo> + + <toc/> + + <preface> + <title>まえがき</title> + <para>このチュートリアルでは、簡単なJiemamyモデルの操作を通じて、Jiemamy APIの基本的な使い方を簡潔に紹介します。 +このチュートリアルを終了すれば、Jiemamy APIを利用したJiemamyモデル編集に関する基本的な知識が身に付きます。 + +このチュートリアルを完了するのに要する時間は約(TODO)分です。 + </para> + <xi:include href="section_license1.xml" /> + <xi:include href="section_license2.xml" /> + </preface> + + <chapter id="intro"> + <title>はじめに</title> + <sect1> + <title>概要</title> + <para>Jiemamyは、Webアプリケーションの開発に伴うデータベーススナップショット(スキーマと初期データ等)の管理スイートを提供します。 +GUIエディタによるER図の管理を通じてDBの状態・履歴を管理し、データベースのリファクタリングなどをサポートします。 + </para> + </sect1> + <xi:include href="section_api_conditions.xml" /> + </chapter> + + <chapter id="basic"> + <title>Jiemamyの基本型</title> + <para>(TODO)</para> + <sect1> + <title>Jiemamyコンテキスト</title> + <para>Jiemamyの使用を開始する際には、Jiemamyクラスのインスタンスが必要となります。このインスタンスはJiemamyコンテキストと呼ばれ、 +Jiemamyのインスタンス空間を表します。Jiemamyモデルは、必ずいずれかのインスタンス空間に属し、異なったインスタンス空間に属しているモデル同士が +関連(親子関係や参照関係)を持つことができません。 + </para> + <para>Jiemamyコンテキストは、以下のように取得します。</para> + <example> + <title>Jiemamyコンテキストの取得</title> + <xi:include href="../../../target/codes/newJiemamy.xml" /> + </example> + <para>このメソッドを呼び出した結果、毎回異なったコンテキストのインスタンスが生成されます。</para> + </sect1> + <sect1> + <title>Jiemamyファクトリ</title> + <para>Jiemamyのモデルインスタンス等、新しいJiemamy関係のインスタンスは JiemamyFactory から取得します。 + </para> + <para>Jiemamyファクトリは、コンテキストから以下のように取得します。</para> + <example> + <title>Jiemamyファクトリの取得</title> + <xi:include href="../../../target/codes/getFactory.xml" /> + </example> + <para>ファクトリは、様々なJiemamyモデルのインスタンスを生成します。テーブルやカラム等はJiemamyFactory#newModel(Class)メソッドを +使用して取得します。以下の例では、テーブルを新規に作成しています。 + </para> + <example> + <title>新しいモデルインスタンスの取得</title> + <xi:include href="../../../target/codes/newTable.xml" /> + </example> + <para>Jiemamyのインスタンスは、一部の例外を除いて new 演算子によって取得しません。ほとんどのインスタンスは、このファクトリから取得します。 +java.lang.Classを鋳型情報として、インスタンスを鋳造するイメージです。 + </para> + <para>また、データ型だけは特殊で、JiemamyFactory#newDataType(DataTypeMold)メソッドを使用します。DataType型のインスタンスは +java.lang.Classだけでは生成にあたっての情報が足りないため、代りにDataTypeMold(データ型の鋳型)を使用します。データ型については、Dialect +(SQL方言)に依存する為、DataTypeMoldはDialectから取得する必要があります。この件については後述しますが、簡単にDataTypeの生成例だけを +以下に示します。 + </para> + <example> + <title>新しいDataTypeインスタンスの取得</title> + <xi:include href="../../../target/codes/newDataType.xml" /> + </example> + </sect1> + <sect1> + <title>ルートモデル</title> + <para>JiemamyファクトリからはRootModelを取得する事ができます。RootModelは、Jiemamyモデルの根となるモデルであり、全ての有効なモデルは +このモデルから辿ることができます。 + </para> + <example> + <title>ルートモデルの取得</title> + <xi:include href="../../../target/codes/getRootModel.xml" /> + </example> + </sect1> + </chapter> + + <chapter id="dialect"> + <title>Dialect(SQL方言)</title> + <para>(TODO)</para> + </chapter> + + <chapter id="buildModel"> + <title>Jiemamyのモデル構築</title> + <para>(TODO)</para> + <sect1> + <title>簡単なテーブルを作る</title> + <para>(TODO)</para> + <example> + <title>簡単なテーブルを含むモデルの構築</title> + <xi:include href="../../../target/codes/simpleTable.xml" /> + </example> + <para>このように、Jiemamyモデルは、主に以下のような手順を繰り返して構築していきます。</para> + <procedure> + <step><para>JiemamyFactoryから新しいモデルインスタンスを取得する。</para></step> + <step><para>モデルのプロパティにsetter等を使って値を設定する。この値はさらにJiemamyFactoryで生成するものかもしれません。</para></step> + <step><para>1で生成したモデルを、親となるモデルにsetter等を使って設定する。</para></step> + </procedure> + </sect1> + </chapter> + + <chapter id="serialize"> + <title>シリアライズ・デシリアライズ</title> + <para>作成したモデルは、シリアライザを使用して、XML形式で保存することができます。このXML形式はJiemamy Model Editorが利用するXML形式と +同一です。</para> + <para>シリアライズ・デシリアライズは、JiemamySerializerを使用して行うことができ、このインスタンスはJiemamy#getSerializer()メソッドで +取得する事ができます。</para> + <para>シリアライズの例を以下に示します。ここではRootModelを第二引数に与えた出力ストリームに出力しています。</para> + <example> + <title>シリアライズ</title> + <xi:include href="../../../target/codes/serialize.xml" /> + </example> + <para>また、シリアライズによって出力したXMLは、下記の例のようにデシリアライズし、RootModelを得ることができます。</para> + <example> + <title>デシリアライズ</title> + <xi:include href="../../../target/codes/deserialize.xml" /> + </example> + </chapter> + + <chapter id="compose"> + <title>インポート・エクスポート</title> + <para>作成したモデルは、インポータ・エクスポータを使用して、(TODO)</para> + </chapter> + + <chapter id="finish"> + <title>おわりに</title> + <sect1> + <title>サポートが必要な場合</title> + <para>配布ドキュメントやWebサイト上で解決できない問題に遭遇した場合は、以下のメーリングリストに質問を投稿することができます。</para> + <para>Jiemamy-usersメーリングリスト: jiema****@lists*****</para> + <para>質問を投稿する際は、以下のページを参考に投稿内容を検討してください。早期解決に繋がります。</para> + <para>技術系メーリングリストで質問するときのパターン・ランゲージ -- 「問題の解決」から「情報の共有」に至るために +<uri>http://www.hyuki.com/writing/techask.html</uri> + </para> + </sect1> + <sect1> + <title>プログラム・ドキュメントにミスを発見した場合</title> + <para>プログラム・ドキュメント等にミスを発見した際も、上記メーリングリストに投稿してください。</para> + </sect1> + </chapter> +</book> Property changes on: metis/trunk/src/docbook/userguide/api-quickstart.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: metis/trunk/src/docbook/userguide/editor-quickstart.xml (from rev 3008, metis/trunk/src/docbook/userguide/quickstart.xml) =================================================================== --- metis/trunk/src/docbook/userguide/editor-quickstart.xml (rev 0) +++ metis/trunk/src/docbook/userguide/editor-quickstart.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -0,0 +1,269 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> +<book lang="ja" xmlns:xi="http://www.w3.org/2001/XInclude"> + <title>Jiemamy クイックスタートガイド</title> + <titleabbrev>クイックスタート</titleabbrev> + <bookinfo> + <mediaobject> + <imageobject> + <imagedata fileref="images/jiemamy_logo.png"/> + </imageobject> + </mediaobject> + <copyright> + <year>2009</year> + <holder>Jiemamy Project and the Others</holder> + </copyright> + <abstract> + <title>概要</title> + <para>Jiemamy Eclipse Model Editorの基礎的な使用方法を、実例に沿いながら説明します。</para> + </abstract> + <productname>Jiemamy Eclipse Model Editor</productname> + <releaseinfo>version 0.2.0</releaseinfo> + </bookinfo> + + <toc/> + + <preface> + <title>まえがき</title> + <para>Jiemamyにようこそ。</para> + <para>このチュートリアルでは、簡単なER図の作成を通じて、Jiemamyの基本的な使い方を簡潔に紹介します。 +このチュートリアルを終了すれば、Jiemamy Eclipse Model Editorを利用したJiemamyモデル編集に関する基本的な知識が身に付きます。 + +このチュートリアルを完了するのに要する時間は約(TODO)分です。 + +このチュートリアルを終了したら、Jiemamy Eclipse Model Editorリファレンスに進む事ができます。 + </para> + <xi:include href="section_license1.xml" /> + <xi:include href="section_license2.xml" /> + </preface> + + <chapter id="intro"> + <title>はじめに</title> + <sect1> + <title>概要</title> + <para>Jiemamyは、Webアプリケーションの開発に伴うデータベーススナップショット(スキーマと初期データ等)の管理スイートを提供します。 +GUIエディタによるER図の管理を通じてDBの状態・履歴を管理し、データベースのリファクタリングなどをサポートします。 + </para> + </sect1> + <xi:include href="section_editor_conditions.xml" /> + <xi:include href="section_install.xml" /> + </chapter> + + <chapter id="basic"> + <title>基本操作0</title> + <sect1> + <title>エディタの起動と終了</title> + <para>新しくJiemamyモデルファイルを作成する場合は、File > New > Other より、Jiemamy ER Diagram を選択し、Nextボタンをクリックします。 +次の画面でファイル名を入力します。拡張子は .jer でなければなりません。 + </para> + <figure> + <title>新規Jiemamyモデルファイルの作成</title> + <screenshot> + <mediaobject><imageobject><imagedata fileref="images/open_01.png"></imagedata></imageobject></mediaobject> + </screenshot> + </figure> + <tip> + <para>ファイルの拡張子を省略した場合は、自動的に .jer を補完します。</para> + </tip> + <note> + <para>Eclipseは、プロジェクトがなければファイルを作成することができません。1つもプロジェクトが無い場合は、新規にプロジェクトを作成してください。 + </para> + </note> + <para>既存のJiemamyモデルファイルを開く場合は、Package Explorer, Navigator, Project Explorer 等より、ファイルをダブルクリックする +ことにより、エディタを開く事ができます。 + </para> + <figure> + <title>既存Jiemamyモデルファイルを開く</title> + <screenshot> + <mediaobject><imageobject><imagedata fileref="images/open_02.png"></imagedata></imageobject></mediaobject> + </screenshot> + </figure> + </sect1> + <sect1> + <title>保存</title> + <para>エディタで開いて編集を行ったファイルは、ツールバーのSaveアイコンをクリックすることにより、保存できます。編集されたファイルは、タブに表示された +ファイル名の前にアスタリスク(*)でマークがつきます。マークのないファイルは保存することができません。 + </para> + <figure> + <title>Saveアイコン</title> + <screenshot> + <mediaobject><imageobject><imagedata fileref="images/save_01.png"></imagedata></imageobject></mediaobject> + </screenshot> + </figure> + <figure> + <title>編集マーク</title> + <screenshot> + <mediaobject><imageobject><imagedata fileref="images/save_02.png"></imagedata></imageobject></mediaobject> + </screenshot> + </figure> + </sect1> + <sect1> + <title>DBの選択</title> + <para>新しいJiemamyモデルファイルを開いたら、まずこれからモデリングするスキーマを適用するデータベースを選択します。このチュートリアルでは +MySQLを使用します。エディタの背景を右クリックし、メニューからプロパティ(P)を選択します。 + </para> + <figure> + <title>エディタを右クリックしたメニューからプロパティ(P)を選択</title> + <screenshot> + <mediaobject><imageobject><imagedata fileref="images/rootEdit_01.png"></imagedata></imageobject></mediaobject> + </screenshot> + </figure> + <para>ポップアップしたダイアログのデータベースの項目を org.jiemamy.dialect.mysql.MySqlDialect に変更し、OKボタンをクリックします。</para> + <figure> + <title>データベースの選択</title> + <screenshot> + <mediaobject><imageobject><imagedata fileref="images/rootEdit_02.png"></imagedata></imageobject></mediaobject> + </screenshot> + </figure> + </sect1> + </chapter> + + <chapter id="edit-table"> + <title>基本操作1 テーブル</title> + <sect1> + <title>テーブルの追加と削除</title> + <para>(TODO)</para> + </sect1> + <sect1> + <title>テーブルの移動</title> + <para>(TODO)</para> + </sect1> + <sect1> + <title>テーブルの編集</title> + <para>(TODO)</para> + </sect1> + <sect1> + <title>カラムの追加と削除</title> + <para>(TODO)</para> + </sect1> + <sect1> + <title>カラムの編集</title> + <para>(TODO)</para> + </sect1> + </chapter> + + <chapter id="edit-fk"> + <title>基本操作2 外部キー</title> + <sect1> + <title>外部キーの追加と削除</title> + <para>(TODO)</para> + </sect1> + <sect1> + <title>外部キーの編集</title> + <para>(TODO)</para> + </sect1> + <sect1> + <title>ベンドポイント</title> + <para>(TODO)</para> + </sect1> + </chapter> + + <chapter id="export"> + <title>エクスポート</title> + <para>(TODO)</para> + </chapter> + + <chapter id="finish"> + <title>おわりに</title> + <sect1> + <title>サポートが必要な場合</title> + <para>配布ドキュメントやWebサイト上で解決できない問題に遭遇した場合は、以下のメーリングリストに質問を投稿することができます。</para> + <para>Jiemamy-usersメーリングリスト: jiema****@lists*****</para> + <para>質問を投稿する際は、以下のページを参考に投稿内容を検討してください。早期解決に繋がります。</para> + <para>技術系メーリングリストで質問するときのパターン・ランゲージ -- 「問題の解決」から「情報の共有」に至るために +<uri>http://www.hyuki.com/writing/techask.html</uri> + </para> + </sect1> + <sect1> + <title>プログラム・ドキュメントにミスを発見した場合</title> + <para>プログラム・ドキュメント等にミスを発見した際も、上記メーリングリストに投稿してください。</para> + </sect1> + </chapter> + + <chapter id="docbook-sample"> + <title>docbook syntax samples</title> + <para>以下、docbook記法のサンプル。リリースまでには消す。</para> + <sect1 id="programlisting"> + <title>including source code</title> + <xi:include href="../../../target/codes/test.xml" /> + </sect1> + <sect1> + <title>sample</title> + <para>You must include at least one chapter in your book.</para> + <para>Here is another paragraph.</para> + + <important> + <para>This is some really important text.</para> + </important> + <caution> + <para>Liberal use of <code>new</code> in loops can cause performance issues!</para> + </caution> + <warning> + <para>warning!</para> + </warning> + <tip> + <para>Look both ways before crossing the street!</para> + </tip> + <note> + <para>note!</para> + </note> + <example> + <title>Example 1</title> + <programlisting> +String something = "Something"; + </programlisting> + </example> + </sect1> + + <sect1> + <title>simplelist</title> + <simplelist type="inline"> + <member>Apples</member> + <member>Oranges</member> + <member>Bananas</member> + <member>Grapefruit</member> + <member>Black Beans</member> + </simplelist> + </sect1> + + <sect1> + <title>itemizedlist</title> + <itemizedlist> + <listitem><para>Apples - my favorite fruit.</para></listitem> + <listitem><para>Oranges - yummy, but sticky.</para></listitem> + <listitem><para>Bananas - they ripen too quickly!</para></listitem> + <listitem><para>Grapefruit - great when eaten in halves.</para></listitem> + <listitem><para>Black Beans - go well with rice.</para></listitem> + </itemizedlist> + </sect1> + + <sect1> + <title>orderedlist</title> + <orderedlist numeration="arabic"> + <listitem><para>Wake up.</para></listitem> + <listitem><para>Eat Breakfast.</para></listitem> + <listitem><para>Take a shower.</para></listitem> + <listitem><para>Contemplate my navel.</para></listitem> + <listitem><para>Go to Sleep.</para></listitem> + </orderedlist> + </sect1> + + <sect1> + <title>variablelist</title> + <variablelist> + <varlistentry> + <term>Black Beans</term> + <listitem><para>My favorite black bean recipe is black bean +soup, but they also go well with rice.</para></listitem> + </varlistentry> + <varlistentry> + <term>Apples</term> + <term>Bananas</term> + <listitem><para>You can eat them straight, but they also go +well in salads and in desserts.</para></listitem> + </varlistentry> + </variablelist> + </sect1> + </chapter> +</book> Property changes on: metis/trunk/src/docbook/userguide/editor-quickstart.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: metis/trunk/src/docbook/userguide/editor-reference.xml =================================================================== --- metis/trunk/src/docbook/userguide/editor-reference.xml 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/src/docbook/userguide/editor-reference.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -43,93 +43,8 @@ GUIエディタによるER図の管理を通じてDBの状態・履歴を管理し、データベースのリファクタリングなどをサポートします。 </para> </sect1> - <xi:include href="section_conditions.xml" /> - <sect1> - <title>インストール</title> - <para>まず、Jiemamy Model Editorのインストールを行います。</para> - <para>Eclipseのメニューバーより、Help > Software Updates > Find and install... をクリックし、ウィザードの -Search for new features to install を選択し、Next をクリックします。 - </para> - <figure> - <title>メニューバーよりFind and Install...を選択</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_01.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <figure> - <title>ウィザードの Search for new features to install を選択</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_02.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para>ウィザードの2ページ目において、Jiemamy Eclipseプラグイン配布サイトの登録を行います。New Remote Siteボタンをクリックし、 -Nameに任意の名称("Jiemamy Update Site" を推奨)を、URLに<uri>http://eclipse.jiemamy.org/release/</uri>を入力し、 -OKボタンをクリックします。 - </para> - <figure> - <title>New Remote Siteボタンをクリック</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_03.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <figure> - <title>Jiemamy Eclipseプラグイン配布サイトの登録</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_04.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para></para> - <para>たった今登録した Jiemamy Update Site にチェックが入っていることを確認し、Finishボタンをクリックします。プログレスバーの進行が完了すると -次の画面に進みます。ツリーから Jiemamy Eclipse Model Editor Feature X.X.X.XXXXXXXXXXXX (Xはバージョン番号)及び、使用予定のデータベースの -Dialectを選択します。このチュートリアルでは MySQL を使用します。(Dialectは複数インストールすることも可能です。)選択が完了したら、Nextボタンを -クリックします。(TODO GEFについて) - </para> - <figure> - <title>インストールするプラグインの選択</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_05.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para>ライセンス許諾(Apache License Version 2.0)に同意の上、I accept the terms in the licese agreements を選択し、 -Nextボタンをクリックします。 - </para> - <figure> - <title>ライセンス許諾への同意</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_06.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para>インストール先を確認し(通常、デフォルトのままで構いません)、Finishボタンをクリックします。</para> - <figure> - <title>インストール先の確認</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_07.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para>インストールするプラグインの確認がありますので、Install Allボタンをクリックします。</para> - <figure> - <title>インストールするプラグインの確認</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_08.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para>プログレスバーの進行が完了すると、Eclipseの再起動を促されます。YesボタンをクリックしてEclipseの再起動を行います。 -以上でJiemamy Eclipse Model Editorのインストールは完了です。メニューバーから Help > About Eclipse Platform を選択し、 -AboutダイアログにJiemamyのロゴが表示されていれば、インストール成功です。 - </para> - <figure> - <title>再起動確認</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_09.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <figure> - <title>インストールの成否確認</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/intro_10.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - </sect1> + <xi:include href="section_editor_conditions.xml" /> + <xi:include href="section_install.xml" /> </chapter> <chapter id="basic"> @@ -195,83 +110,5 @@ <chapter id="finish"> <title>おわりに</title> <para>(TODO)</para> -<sect1> -<title>sample</title> - <para>You must include at least one chapter in your book.</para> - <para>Here is another paragraph.</para> - - <important> - <para>This is some really important text.</para> - </important> - <caution> - <para>Liberal use of <code>new</code> in loops can cause performance issues!</para> - </caution> - <warning> - <para>warning!</para> - </warning> - <tip> - <para>Look both ways before crossing the street!</para> - </tip> - <note> - <para>note!</para> - </note> - <example> - <title>Example 1</title> - <programlisting> -String something = "Something"; - </programlisting> - </example> -</sect1> - -<sect1> -<title>simplelist</title> -<simplelist type="inline"> -<member>Apples</member> -<member>Oranges</member> -<member>Bananas</member> -<member>Grapefruit</member> -<member>Black Beans</member> -</simplelist> -</sect1> - -<sect1> -<title>itemizedlist</title> -<itemizedlist> -<listitem><para>Apples - my favorite fruit.</para></listitem> -<listitem><para>Oranges - yummy, but sticky.</para></listitem> -<listitem><para>Bananas - they ripen too quickly!</para></listitem> -<listitem><para>Grapefruit - great when eaten in halves.</para></listitem> -<listitem><para>Black Beans - go well with rice.</para></listitem> -</itemizedlist> -</sect1> - -<sect1> -<title>orderedlist</title> -<orderedlist numeration="arabic"> -<listitem><para>Wake up.</para></listitem> -<listitem><para>Eat Breakfast.</para></listitem> -<listitem><para>Take a shower.</para></listitem> -<listitem><para>Contemplate my navel.</para></listitem> -<listitem><para>Go to Sleep.</para></listitem> -</orderedlist> -</sect1> - -<sect1> -<title>variablelist</title> -<variablelist> - <varlistentry> - <term>Black Beans</term> - <listitem><para>My favorite black bean recipe is black bean -soup, but they also go well with rice.</para></listitem> - </varlistentry> - <varlistentry> - <term>Apples</term> - <term>Bananas</term> - <listitem><para>You can eat them straight, but they also go -well in salads and in desserts.</para></listitem> - </varlistentry> -</variablelist> -</sect1> - </chapter> </book> Deleted: metis/trunk/src/docbook/userguide/quickstart.xml =================================================================== --- metis/trunk/src/docbook/userguide/quickstart.xml 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/src/docbook/userguide/quickstart.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -1,269 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" - "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> -<book lang="ja" xmlns:xi="http://www.w3.org/2001/XInclude"> - <title>Jiemamy クイックスタートガイド</title> - <titleabbrev>クイックスタート</titleabbrev> - <bookinfo> - <mediaobject> - <imageobject> - <imagedata fileref="images/jiemamy_logo.png"/> - </imageobject> - </mediaobject> - <copyright> - <year>2009</year> - <holder>Jiemamy Project and the Others</holder> - </copyright> - <abstract> - <title>概要</title> - <para>Jiemamy Eclipse Model Editorの基礎的な使用方法を、実例に沿いながら説明します。</para> - </abstract> - <productname>Jiemamy Eclipse Model Editor</productname> - <releaseinfo>version 0.2.0</releaseinfo> - </bookinfo> - - <toc/> - - <preface> - <title>まえがき</title> - <para>Jiemamyにようこそ。</para> - <para>このチュートリアルでは、簡単なER図の作成を通じて、Jiemamyの基本的な使い方を簡潔に紹介します。 -このチュートリアルを終了すれば、Jiemamy Eclipse Model Editorを利用したJiemamyモデル編集に関する基本的な知識が身に付きます。 - -このチュートリアルを完了するのに要する時間は約(TODO)分です。 - -このチュートリアルを終了したら、Jiemamy Eclipse Model Editorリファレンスに進む事ができます。 - </para> - <xi:include href="section_license1.xml" /> - <xi:include href="section_license2.xml" /> - </preface> - - <chapter id="intro"> - <title>はじめに</title> - <sect1> - <title>概要</title> - <para>Jiemamyは、Webアプリケーションの開発に伴うデータベーススナップショット(スキーマと初期データ等)の管理スイートを提供します。 -GUIエディタによるER図の管理を通じてDBの状態・履歴を管理し、データベースのリファクタリングなどをサポートします。 - </para> - </sect1> - <xi:include href="section_conditions.xml" /> - <xi:include href="section_install.xml" /> - </chapter> - - <chapter id="basic"> - <title>基本操作0</title> - <sect1> - <title>エディタの起動と終了</title> - <para>新しくJiemamyモデルファイルを作成する場合は、File > New > Other より、Jiemamy ER Diagram を選択し、Nextボタンをクリックします。 -次の画面でファイル名を入力します。拡張子は .jer でなければなりません。 - </para> - <figure> - <title>新規Jiemamyモデルファイルの作成</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/open_01.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <tip> - <para>ファイルの拡張子を省略した場合は、自動的に .jer を補完します。</para> - </tip> - <note> - <para>Eclipseは、プロジェクトがなければファイルを作成することができません。1つもプロジェクトが無い場合は、新規にプロジェクトを作成してください。 - </para> - </note> - <para>既存のJiemamyモデルファイルを開く場合は、Package Explorer, Navigator, Project Explorer 等より、ファイルをダブルクリックする -ことにより、エディタを開く事ができます。 - </para> - <figure> - <title>既存Jiemamyモデルファイルを開く</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/open_02.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - </sect1> - <sect1> - <title>保存</title> - <para>エディタで開いて編集を行ったファイルは、ツールバーのSaveアイコンをクリックすることにより、保存できます。編集されたファイルは、タブに表示された -ファイル名の前にアスタリスク(*)でマークがつきます。マークのないファイルは保存することができません。 - </para> - <figure> - <title>Saveアイコン</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/save_01.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <figure> - <title>編集マーク</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/save_02.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - </sect1> - <sect1> - <title>DBの選択</title> - <para>新しいJiemamyモデルファイルを開いたら、まずこれからモデリングするスキーマを適用するデータベースを選択します。このチュートリアルでは -MySQLを使用します。エディタの背景を右クリックし、メニューからプロパティ(P)を選択します。 - </para> - <figure> - <title>エディタを右クリックしたメニューからプロパティ(P)を選択</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/rootEdit_01.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - <para>ポップアップしたダイアログのデータベースの項目を org.jiemamy.dialect.mysql.MySqlDialect に変更し、OKボタンをクリックします。</para> - <figure> - <title>データベースの選択</title> - <screenshot> - <mediaobject><imageobject><imagedata fileref="images/rootEdit_02.png"></imagedata></imageobject></mediaobject> - </screenshot> - </figure> - </sect1> - </chapter> - - <chapter id="edit-table"> - <title>基本操作1 テーブル</title> - <sect1> - <title>テーブルの追加と削除</title> - <para>(TODO)</para> - </sect1> - <sect1> - <title>テーブルの移動</title> - <para>(TODO)</para> - </sect1> - <sect1> - <title>テーブルの編集</title> - <para>(TODO)</para> - </sect1> - <sect1> - <title>カラムの追加と削除</title> - <para>(TODO)</para> - </sect1> - <sect1> - <title>カラムの編集</title> - <para>(TODO)</para> - </sect1> - </chapter> - - <chapter id="edit-fk"> - <title>基本操作2 外部キー</title> - <sect1> - <title>外部キーの追加と削除</title> - <para>(TODO)</para> - </sect1> - <sect1> - <title>外部キーの編集</title> - <para>(TODO)</para> - </sect1> - <sect1> - <title>ベンドポイント</title> - <para>(TODO)</para> - </sect1> - </chapter> - - <chapter id="export"> - <title>エクスポート</title> - <para>(TODO)</para> - </chapter> - - <chapter id="finish"> - <title>おわりに</title> - <sect1> - <title>サポートが必要な場合</title> - <para>配布ドキュメントやWebサイト上で解決できない問題に遭遇した場合は、以下のメーリングリストに質問を投稿することができます。</para> - <para>Jiemamy-usersメーリングリスト: jiema****@lists*****</para> - <para>質問を投稿する際は、以下のページを参考に投稿内容を検討してください。早期解決に繋がります。</para> - <para>技術系メーリングリストで質問するときのパターン・ランゲージ -- 「問題の解決」から「情報の共有」に至るために -<uri>http://www.hyuki.com/writing/techask.html</uri> - </para> - </sect1> - <sect1> - <title>プログラム・ドキュメントにミスを発見した場合</title> - <para>プログラム・ドキュメント等にミスを発見した際も、上記メーリングリストに投稿してください。</para> - </sect1> - </chapter> - - <chapter id="docbook-sample"> - <title>docbook syntax samples</title> - <para>以下、docbook記法のサンプル。リリースまでには消す。</para> - <sect1 id="programlisting"> - <title>including source code</title> - <xi:include href="../../../target/codes/test.xml" /> - </sect1> - <sect1> - <title>sample</title> - <para>You must include at least one chapter in your book.</para> - <para>Here is another paragraph.</para> - - <important> - <para>This is some really important text.</para> - </important> - <caution> - <para>Liberal use of <code>new</code> in loops can cause performance issues!</para> - </caution> - <warning> - <para>warning!</para> - </warning> - <tip> - <para>Look both ways before crossing the street!</para> - </tip> - <note> - <para>note!</para> - </note> - <example> - <title>Example 1</title> - <programlisting> -String something = "Something"; - </programlisting> - </example> - </sect1> - - <sect1> - <title>simplelist</title> - <simplelist type="inline"> - <member>Apples</member> - <member>Oranges</member> - <member>Bananas</member> - <member>Grapefruit</member> - <member>Black Beans</member> - </simplelist> - </sect1> - - <sect1> - <title>itemizedlist</title> - <itemizedlist> - <listitem><para>Apples - my favorite fruit.</para></listitem> - <listitem><para>Oranges - yummy, but sticky.</para></listitem> - <listitem><para>Bananas - they ripen too quickly!</para></listitem> - <listitem><para>Grapefruit - great when eaten in halves.</para></listitem> - <listitem><para>Black Beans - go well with rice.</para></listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>orderedlist</title> - <orderedlist numeration="arabic"> - <listitem><para>Wake up.</para></listitem> - <listitem><para>Eat Breakfast.</para></listitem> - <listitem><para>Take a shower.</para></listitem> - <listitem><para>Contemplate my navel.</para></listitem> - <listitem><para>Go to Sleep.</para></listitem> - </orderedlist> - </sect1> - - <sect1> - <title>variablelist</title> - <variablelist> - <varlistentry> - <term>Black Beans</term> - <listitem><para>My favorite black bean recipe is black bean -soup, but they also go well with rice.</para></listitem> - </varlistentry> - <varlistentry> - <term>Apples</term> - <term>Bananas</term> - <listitem><para>You can eat them straight, but they also go -well in salads and in desserts.</para></listitem> - </varlistentry> - </variablelist> - </sect1> - </chapter> -</book> Added: metis/trunk/src/docbook/userguide/section_api_conditions.xml =================================================================== --- metis/trunk/src/docbook/userguide/section_api_conditions.xml (rev 0) +++ metis/trunk/src/docbook/userguide/section_api_conditions.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sect1 lang="ja" xmlns:xi="http://www.w3.org/2001/XInclude"> + <title>前提条件</title> + <para>Jiemamyを初めて使用する場合は、システムに次のソフトウェアをインストールしておく必要があります。下記ソフトウェアのインストールに関しては、 +Web上の各種リソースを参照して下さい。 + </para> + <itemizedlist> + <listitem> + <para><application>Java 2 Platform Standard Edition (J2SE)</application> 5.0 以降</para> + </listitem> + </itemizedlist> +</sect1> Property changes on: metis/trunk/src/docbook/userguide/section_api_conditions.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Deleted: metis/trunk/src/docbook/userguide/section_conditions.xml =================================================================== --- metis/trunk/src/docbook/userguide/section_conditions.xml 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/src/docbook/userguide/section_conditions.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<sect1 lang="ja" xmlns:xi="http://www.w3.org/2001/XInclude"> - <title>前提条件</title> - <para>Jiemamyを初めて使用する場合は、システムに次のソフトウェアをインストールしておく必要があります。下記ソフトウェアのインストールに関しては、 -Web上の各種リソースを参照して下さい。 - </para> - <itemizedlist> - <listitem> - <para><application>Java 2 Platform Standard Edition (J2SE)</application> 5.0 以降</para> - </listitem> - <listitem> - <para><application>Eclipse 3.3</application> (Europa)以降</para> - </listitem> - </itemizedlist> - <note> - <para>以上は、Jiemamy Model Editorの動作環境です。Jiemamyを使用して作るプロジェクトに関しては、Javaのバージョンの制限はありません。 -Jiemamyは工夫次第で、Javaプロジェクト以外にも適用できる可能性があります。 - </para> - </note> - <para>また、Jiemamy Eclipse Model Editorの動作にあたっては、下記のEclipseプラグインが必要となります。インストールに関しては後述します。 - </para> - <itemizedlist> - <listitem> - <para>Eclipse Graphical Editing Framework (GEF) 3.2 以降</para> - </listitem> - </itemizedlist> -</sect1> Copied: metis/trunk/src/docbook/userguide/section_editor_conditions.xml (from rev 3008, metis/trunk/src/docbook/userguide/section_conditions.xml) =================================================================== --- metis/trunk/src/docbook/userguide/section_editor_conditions.xml (rev 0) +++ metis/trunk/src/docbook/userguide/section_editor_conditions.xml 2009-03-29 16:37:28 UTC (rev 3027) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sect1 lang="ja" xmlns:xi="http://www.w3.org/2001/XInclude"> + <title>前提条件</title> + <para>Jiemamyを初めて使用する場合は、システムに次のソフトウェアをインストールしておく必要があります。下記ソフトウェアのインストールに関しては、 +Web上の各種リソースを参照して下さい。 + </para> + <itemizedlist> + <listitem> + <para><application>Java 2 Platform Standard Edition (J2SE)</application> 5.0 以降</para> + </listitem> + <listitem> + <para><application>Eclipse 3.3</application> (Europa)以降</para> + </listitem> + </itemizedlist> + <note> + <para>以上は、Jiemamy Model Editorの動作環境です。Jiemamyを使用して作るプロジェクトに関しては、Javaのバージョンの制限はありません。 +Jiemamyは工夫次第で、Javaプロジェクト以外にも適用できる可能性があります。 + </para> + </note> + <para>また、Jiemamy Eclipse Model Editorの動作にあたっては、下記のEclipseプラグインが必要となります。インストールに関しては後述します。 + </para> + <itemizedlist> + <listitem> + <para>Eclipse Graphical Editing Framework (GEF) 3.2 以降</para> + </listitem> + </itemizedlist> +</sect1> Property changes on: metis/trunk/src/docbook/userguide/section_editor_conditions.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: metis/trunk/src/main/java/com/docbook/extract/Extractor.java =================================================================== --- metis/trunk/src/main/java/com/docbook/extract/Extractor.java 2009-03-29 14:58:56 UTC (rev 3026) +++ metis/trunk/src/main/java/com/docbook/extract/Extractor.java 2009-03-29 16:37:28 UTC (rev 3027) @@ -19,9 +19,11 @@ public class Extractor { protected String startAnnotation = "//@extract-start"; + protected String endAnnotation = "//@extract-end"; protected File targetDir; + protected String root; public Extractor(String root, File targetDir) { @@ -30,12 +32,10 @@ } public static void main(String[] args) throws IOException { - File sourceDir = new File(args[0]); File targetDir = new File(args[1]); - Extractor extractor = new Extractor(sourceDir.getAbsolutePath(), - targetDir); + Extractor extractor = new Extractor(sourceDir.getAbsolutePath(), targetDir); extractor.extractCode(sourceDir); } @@ -47,7 +47,6 @@ * @throws IOException */ public void extractCode(File sourceDir) throws IOException { - System.out.println("Extracting dir " + sourceDir); // List the source directory. If the file is a dir recurse, @@ -68,34 +67,28 @@ } public void extractAnnotatedCode(File file) throws IOException { - - BufferedReader reader = new BufferedReader(new InputStreamReader( - new FileInputStream(file))); + BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file))); String line = null; boolean extract = false; + int index = 0; BufferedWriter writer = null; while ((line = reader.readLine()) != null) { - if (extract) { - if (line.contains(endAnnotation)) { closeFile(writer); extract = false; writer = null; continue; } else { - writer.append(line); + writer.append(line.substring(index)); writer.newLine(); } - } else { - - if (line.contains(startAnnotation)) { - String name = line.substring(startAnnotation.length() + 1) - .trim(); - extract = true; - writer = createXiIncludeFile(name); - } + } else if (line.contains(startAnnotation)) { + index = line.indexOf(startAnnotation); + String name = line.substring(index + startAnnotation.length()).trim(); + extract = true; + writer = createXiIncludeFile(name); } } @@ -105,9 +98,7 @@ } public BufferedWriter createXiIncludeFile(String file) throws IOException { - File targetFile = new File(targetDir, file + ".xml"); - BufferedWriter writer = new BufferedWriter(new FileWriter(targetFile)); // write Added: metis/trunk/src/test/java/org/jiemamy/documents/JiemamyTest.java =================================================================== --- metis/trunk/src/test/java/org/jiemamy/documents/JiemamyTest.java (rev 0) +++ metis/trunk/src/test/java/org/jiemamy/documents/JiemamyTest.java 2009-03-29 16:37:28 UTC (rev 3027) @@ -0,0 +1,165 @@ +package org.jiemamy.documents; + +import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.FilenameUtils; +import org.jiemamy.Jiemamy; +import org.jiemamy.JiemamyFactory; +import org.jiemamy.composer.exporter.DefaultSqlExportConfig; +import org.jiemamy.composer.exporter.SqlExporter; +import org.jiemamy.dialect.BuiltinDataTypeMold; +import org.jiemamy.dialect.Dialect; +import org.jiemamy.dialect.mysql.MySqlDialect; +import org.jiemamy.internal.model.datatype.adapter.SizedDataTypeAdapter; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataTypeCategory; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.serializer.JiemamySerializer; +import org.jiemamy.utils.model.RootModelUtil; +import org.junit.Test; + +public class JiemamyTest { + + /** + * TODO for daisuke + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test01() throws Exception { + //@extract-start newJiemamy + Jiemamy jiemamy = Jiemamy.newInstance(); + //@extract-end newJiemamy + } + + /** + * TODO for daisuke + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test02() throws Exception { + //@extract-start getFactory + Jiemamy jiemamy = Jiemamy.newInstance(); + JiemamyFactory factory = jiemamy.getFactory(); + //@extract-end getFactory + + //@extract-start newTable + TableModel tableModel = factory.newModel(TableModel.class); + //@extract-end newTable + + RootModel rootModel = factory.getRootModel(); + RootModelUtil.setDialect(rootModel, MySqlDialect.class); + Dialect dialect = RootModelUtil.getDialect(rootModel); + + //@extract-start newDataType + BuiltinDataTypeMold mold = dialect.findDataTypeMold(DataTypeCategory.VARCHAR); + BuiltinDataType dataType = factory.newDataType(mold); + dataType.getAdapter(SizedDataTypeAdapter.class).setSize(36); + //@extract-end newDataType + } + + /** + * TODO for daisuke + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test03() throws Exception { + //@extract-start getRootModel + Jiemamy jiemamy = Jiemamy.newInstance(); + JiemamyFactory factory = jiemamy.getFactory(); + RootModel rootModel = factory.getRootModel(); + //@extract-end getRootModel + } + + /** + * TODO for daisuke + * + * @throws Exception 例外が発生した場合 + */ + @Test + public void test04() throws Exception { + //@extract-start simpleTable + // initialize Jiemamy + Jiemamy jiemamy = Jiemamy.newInstance(); + JiemamyFactory factory = jiemamy.getFactory(); + RootModel rootModel = factory.getRootModel(); + + // set Dialect to ues and get instance + RootModelUtil.setDialect(rootModel, MySqlDialect.class); + Dialect dialect = RootModelUtil.getDialect(rootModel); + + // create TABLE and set name + TableModel tableModel = factory.newModel(TableModel.class); + tableModel.setName("T_USER"); + + // create COLUMN and set name + ColumnModel columnId = factory.newModel(ColumnModel.class); + columnId.setName("ID"); + + // create DataType of INTEGER and set it to column + BuiltinDataTypeMold mold1 = dialect.findDataTypeMold(DataTypeCategory.INTEGER); + BuiltinDataType dataType1 = factory.newDataType(mold1); + columnId.setDataType(dataType1); + + // add COLUMN to TABLE + tableModel.getAttributes().add(columnId); + + // create COLUMN and set name + ColumnModel columnName = factory.newModel(ColumnModel.class); + columnName.setName("NAME"); + + // create DataType of VARCHAR(32) and set it to column + BuiltinDataTypeMold mold2 = dialect.findDataTypeMold(DataTypeCategory.VARCHAR); + BuiltinDataType dataType2 = factory.newDataType(mold2); + dataType2.getAdapter(SizedDataTypeAdapter.class).setSize(36); + columnName.setDataType(dataType2); + + // add COLUMN to TABLE + tableModel.getAttributes().add(columnName); + + // add TABLE to RootModel + rootModel.getEntities().add(tableModel); + //@extract-end simpleTable + + //@extract-start sqlExport + SqlExporter exporter = new SqlExporter(); + DefaultSqlExportConfig config = new DefaultSqlExportConfig(); + config.setDataSetIndex(-1); + config.setEmitDropStatements(false); + config.setOutputFile(new File("./target/test.sql")); + config.setOverwrite(true); + boolean result = exporter.exportModel(rootModel, config); + //@extract-end sqlExport + + assertThat(result, is(true)); + + { + //@extract-start serialize + JiemamySerializer serializer = jiemamy.getSerializer(); + serializer.serialize(rootModel, new FileOutputStream("./target/output.jer")); + //@extract-end serialize + assertThat(new File("./target/output.jer").exists(), is(true)); + } + + new File("./target/output.jer").renameTo(new File("output.jer")); + + { + //@extract-start deserialize + JiemamySerializer serializer = jiemamy.getSerializer(); + RootModel deserialized = serializer.deserialize(new FileInputStream("./target/output.jer")); + //@extract-end deserialize + assertThat(deserialized.getEntities().size(), is(1)); + } + } + +} Property changes on: metis/trunk/src/test/java/org/jiemamy/documents/JiemamyTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain