• R/O
  • HTTP
  • SSH
  • HTTPS

tmdmaker: Commit

TMD-Maker(T字形ER図作成ツール)のEclipse Plugin,RCP,Webサイト用


Commit MetaInfo

Revision0d74f6e14dff7854396afee88dd43a62df958d64 (tree)
Time2018-09-24 10:03:13
Authornakag <nakag@user...>
Commiternakag

Log Message

Add Importer document.

bugfix tree viewer.

Change Summary

Incremental Difference

--- a/bundles/jp.osdn.tmdmaker.extensions/src/jp/sourceforge/tmdmaker/model/importer/FileImporter.java
+++ b/bundles/jp.osdn.tmdmaker.extensions/src/jp/sourceforge/tmdmaker/model/importer/FileImporter.java
@@ -31,16 +31,12 @@ public interface FileImporter {
3131 /**
3232 * エンティティをインポートする
3333 *
34- * @param filePath
35- * インポートするファイルのパス
34+ * @param filePath インポートするファイルのパス
3635 * @return インポートしたエンティティのモデル
37- * @throws FileNotFoundException
38- * インポートするファイルが見つからない場合
39- * @throws IOException
40- * その他ファイル読み込み時にエラーが発生した場合
36+ * @throws FileNotFoundException インポートするファイルが見つからない場合
37+ * @throws IOException その他ファイル読み込み時にエラーが発生した場合
4138 */
42- List<AbstractEntityModel> importEntities(String filePath) throws FileNotFoundException,
43- IOException;
39+ List<AbstractEntityModel> importEntities(String filePath) throws FileNotFoundException, IOException;
4440
4541 /**
4642 * Importer名を返す。コンテキストメニューに表示する名称となる。
@@ -48,6 +44,11 @@ public interface FileImporter {
4844 * @return Importer名
4945 */
5046 String getImporterName();
51-
47+
48+ /**
49+ * このImporterで利用可能なファイルの拡張子を返す.
50+ *
51+ * @return このImporterで利用可能なファイルの拡張子
52+ */
5253 String[] getAvailableExtensions();
5354 }
\ No newline at end of file
--- a/bundles/tmdmaker.core/src/jp/sourceforge/tmdmaker/model/Attribute.java
+++ b/bundles/tmdmaker.core/src/jp/sourceforge/tmdmaker/model/Attribute.java
@@ -261,67 +261,4 @@ public class Attribute extends ModelElement implements IAttribute {
261261 public void accept(IVisitor visitor) {
262262 visitor.visit(this);
263263 }
264-
265- @Override
266- public int hashCode() {
267- final int prime = 31;
268- int result = 1;
269- result = prime * result
270- + ((dataTypeDeclaration == null) ? 0 : dataTypeDeclaration.hashCode());
271- result = prime * result + (derivation ? 1231 : 1237);
272- result = prime * result + ((derivationRule == null) ? 0 : derivationRule.hashCode());
273- result = prime * result + ((description == null) ? 0 : description.hashCode());
274- result = prime * result + ((implementName == null) ? 0 : implementName.hashCode());
275- result = prime * result + ((lock == null) ? 0 : lock.hashCode());
276- result = prime * result + (nullable ? 1231 : 1237);
277- result = prime * result + ((validationRule == null) ? 0 : validationRule.hashCode());
278- return result;
279- }
280-
281- @Override
282- public boolean equals(Object obj) {
283- if (this == obj)
284- return true;
285- if (obj == null)
286- return false;
287- if (getClass() != obj.getClass())
288- return false;
289- Attribute other = (Attribute) obj;
290- if (dataTypeDeclaration == null) {
291- if (other.dataTypeDeclaration != null)
292- return false;
293- } else if (!dataTypeDeclaration.equals(other.dataTypeDeclaration))
294- return false;
295- if (derivation != other.derivation)
296- return false;
297- if (derivationRule == null) {
298- if (other.derivationRule != null)
299- return false;
300- } else if (!derivationRule.equals(other.derivationRule))
301- return false;
302- if (description == null) {
303- if (other.description != null)
304- return false;
305- } else if (!description.equals(other.description))
306- return false;
307- if (implementName == null) {
308- if (other.implementName != null)
309- return false;
310- } else if (!implementName.equals(other.implementName))
311- return false;
312- if (lock == null) {
313- if (other.lock != null)
314- return false;
315- } else if (!lock.equals(other.lock))
316- return false;
317- if (nullable != other.nullable)
318- return false;
319- if (validationRule == null) {
320- if (other.validationRule != null)
321- return false;
322- } else if (!validationRule.equals(other.validationRule))
323- return false;
324- return true;
325- }
326-
327264 }
--- a/docs/tmdmaker.doc/src/site/sphinx/p3-ch1.rst
+++ b/docs/tmdmaker.doc/src/site/sphinx/p3-ch1.rst
@@ -42,10 +42,10 @@ Select root directoryで拡張機能のフォルダを選択してFinishを選
4242
4343 拡張機能起動時に呼び出されます。雛形では特に何もやっていません。
4444
45-- tmdmaker.extensions.scaffold.importer.FileImporter1
46-
47- tmdmaker.importersを実装するインターフェースを継承したクラス。今回は特に紹介しませんが、興味があれば挑戦してみてください。
48-
4945 - tmdmaker.extensions.scaffold.generator.Generator1
5046
5147 tmdmaker.generatorsを実装するインターフェースを継承したクラス。これからサンプルを実装します。
48+
49+ - tmdmaker.extensions.scaffold.importer.FileImporter1
50+
51+ tmdmaker.importersを実装するインターフェースを継承したクラス。次にサンプルを実装します。
--- a/docs/tmdmaker.doc/src/site/sphinx/p3-ch2.rst
+++ b/docs/tmdmaker.doc/src/site/sphinx/p3-ch2.rst
@@ -3,6 +3,7 @@ Generator拡張機能作成
33
44 それでは拡張機能を開発していきましょう。
55 まずはGeneratorを拡張した簡単なファイル出力サンプルを作成します。
6+エンティティ名とエンティティ種類をテキストファイルに出力します。
67
78 コンテキストメニューに表示する名前を決める
89 ---------------------
--- a/docs/tmdmaker.doc/src/site/sphinx/p3-ch4.rst
+++ b/docs/tmdmaker.doc/src/site/sphinx/p3-ch4.rst
@@ -1,8 +1,57 @@
1-拡張機能まとめ
2-=======
1+Importer拡張機能作成
2+==============
3+次はImporterを拡張したサンプルを作成します。
4+テキストファイルからラピュタ名を取得して一括作成してみます。
35
4-今回はGeneratorのサンプルを作成してみました。
5-FileImporterについても興味があれば是非挑戦してみてください。
6+コンテキストメニューに表示する名前を決める
7+---------------------
68
7-またTMD-Makerのモデル自体や他の機能も公開されていますので
8-皆でTMD-Makerをより良いものにしていきましょう。
9+以下のメソッドをオーバーライドするとコンテキストメニューに表示する名前が決まります。::
10+
11+ @Override
12+ public String getImporterName() {
13+ return "ラピュタ一括作成";
14+ }
15+
16+取り込み可能な拡張子を決める
17+--------------
18+
19+以下のメソッドをオーバーライドして取り込み可能なファイルの拡張子を定義します。今回はテキスト形式のみとします。::
20+
21+ @Override
22+ public String[] getAvailableExtensions() {
23+ return new String[] {"txt"};
24+ }
25+
26+ラピュタ名をファイルから取得してモデルを作成する
27+------------------------
28+
29+以下が実行時の処理です。ファイルを作成してモデルの情報を出力しています。::
30+
31+ @Override
32+ public List<AbstractEntityModel> importEntities(String filePath) throws FileNotFoundException, IOException {
33+ BufferedReader reader = null;
34+ List<AbstractEntityModel> results = new ArrayList<AbstractEntityModel>();
35+ try {
36+ reader = new BufferedReader(new FileReader(filePath));
37+ String line = null;
38+ while ((line = reader.readLine()) != null) {
39+ Laputa l = Laputa.of(new ModelName(line));
40+ results.add(l);
41+ }
42+
43+ return results;
44+ } catch (Exception e) {
45+ return Collections.emptyList();
46+ } finally {
47+ if (reader != null)
48+ reader.close();
49+ }
50+ }
51+
52+TMD-Makerで動作確認
53+--------------
54+
55+TMD-Makerへのインストールと動作確認はGeneratorと同じです。
56+モデルが作成されましたか?
57+モデルのAPIやEclipse Pluginの仕組みを理解すれば、より高度なデータ作成が実現可能です。
\ No newline at end of file
--- /dev/null
+++ b/docs/tmdmaker.doc/src/site/sphinx/p3-ch5.rst
@@ -0,0 +1,8 @@
1+拡張機能まとめ
2+=======
3+
4+今回は拡張のサンプルを作成してみました。
5+皆さんのアイディアで色々な拡張機能の開発に是非挑戦してみてください。
6+
7+またTMD-Makerのモデル自体や他の機能も公開されていますので
8+皆でTMD-Makerをより良いものにしていきましょう。
--- a/docs/tmdmaker.doc/src/site/sphinx/p3.rst
+++ b/docs/tmdmaker.doc/src/site/sphinx/p3.rst
@@ -27,4 +27,5 @@ TMD-MakerはEclipse Pluginで作成されていますが、
2727 p3-ch1
2828 p3-ch2
2929 p3-ch3
30- p3-ch4
\ No newline at end of file
30+ p3-ch4
31+ p3-ch5
--- a/releng/jp.osdn.tmdmaker.releng.extensions.scaffold/src/resources/tmdmaker.extensions.scaffold/src/tmdmaker/extensions/scaffold/importer/FileImporter1.java
+++ b/releng/jp.osdn.tmdmaker.releng.extensions.scaffold/src/resources/tmdmaker.extensions.scaffold/src/tmdmaker/extensions/scaffold/importer/FileImporter1.java
@@ -54,4 +54,13 @@ public class FileImporter1 implements FileImporter {
5454 return null;
5555 }
5656
57+ /**
58+ * このImporterで利用可能なファイルの拡張子を返す.
59+ *
60+ * @return このImporterで利用可能なファイルの拡張子
61+ */
62+ @Override
63+ public String[] getAvailableExtensions() {
64+ return new String[] {"txt"};
65+ }
5766 }
--- a/tests/tmdmaker.core.test/src/jp/sourceforge/tmdmaker/model/IdentifierTest.java
+++ b/tests/tmdmaker.core.test/src/jp/sourceforge/tmdmaker/model/IdentifierTest.java
@@ -41,6 +41,6 @@ public class IdentifierTest {
4141 public void testGetCopy() {
4242 Identifier identifier1 = new Identifier("請求書番号");
4343 Identifier identifier2 = (Identifier) identifier1.getCopy();
44- assertEquals(identifier1, identifier2);
44+ assertEquals(identifier1.getName(), identifier2.getName());
4545 }
4646 }
Show on old repository browser