アプリケーション生成プログラム及び装置
【課題】 テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減できる。
【解決手段】 実施形態のアプリケーション生成装置は、各パターンテンプレートフォルダからアプリケーションを生成可能となっている。前記各パターンテンプレートフォルダは、ルートフォルダ名と、少なくとも1つのサブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つのテンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能となっている。
【解決手段】 実施形態のアプリケーション生成装置は、各パターンテンプレートフォルダからアプリケーションを生成可能となっている。前記各パターンテンプレートフォルダは、ルートフォルダ名と、少なくとも1つのサブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つのテンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能となっている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、アプリケーション生成プログラム及び装置に関する。
【背景技術】
【0002】
一般に、アプリケーションの雛形を示すテンプレートファイルに基づいてアプリケーションを生成するアプリケーション生成装置が知られている。この種のアプリケーション生成装置は、アプリケーションを生成するときに用いるテンプレート情報の格納場所、生成するファイル名、生成したファイルの出力先、及びこれらの対応関係(フォルダ構造)等を含む設定情報を予め設定しておく必要がある。また、このような設定情報をアプリケーション生成装置の固有の設定として予め定義しておくようなアプリケーション生成技術が知られている。
【0003】
しかしながら、このようなアプリケーション生成技術は、アプリケーション生成装置の固有の設定として設定情報を定義しているため、例えば、生成されるファイル名やフォルダ構造を自由に設定できないといった不都合がある。
【0004】
そこで、設定情報を設定ファイルとして定義するアプリケーション生成技術が考案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−318260号公報
【特許文献2】特開2009−294940号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のようなアプリケーション生成技術は、テンプレートファイルの数や生成するファイルの数が多くなると、定義すべき設定ファイルへの記述量が増加し、これに伴う設定コストが増加するといった不都合がある。
【0007】
本発明が解決しようとする課題は、テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減し得るアプリケーション生成プログラム及び装置を提供することである。
【課題を解決するための手段】
【0008】
実施形態のアプリケーション生成装置は、ハードウェア資源とソフトウェアとの組合せ構成で実施される場合、アプリケーション生成装置の機能を実現させるためのアプリケーション生成プログラムが予めコンピュータにインストールされて実施される。
【0009】
実施形態のアプリケーション生成装置は、各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能となっている。
【0010】
前記各パターンテンプレートフォルダは、生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイルとを備えている。但し、前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む。
【0011】
前記各パターンテンプレートフォルダは、前記ルートフォルダ名と、少なくとも1つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能となっている。
【0012】
前記アプリケーション生成装置は、テンプレートフォルダ読出手段、テンプレートパス一覧生成手段、存在可否判定手段、出力フォルダパス一覧生成手段、抽出手段、出力可否判定手段、出力ファイルパス一覧生成手段、出力手段及び上書き手段を備えている。
【0013】
前記テンプレートフォルダ読出手段は、いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出す。
【0014】
前記テンプレートパス一覧生成手段は、前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む前記第1のファイルパス情報を生成すると共に、前記第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成する。
【0015】
前記存在可否判定手段は、前記生成されたテンプレートパス一覧内の各第1のファイルパス情報内に前記可変情報が含まれているか否かを判定する。
【0016】
前記出力フォルダパス一覧生成手段、前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第1のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する。
【0017】
前記抽出手段は、前記生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、前記対象情報を含む第2のファイルパス情報を抽出する。
【0018】
前記出力可否判定手段は、前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する。
【0019】
前記アプリケーション生成装置は、前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第2のファイルパス情報を前記出力フォルダパス一覧から削除する。
【0020】
前記アプリケーション生成装置は、前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第2のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する。
【0021】
前記出力ファイルパス一覧生成手段は、前記削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する。
【0022】
前記出力手段は、前記生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する。
【0023】
前記上書き手段は、前記各第3のファイルパス情報内のパスIDに一致するパスIDをもつ前記各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする。
【図面の簡単な説明】
【0024】
【図1】一実施形態に係るアプリケーション生成装置を含むアプリケーション生成システムの一例を示す模式図。
【図2】同実施形態に係る記憶装置に記憶されたテンプレートフォルダの一例を示す模式図。
【図3】同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図。
【図4】同実施形態に係るアプリケーション生成装置の動作の一例を示すフローチャート。
【図5】同実施形態に係るファイルパス情報生成部により生成される第1のファイルパス情報の一例を示す模式図。
【図6】同実施形態に係るファイルパス情報生成部により生成される第2のファイルパス情報の一例を示す模式図。
【図7】同実施形態に係るファイルパス情報生成部により生成される第2のファイルパス情報内の対象情報を削除した後の第2のファイルパス情報の一例を示す模式図。
【図8】同実施形態に係るファイルパス情報生成部により生成される第3のファイルパス情報の一例を示す模式図。
【図9】同実施形態に係るファイル/フォルダ出力部により出力されるファイル及びフォルダの一例を示す模式図。
【図10】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示すフローチャート。
【図11】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図12】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図13】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図14】同実施形態に係るアプリケーション生成装置の動作の一例を示すフローチャート。
【図15】同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図。
【図16】同実施形態に係る記憶装置に記憶されたテンプレートファイルの一例を示す模式図。
【図17】同実施形態に係るファイルパス情報生成部により生成される第1のファイルパス情報の一例を示す模式図。
【図18】同実施形態に係るファイルパス情報生成部により生成される第2のファイルパス情報の一例を示す模式図。
【図19】同実施形態に係るファイルパス情報生成部により生成される第3のファイルパス情報の一例を示す模式図。
【図20】同実施形態に係るファイル/フォルダ出力部により出力されるファイル及びフォルダの一例を示す模式図。
【発明を実施するための形態】
【0025】
以下、一実施形態について図面を参照して説明する。なお、以下のアプリケーション生成装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、アプリケーション生成装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【0026】
図1は一実施形態に係るアプリケーション生成装置を含むアプリケーション生成システムの一例を示す模式図であり、図2は同実施形態に係る記憶装置に記憶されたテンプレートフォルダの一例を示す模式図であって、図3は同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図である。アプリケーション生成システム1では、アプリケーション生成装置10が、例えばネットワークを介して、記憶装置20に接続している。
【0027】
記憶装置20は、図2に示すように、生成されるアプリケーションに対応するパターン名(例、Basic)毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、当該ルートフォルダよりも下層に配置されて複数のサブフォルダ名(例、[applicationid], src, [classnameprefix], aspect, dataSet, [tableid], WebContent)を個別に有する複数のサブフォルダと、いずれかの当該サブフォルダの下層に配置されて複数のテンプレートファイル名(例、TokenCheckAspect_java(登録商標).vm, LogHandlerAspect_java.vm, [output]CommonDS_java.vm, Delete[Tableid]Form_java.vm, [Tableid]DS_java.vm, Regist[Tableid]Form_java.vm, Search[Tableid][Fkey]_[Screenvalue]Form_java.vm, Search[Tableid]DS_java.vm, Search[Tableid]Form_java.vm, Show[Tableid]Form_java.vm, Update[Tableid]Form_java.vm, [applicationid].css, web_xml.vm)を個別に有する複数のテンプレートファイル(各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えた複数のパターンテンプレートフォルダであって、ルートフォルダ名と、少なくとも1つのサブフォルダ名(例、[tableid])が入力情報に応じて変化する名称部分を示す可変情報(例、[tableid])を更に含む各サブフォルダ名と、少なくとも1つのテンプレートファイル名(例、[output]CommonDS_java.vm, Delete[Tableid]Form_java.vm)が、入力情報に応じて変化する名称部分を示す可変情報(例、[Tableid])及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報(例、[output])のいずれか一方又は両方を更に含む各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な各パターンテンプレートフォルダ20aを予め記憶している。また、記憶装置20は、いくつかのアプリケーションの生成に共通して用いられる共有テンプレートフォルダ20bを予め記憶してもよい。共有テンプレートフォルダ20bの詳細は後述する。
【0028】
また、本実施形態において、対象情報は、図2に示すように、“[output]”を示し、可変情報は“[output]”を除く“[]”を含む値(例えば、“[applicationid]”等)を示している。更に、同実施形態では、図2に示すように、“+”をもつ項目(例えば、“+---aspect”等)をフォルダと呼び、“+”をもたない項目(例えば、“TokenCheckAspect_java.vm”等)をファイルと呼ぶ。なお、フォルダは拡張子をもたない項目でもあり、ファイルは拡張子をもつ項目でもある。拡張子は、ピリオドで区切られた右側の文字列部分であり、図2中では「vm」と「css」が該当する。
【0029】
アプリケーション生成装置10は、メモリ11、受信部12、テンプレートフォルダ読出し部13、ファイルパス情報生成部14、ファイル/フォルダ生成部15、及びファイル/フォルダ出力部16を備えている。
【0030】
ここで、メモリ11は、処理過程の情報を一時的に記憶している。
【0031】
受信部12は、いずれかのパターン名と、可変情報と置換可能な情報を示す置換情報と、対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む入力情報を受け付ける。また受信部12は、入力情報を受け付けると、当該受け付けた入力情報をテンプレートフォルダ読出し部13及びファイルパス情報生成部14に送出する。また、受信部12は、受け付けた入力情報をメモリ11に書込んでもよい。
【0032】
ここで、パターン名は、図3に示すように、2つのタグ“<pattern>”及び“</pattern>”の間に位置する値により示され、この場合、“basic”がパターン名を示している。また、出力可否情報は、図3に示すように、2つのタグ“<output usage=“condition”>”及び“</output>”の間に位置する値により示され、値“true”が出力可能である旨を示し、値“false”が否を示している。更に、置換情報は、図3に示すように、入力情報に含まれる各種情報のうち、パターン名と出力可否情報とを除いた情報を示しており、例えば、2つのタグ“<applicationid>”及び“</applicationid>”の間に位置する値により示され、この場合、可変情報“[applicationid]”が置換情報“myapp1”に置換可能であることを示している。
【0033】
なお、テンプレートファイルに含まれる可変情報が、例えば“[tableid]”のように、全て小文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は全て小文字のアルファベットで表される。また、可変情報が、例えば“[Tableid]”のように、先頭の文字のみ大文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は先頭の文字のみ大文字のアルファベットで表され、その他は小文字のアルファベットで表される。更に、可変情報が、例えば“[TABLEID]”のように、全て大文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は全て大文字のアルファベットで表される。
【0034】
ここで、このようなテンプレートフォルダ/テンプレートファイル名の命名規則を簡潔に以下に示す。
【0035】
可変部分の定義:入力情報によって可変となる部分を”[]”で囲み定義する。可変部分は3つの定義方法がある。入力情報が「tableid:table1」の場合を例に説明する。
【0036】
(1)入力情報をそのまま出力:[tableid]と指定することで、「table1」と出力される。
【0037】
(2)入力情報の先頭を大文字にして出力:[Tableid]と指定することで、「Table1」と出力される。
【0038】
(3)入力情報を全て大文字にして出力:[TABLEID]と指定することで、「TABLE1」と出力される。
【0039】
テンプレートファイル名の命名規則は次の通りである。
【0040】
(1)評価対象のテンプレートファイル名:評価対象のテンプレートの拡張子は「vm」とする。テンプレートを評価して生成されるファイルの拡張子を「XXX_拡張子.vm」のように、テンプレートファイル名の最後のアンダースコアの後に定義する。
【0041】
(2)評価対象ではないテンプレートファイル名:拡張子が「vm」ではないファイルは、テンプレートとして評価せずそのファイル自体をそのままコピーする。生成されるファイルの拡張子は、元となるファイルの拡張子と同じとする。「[XXXXX].css」のように、テンプレートフォルダ名/ファイル名共通の命名規則にしたがって、ファイル名に可変部分を含めることも可能である。
【0042】
また、上記の規則にしたがって、出力フォルダ/出力ファイル名を決定するための命名規則を以下に示す。
【0043】
出力フォルダ/出力ファイル名共通の命名規則は、次の通りである。
【0044】
(1)[]で囲まれた可変部分は、該当する入力情報の値に置き換える。
【0045】
(2)それ以外の部分はそのまま出力する。
【0046】
出力ファイルの命名規則は、次の通りである。
【0047】
(1)評価対象のテンプレートの場合:テンプレートファイル名の一番最後のアンダースコアより後のものを拡張子として、ファイル名を決定する。
【0048】
(2)評価対象ではないテンプレートの場合:拡張子はテンプレートファイル名のままとする。
【0049】
以上が命名規則の説明である。
【0050】
テンプレートフォルダ読出し部13は、受信部12から送出された入力情報内のパターン名をもつパターンテンプレートフォルダ20aを記憶装置20から読出すテンプレートフォルダ読出機能をもっている。
【0051】
ファイルパス情報生成部14は、テンプレートフォルダ読出し部13により読出されたパターンテンプレートフォルダ20a内のテンプレートファイル名毎に、当該テンプレートファイル名のテンプレートファイルの格納位置を示すファイルパス情報を生成する処理を実行する。具体的には、例えば、以下の各機能(f14-1)〜(f14-8)をもっている。
【0052】
(f14-1) テンプレートフォルダ読出し部13により読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、ルートフォルダからサブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む当該第1のファイルパス情報を生成すると共に、当該第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成機能。
【0053】
(f14-2) テンプレートパス一覧生成機能により生成されたテンプレートパス一覧内の各第1のファイルパス情報内に可変情報が含まれているか否かを判定する存在可否判定機能。
【0054】
(f14-3) 存在可否判定機能による判定結果が存在する旨を示すとき、各第1のファイルパス情報内の可変情報を受信部12で受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成機能。
【0055】
なお、出力フォルダパス一覧生成機能は、受信部12で受け付けた入力情報内の複数の置換情報が同一の可変情報に個別に対応するとき、第1ファイルパス情報内の当該同一の可変情報を当該複数の置換情報の各々に置換える機能を含んでいてもよい。
【0056】
(f14-4) 出力フォルダパス一覧生成機能により生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、対象情報を含む第2のファイルパス情報を抽出する抽出機能。
【0057】
(f14-5) 受信部12で受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定機能。
【0058】
(f14-6) 出力可否判定機能による判定結果が否を示すとき、抽出機能により抽出された第2のファイルパス情報を出力フォルダパス一覧から削除する機能。
【0059】
(f14-7) 出力可否判定機能による判定結果が出力可能である旨を示すとき、抽出機能により抽出された第2のファイルパス情報内の対象情報を出力フォルダパス一覧から削除する機能。
【0060】
(f14-8) 当該削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成機能。
【0061】
ファイル/フォルダ生成部15は、ファイルパス情報生成部14により生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する出力機能をもっている。なお、ファイル/フォルダ生成部15はフォルダ及びファイルを生成するためにJavaプログラム等を用いるものとするが、Javaプログラムを用いたファイル生成の手法は公知技術であるため、ここでは詳細な説明は省略する。また、生成されたフォルダ及びファイルの出力先(書込先)は、図示しない記憶装置であるが、これに限らず、図示した記憶装置20又はメモリ11としてもよい。
【0062】
ファイル/フォルダ出力部16は、各第3のファイルパス情報内のパスIDに一致するパスIDをもつ各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを空のファイルに上書きする上書き機能をもっている。
【0063】
次に、以上のように構成されたアプリケーション生成装置の動作について、図4のフローチャートと、図2,3,5〜9を参照しながら説明する。
【0064】
始めに、受信部12は、図3に示すように、入力情報21を受け付けると、当該受け付けた入力情報21をテンプレートフォルダ読出し部13及びファイルパス情報生成部14に送出する(ステップS101)。
【0065】
続いて、テンプレートフォルダ読出し部13は、入力情報21に含まれるパターン名“basic”をもつパターンテンプレートフォルダ20aを記憶装置20から読出す(ステップS102)。
【0066】
次に、ファイルパス情報生成部14は、パターン名“basic”をもつパターンテンプレートフォルダ20aに含まれるテンプレートファイル名(例えば、“TokenCheckAspect_java.vm”等)毎に、ルートフォルダ名、サブフォルダ名及び当該テンプレートファイル名を含み、各テンプレートファイルの格納位置を示す第1のファイルパス情報を生成する(ステップS103)と共に、図5に示すように、当該第1のファイルパス情報を一覧して示すテンプレートパス一覧22を生成する。
【0067】
例えばファイルパス情報生成部14は、第1のファイルパス情報“[applicationid]/src/[classnameprefix]/aspect/TokenCheckAspect_java.vm”等を生成する。
【0068】
続いて、ファイルパス情報生成部14は、当該生成された第1のファイルパス情報毎に、これら第1のファイルパス情報を識別するためのパスID(パス識別情報)“T1,T2,…,T12”を付与する(ステップS104)。
【0069】
次に、ファイルパス情報生成部14は、当該生成された第1のファイルパス情報毎に、可変情報が含まれているか否かを判定する(ステップS105)。なお、ステップS105の判定の結果が否を示す場合(ステップS105:「含まない」)には、当該生成された各第1のファイルパス情報が第2のファイルパス情報であるとした後に、ステップS107に進む。
【0070】
ステップS105の判定の結果が含む旨を示す場合(ステップS105:「含む」)には、ファイルパス情報生成部14は、これら可変情報を当該受け付けた入力情報21内の対応する置換情報に置換え、第2のファイルパス情報を生成する(ステップS106)と共に、図6に示すように、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧23を生成する。
【0071】
例えば、ファイルパス情報生成部14は、第2のファイルパス情報“/myapp1/src/jp/co/example/aspect/TokenCheckAspect_java.vm”等を生成する。
【0072】
続いて、ファイルパス情報生成部14は、当該生成された第2のファイルパス情報のうち、対象情報“[output]”をもつ第2のファイルパス情報を抽出する(ステップS107)。
【0073】
例えば、ファイルパス情報生成部14は、図6に示す如き、第2のファイルパス情報“/myapp1/src/jp/co/example/dataset/[output]CommonDS_java.vm”を抽出する。
【0074】
次に、ファイルパス情報生成部14は、当該受け付けた入力情報21に含まれる出力可否情報“true”に基づいて、当該抽出された第2のファイルパス情報が出力可能であるか否かを判定する(ステップS108)。
【0075】
ステップS108の判定の結果が否を示す場合(ステップS108「出力できない」)には、ファイルパス情報生成部14は、当該抽出された第2のファイルパス情報を出力フォルダパス一覧23から削除する(ステップS109)。
【0076】
ステップS108の判定の結果が出力可能である旨を示す場合(ステップS108:「出力できる」)には、ファイルパス情報生成部14は、図7に示すように、当該抽出された第2のファイルパス情報に含まれる対象情報“[output]”を出力フォルダパス一覧23から削除する(ステップS110)。
【0077】
続いて、ファイルパス情報生成部14は、図8に示すように、当該生成された第2のファイルパス情報に含まれる拡張子“vm”を当該ファイルパス情報内の拡張子情報“java”に置換え、第3のファイルパス情報を生成する(ステップS111)と共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧24を生成する。
【0078】
例えば、ファイルパス情報生成部14は、図8に示すように、第3のファイルパス情報“/myapp1/src/jp/co/example/aspect/TokenCheckAspect.java”等を生成する。なお、ファイルパス情報生成部14は、第2のファイルパス情報に含まれる最後のアンダースコアより後ろに位置する文字列を所定の拡張子情報に用いており、この場合“java”を所定の拡張子情報として用いる。
【0079】
次に、ファイル/フォルダ生成部15は、当該生成された第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し(ステップS112)、当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する。
【0080】
しかる後、ファイル/フォルダ出力部16は、各第3のファイルパス情報内のパスIDに一致するパスIDをもつ各第1のファイルパス情報により、評価するテンプレートファイルを特定し、当該テンプレートファイルの評価をする。ファイル/フォルダ出力部16は、評価をしたテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを出力先の空のファイルに上書きする(ステップS113)。ステップS113の結果、生成されたアプリケーションは、図9に示す如き、出力フォルダ構造25として表現される。なお、出力フォルダ構造25は、アプリケーションフォルダ25と呼んでもよい。
【0081】
次に、ステップS106を繰り返し実行する場合の繰り返し処理について、図10のフローチャートと、図11〜13の模式図とを参照しながら説明する。
【0082】
始めに、ファイルパス情報生成部14は、受信部12で受け付けた入力情報内に同一の可変情報(以下、同値可変情報ともいう)に対応する複数の置換情報が含まれているか否かを判定する(ステップS201)。
【0083】
ステップS201の判定の結果が否を示す場合(ステップS201:「含まない」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報を生成し(ステップS202)、ステップS107に進む。
【0084】
ステップS201の判定の結果が含む旨を示す場合(ステップS201:「含む」)には、ファイルパス情報生成部14は、この同値可変情報がテンプレートパス一覧22内の1階層のサブフォルダ名または複数階層のサブフォルダ名のどちらに含まれているかを判定する(ステップS203)。
【0085】
ステップS203の判定の結果が1階層のサブフォルダ名に含まれる旨を示す場合(ステップS203:「1階層」)には、ファイルパス情報生成部14は、テンプレートパス一覧22における第1のファイルパス情報内の同値可変情報“[tableid]”を対応する置換情報“table1”に置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報と、第1のファイルパス情報内の同値可変情報“[tableid]”を対応する置換情報“table2”に置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報とを生成する(ステップS204)。すなわち、ファイルパス情報生成部14は、図11に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダを生成するように第2のファイルパス情報を生成する。なお、図11中、第2のファイルパス情報は、出力フォルダパス一覧23の一部として示されており、パスIDは図示を省略している。これらの図示の形式は図12及び図13でも同様である。
【0086】
ステップS203の判定の結果が複数階層のサブフォルダ名に含まれる旨を示す場合(ステップS203:「複数階層」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の同値可変情報に所定の記号“$”が付与されているか否かを判定する(ステップS205)。なお同実施形態では、所定の記号が“$”を示すとしたが、所定の記号は“$”に限定されない。
【0087】
ステップS205の判定の結果が否を示す場合(ステップS205:「付与されていない」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の複数の同値可変情報“[tableid]”を対応する置換情報“table1”にそれぞれ置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報と、第1のファイルパス情報内の複数の同値可変情報“[tableid]”を対応する置換情報“table2”にそれぞれ置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報とを生成する(ステップS206)。すなわち、ファイルパス情報生成部14は、図12に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダ名を生成し、かつ、上位に位置する同値可変情報と下位に位置する同値可変情報とに同じ値を割り当てるように第2のファイルパス情報を生成する。
【0088】
ステップS205の判定の結果が付与されている旨を示す場合(ステップS205:「付与されている」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の上位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”に置換え、かつ、第1のファイルパス情報内の下位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”及び“table2”のそれぞれに置換えた第2のファイルパス情報と、第1のファイルパス情報内の上位に位置する同値可変情報“[tableid]”を対応する置換情報“table2”に置換え、かつ、第1のファイルパス情報内の下位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”及び“table2”のそれぞれに置換えた第2のファイルパス情報とを生成する(ステップS207)。すなわち、ファイルパス情報生成部14は、図13に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダ名を生成し、かつ、下位に位置する同値可変情報には対応する全ての置換情報を割り当てるように第2のファイルパス情報を生成する。
【0089】
ここで、以上説明した一実施形態の変形例を以下に示す。
【0090】
ここでは、複数のパターンテンプレートフォルダに共通して含まれるファイル/フォルダ構造を抽出して共通化した共有テンプレートフォルダを用いる場合のアプリケーション生成装置の動作について、図14のフローチャートと、図15〜20の模式図とを参照しながら説明する。
【0091】
始めに、受信部12は、図15に示すように、共有テンプレートを用いるための共有変数“var”を含む入力情報21を受け付けると、当該受け付けた入力情報21をテンプレートフォルダ読出し部13及びファイルパス情報生成部14に送出する(ステップS301)。
【0092】
続いて、テンプレートフォルダ読出し部13は、図16に示すように、受信部12から送出された入力情報21に従って、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ20aを記憶装置20から読出すと共に、入力情報21が、共有テンプレートフォルダ20bを用いるための各共有変数を更に含むと、当該共有テンプレートフォルダ20bを記憶装置20から読出す(ステップS302)。
【0093】
ここで、共有テンプレートフォルダ20bは、当該共有テンプレートを示す共有ルートフォルダ名(例、common)を有する共有ルートフォルダと、共有ルートフォルダよりも下層に配置されて共有サブフォルダ名(例、[var1])を有する共有サブフォルダと、当該共有サブフォルダの下層に配置されて共有テンプレートファイル名(例、[var2]contact_html.vm)を個別に有する共有テンプレートファイル(当該共有テンプレートファイル名は、当該共有テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報(例、html)を含む)とを備えている。また、共有テンプレートフォルダは、当該共有ルートフォルダ名と、少なくとも1つの共有サブフォルダ名が入力情報21内の第1共有変数(例、var1)に応じて変化する名称部分を示す可変情報(例、[var1])を更に含む各共有サブフォルダ名と、少なくとも1つの共有テンプレートファイル名が、入力情報21内の第2共有変数(例、var2)に応じて変化する名称部分を示す可変情報(例、[var2])を更に含む共有テンプレートファイル名(例、[var2]contact_html.vm)とを用いた木構造としてフォルダ構造を表現可能となっている。
【0094】
次に、ファイルパス情報生成部14は、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ20aに含まれるテンプレートファイル名毎に、第1のファイルパス情報を生成すると共に、第1のファイルパス情報を一覧して示すテンプレートパス一覧22を生成する。また、ファイルパス情報生成部14は、読出された共有テンプレートフォルダ20b内の共有テンプレートファイル名毎に、共有ルートフォルダから共有サブフォルダを介して当該共有テンプレートファイル名の共有テンプレートファイルに至るまでのパスによって当該共有テンプレートファイルの格納位置を示す第4のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該共有サブフォルダの共有サブフォルダ名、当該共有テンプレートファイル名及び当該パスを識別するパスID“ST1”を含む当該第4のファイルパス情報を生成する(ステップS303、S304)と共に、図17に示すように、当該第4のファイルパス情報をテンプレートパス一覧22に挿入する。
【0095】
次に、ファイルパス情報生成部14は、当該テンプレートパス一覧22内の第1及び第4のファイルパス情報毎に、可変情報が含まれているか否かを判定する(ステップS305)。なお、ステップS305の判定の結果が否を示す場合(ステップS305:「含まない」)には、当該生成された各第1のファイルパス情報が第2のファイルパス情報であると共に、第4のファイルパス情報が第5のファイルパス情報であるとした後に、ステップS309に進む。
【0096】
ステップS305の判定の結果が含む旨を示す場合(ステップS305:「含む」)には、ファイルパス情報生成部14は、前述同様に、これら可変情報を当該受け付けた入力情報内の対応する置換情報に置換え、パターン名“extension”をもつパターンテンプレートフォルダ20aについての第2のファイルパス情報を生成すると共に、第2のファイルパス情報を一覧して示す出力フォルダパス一覧23を生成する。また、ファイルパス情報生成部14は、第4のファイルパス情報内に可変情報が存在する旨を判定したとき、第4のファイルパス情報内の可変情報を当該受け付けた入力情報21内の対応する置換情報に置換えてなる第5のファイルパス情報を生成する(ステップS306)と共に、図18に示すように、当該第5のファイルパス情報を出力フォルダパス一覧23に挿入する。
【0097】
続いて、ファイルパス情報生成部14は、当該生成された第2及び第5のファイルパス情報内に可変情報が残っているか否かを判定する(ステップS307)。なお、ステップS307の判定の結果が否を示す場合(ステップS307:「残っていない」)には、ステップS309に進む。
【0098】
ステップS307の判定の結果が残っている旨を示す場合(ステップS307:「残っている」)には、ファイルパス情報生成部14は、第2及び第5のファイルパス情報を生成するための置換処理が所定の回数、実行されたか否かを判定する(ステップS308)。なお、ステップS308の判定の結果が否を示す場合(ステップS308:「実行しない」)には、ファイルパス情報生成部14は、再度ステップS306に戻る。また、ステップS308の判定の結果が実行された旨を示す場合(ステップS308:「実行した」)には、第2及び第5のファイルパス情報を生成するための置換処理を繰り返し実行したとしてもファイルパス情報内に可変情報が残ってしまう無限ループであるとみなし、処理を終了させる。この種の無限ループとしては、例えば、入力情報21内の共有変数に対応する置換情報が可変情報と同じ値の場合(例、var1:[var1])等がある。
【0099】
次に、ファイルパス情報生成部14は、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ20aについての第3のファイルパス情報を生成すると共に、第3のファイルパス情報を一覧して示す出力ファイルパス一覧24を生成する。また、ファイルパス情報生成部14は、出力フォルダパス一覧23内の第5のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第6のファイルパス情報を生成する(ステップS309)と共に、図19に示すように、当該第6のファイルパス情報を出力ファイルパス一覧24に挿入する。なお、第2及び第5のファイルパス情報のうち、拡張子が“vm”でない第2又は第5のファイルパス情報(例えば、“/myapp2/WebContent/myapp2.css”等)の拡張子は別の拡張子に置換えず、第2のファイルパス情報がそのまま第3のファイルパス情報になると共に、第5のファイルパス情報がそのまま第6のファイルパス情報になるものとする。
【0100】
続いて、ファイル/フォルダ生成部15は、前述同様に、当該生成された第3のファイルパス情報に基づいてフォルダ及び空のファイルを生成して出力する(ステップS310)。また、ファイル/フォルダ生成部15は、出力ファイルパス一覧24内の第6のファイルパス情報に基づいて共有フォルダ名をもつ共有フォルダ及び共有ファイル名をもつ空の共有ファイルを生成し、かつ当該生成された共有フォルダ及び空の共有ファイルを当該第6のファイルパス情報に従って出力する。
【0101】
しかる後、ファイル/フォルダ出力部16は、前述したステップS113と同様に、各第3及び各第1のファイルパス情報に基づいて、生成したアプリケーションファイルを空のファイルに上書きする。また、ファイル/フォルダ出力部16は、第6のファイルパス情報内のパスIDに一致するパスIDをもつ第4のファイルパス情報が示す共有テンプレートファイルに基づいてアプリケーション共有ファイルを生成し、当該生成したアプリケーション共有ファイルの共有ファイル名を当該パスIDをもつ第4のファイルパス情報が示す共有ファイル名とすることにより、図20に示すように、当該生成したアプリケーション共有ファイルを空の共有ファイルに上書きする(ステップS311)。
【0102】
なお、本変形例では、上述したステップS107〜S110に対応する処理を省略するものとしたが、テンプレートフフォルダ読出し部13により読出されたテンプレートフォルダに応じて、これらの処理は適宜実行されるものとする。また、上述したステップS201〜S207の繰り返し処理も、テンプレートフォルダ読出し部13により読出されたテンプレートフォルダに応じて適宜実行されるものとする。
【0103】
また、本実施形態では、アプリケーション生成装置10がファイルを生成するためのテンプレートエンジンとして、Apache Velocity Projectで開発されたVelocityを用いるものとしたが、これに限定されず、例えば、オープンソースのFreeMarker等のテンプレートエンジンが適用可能である。
【0104】
更に、同実施形態では、入力情報がXML(Extensible Markup Language)形式の情報であるとしたが、これに限定されず、例えば、CSV(Comma Separated Values)形式等の入力情報が適用可能である。
【0105】
以上説明した本実施形態によれば、ファイルパス情報生成部14、ファイル/フォルダ生成部15及びファイル/フォルダ出力部16を備えた構成により、テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減することができる。
【0106】
補足すると、本実施形態によれば、テンプレートファイルを元にしたアプリケーション生成装置において、テンプレートファイルのフォルダ構造やファイル名に規則を持たせる構成により、生成するフォルダ構造やファイル名の設定コストを削減している。
【0107】
例えば、テンプレートファイルを格納するフォルダ構造を利用して、出力するフォルダ構造を決定している。また、テンプレートファイル名に含めた可変情報を利用して、出力ファイル名で可変となる部分を置き換える処理、テンプレートファイル名の拡張子「vm」を利用して、単なるファイルのコピーであるかテンプレートを評価して出力するのか決定する処理、テンプレートファイル名に含めた出力可否情報[output]を利用して、テンプレートファイルからファイルを生成する必要があるかどうかの決定をする処理、テンプレートファイル名のアンダースコアより後の文字列を利用して、出力ファイル名の拡張子を指定する処理などを行う。これらの構成により、本実施形態では、アプリケーション生成装置で対象とするテンプレートファイルの場所や、それと対応する出力ファイル名やフォルダ構造の情報を、設定ファイルに定義する必要をなくしている。
【0108】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0109】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0110】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0111】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0112】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0113】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0114】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0115】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0116】
1…アプリケーション生成システム、10…アプリケーション生成装置、11…メモリ、12…受信部、13…テンプレートフォルダ読出し部、14…ファイルパス情報生成部、15…ファイル/フォルダ生成部、16…ファイル/フォルダ出力部、20…記憶装置,20a…パターンテンプレートフォルダ、20b共有テンプレートフォルダ…、21…入力情報、22…テンプレートパス一覧、23…出力フォルダパス一覧、24…出力ファイルパス一覧、25…出力フォルダ構造。
【技術分野】
【0001】
本発明の実施形態は、アプリケーション生成プログラム及び装置に関する。
【背景技術】
【0002】
一般に、アプリケーションの雛形を示すテンプレートファイルに基づいてアプリケーションを生成するアプリケーション生成装置が知られている。この種のアプリケーション生成装置は、アプリケーションを生成するときに用いるテンプレート情報の格納場所、生成するファイル名、生成したファイルの出力先、及びこれらの対応関係(フォルダ構造)等を含む設定情報を予め設定しておく必要がある。また、このような設定情報をアプリケーション生成装置の固有の設定として予め定義しておくようなアプリケーション生成技術が知られている。
【0003】
しかしながら、このようなアプリケーション生成技術は、アプリケーション生成装置の固有の設定として設定情報を定義しているため、例えば、生成されるファイル名やフォルダ構造を自由に設定できないといった不都合がある。
【0004】
そこで、設定情報を設定ファイルとして定義するアプリケーション生成技術が考案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−318260号公報
【特許文献2】特開2009−294940号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、以上のようなアプリケーション生成技術は、テンプレートファイルの数や生成するファイルの数が多くなると、定義すべき設定ファイルへの記述量が増加し、これに伴う設定コストが増加するといった不都合がある。
【0007】
本発明が解決しようとする課題は、テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減し得るアプリケーション生成プログラム及び装置を提供することである。
【課題を解決するための手段】
【0008】
実施形態のアプリケーション生成装置は、ハードウェア資源とソフトウェアとの組合せ構成で実施される場合、アプリケーション生成装置の機能を実現させるためのアプリケーション生成プログラムが予めコンピュータにインストールされて実施される。
【0009】
実施形態のアプリケーション生成装置は、各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能となっている。
【0010】
前記各パターンテンプレートフォルダは、生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイルとを備えている。但し、前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む。
【0011】
前記各パターンテンプレートフォルダは、前記ルートフォルダ名と、少なくとも1つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能となっている。
【0012】
前記アプリケーション生成装置は、テンプレートフォルダ読出手段、テンプレートパス一覧生成手段、存在可否判定手段、出力フォルダパス一覧生成手段、抽出手段、出力可否判定手段、出力ファイルパス一覧生成手段、出力手段及び上書き手段を備えている。
【0013】
前記テンプレートフォルダ読出手段は、いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出す。
【0014】
前記テンプレートパス一覧生成手段は、前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む前記第1のファイルパス情報を生成すると共に、前記第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成する。
【0015】
前記存在可否判定手段は、前記生成されたテンプレートパス一覧内の各第1のファイルパス情報内に前記可変情報が含まれているか否かを判定する。
【0016】
前記出力フォルダパス一覧生成手段、前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第1のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する。
【0017】
前記抽出手段は、前記生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、前記対象情報を含む第2のファイルパス情報を抽出する。
【0018】
前記出力可否判定手段は、前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する。
【0019】
前記アプリケーション生成装置は、前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第2のファイルパス情報を前記出力フォルダパス一覧から削除する。
【0020】
前記アプリケーション生成装置は、前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第2のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する。
【0021】
前記出力ファイルパス一覧生成手段は、前記削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する。
【0022】
前記出力手段は、前記生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する。
【0023】
前記上書き手段は、前記各第3のファイルパス情報内のパスIDに一致するパスIDをもつ前記各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする。
【図面の簡単な説明】
【0024】
【図1】一実施形態に係るアプリケーション生成装置を含むアプリケーション生成システムの一例を示す模式図。
【図2】同実施形態に係る記憶装置に記憶されたテンプレートフォルダの一例を示す模式図。
【図3】同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図。
【図4】同実施形態に係るアプリケーション生成装置の動作の一例を示すフローチャート。
【図5】同実施形態に係るファイルパス情報生成部により生成される第1のファイルパス情報の一例を示す模式図。
【図6】同実施形態に係るファイルパス情報生成部により生成される第2のファイルパス情報の一例を示す模式図。
【図7】同実施形態に係るファイルパス情報生成部により生成される第2のファイルパス情報内の対象情報を削除した後の第2のファイルパス情報の一例を示す模式図。
【図8】同実施形態に係るファイルパス情報生成部により生成される第3のファイルパス情報の一例を示す模式図。
【図9】同実施形態に係るファイル/フォルダ出力部により出力されるファイル及びフォルダの一例を示す模式図。
【図10】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示すフローチャート。
【図11】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図12】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図13】同実施形態に係るアプリケーション生成装置の繰り返し動作の一例を示す模式図。
【図14】同実施形態に係るアプリケーション生成装置の動作の一例を示すフローチャート。
【図15】同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図。
【図16】同実施形態に係る記憶装置に記憶されたテンプレートファイルの一例を示す模式図。
【図17】同実施形態に係るファイルパス情報生成部により生成される第1のファイルパス情報の一例を示す模式図。
【図18】同実施形態に係るファイルパス情報生成部により生成される第2のファイルパス情報の一例を示す模式図。
【図19】同実施形態に係るファイルパス情報生成部により生成される第3のファイルパス情報の一例を示す模式図。
【図20】同実施形態に係るファイル/フォルダ出力部により出力されるファイル及びフォルダの一例を示す模式図。
【発明を実施するための形態】
【0025】
以下、一実施形態について図面を参照して説明する。なお、以下のアプリケーション生成装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、アプリケーション生成装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【0026】
図1は一実施形態に係るアプリケーション生成装置を含むアプリケーション生成システムの一例を示す模式図であり、図2は同実施形態に係る記憶装置に記憶されたテンプレートフォルダの一例を示す模式図であって、図3は同実施形態に係るアプリケーション生成装置に入力される入力情報の一例を示す模式図である。アプリケーション生成システム1では、アプリケーション生成装置10が、例えばネットワークを介して、記憶装置20に接続している。
【0027】
記憶装置20は、図2に示すように、生成されるアプリケーションに対応するパターン名(例、Basic)毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、当該ルートフォルダよりも下層に配置されて複数のサブフォルダ名(例、[applicationid], src, [classnameprefix], aspect, dataSet, [tableid], WebContent)を個別に有する複数のサブフォルダと、いずれかの当該サブフォルダの下層に配置されて複数のテンプレートファイル名(例、TokenCheckAspect_java(登録商標).vm, LogHandlerAspect_java.vm, [output]CommonDS_java.vm, Delete[Tableid]Form_java.vm, [Tableid]DS_java.vm, Regist[Tableid]Form_java.vm, Search[Tableid][Fkey]_[Screenvalue]Form_java.vm, Search[Tableid]DS_java.vm, Search[Tableid]Form_java.vm, Show[Tableid]Form_java.vm, Update[Tableid]Form_java.vm, [applicationid].css, web_xml.vm)を個別に有する複数のテンプレートファイル(各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えた複数のパターンテンプレートフォルダであって、ルートフォルダ名と、少なくとも1つのサブフォルダ名(例、[tableid])が入力情報に応じて変化する名称部分を示す可変情報(例、[tableid])を更に含む各サブフォルダ名と、少なくとも1つのテンプレートファイル名(例、[output]CommonDS_java.vm, Delete[Tableid]Form_java.vm)が、入力情報に応じて変化する名称部分を示す可変情報(例、[Tableid])及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報(例、[output])のいずれか一方又は両方を更に含む各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な各パターンテンプレートフォルダ20aを予め記憶している。また、記憶装置20は、いくつかのアプリケーションの生成に共通して用いられる共有テンプレートフォルダ20bを予め記憶してもよい。共有テンプレートフォルダ20bの詳細は後述する。
【0028】
また、本実施形態において、対象情報は、図2に示すように、“[output]”を示し、可変情報は“[output]”を除く“[]”を含む値(例えば、“[applicationid]”等)を示している。更に、同実施形態では、図2に示すように、“+”をもつ項目(例えば、“+---aspect”等)をフォルダと呼び、“+”をもたない項目(例えば、“TokenCheckAspect_java.vm”等)をファイルと呼ぶ。なお、フォルダは拡張子をもたない項目でもあり、ファイルは拡張子をもつ項目でもある。拡張子は、ピリオドで区切られた右側の文字列部分であり、図2中では「vm」と「css」が該当する。
【0029】
アプリケーション生成装置10は、メモリ11、受信部12、テンプレートフォルダ読出し部13、ファイルパス情報生成部14、ファイル/フォルダ生成部15、及びファイル/フォルダ出力部16を備えている。
【0030】
ここで、メモリ11は、処理過程の情報を一時的に記憶している。
【0031】
受信部12は、いずれかのパターン名と、可変情報と置換可能な情報を示す置換情報と、対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む入力情報を受け付ける。また受信部12は、入力情報を受け付けると、当該受け付けた入力情報をテンプレートフォルダ読出し部13及びファイルパス情報生成部14に送出する。また、受信部12は、受け付けた入力情報をメモリ11に書込んでもよい。
【0032】
ここで、パターン名は、図3に示すように、2つのタグ“<pattern>”及び“</pattern>”の間に位置する値により示され、この場合、“basic”がパターン名を示している。また、出力可否情報は、図3に示すように、2つのタグ“<output usage=“condition”>”及び“</output>”の間に位置する値により示され、値“true”が出力可能である旨を示し、値“false”が否を示している。更に、置換情報は、図3に示すように、入力情報に含まれる各種情報のうち、パターン名と出力可否情報とを除いた情報を示しており、例えば、2つのタグ“<applicationid>”及び“</applicationid>”の間に位置する値により示され、この場合、可変情報“[applicationid]”が置換情報“myapp1”に置換可能であることを示している。
【0033】
なお、テンプレートファイルに含まれる可変情報が、例えば“[tableid]”のように、全て小文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は全て小文字のアルファベットで表される。また、可変情報が、例えば“[Tableid]”のように、先頭の文字のみ大文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は先頭の文字のみ大文字のアルファベットで表され、その他は小文字のアルファベットで表される。更に、可変情報が、例えば“[TABLEID]”のように、全て大文字のアルファベットで表されている場合、この可変情報が対応した置換情報に置換されると、置換後の値は全て大文字のアルファベットで表される。
【0034】
ここで、このようなテンプレートフォルダ/テンプレートファイル名の命名規則を簡潔に以下に示す。
【0035】
可変部分の定義:入力情報によって可変となる部分を”[]”で囲み定義する。可変部分は3つの定義方法がある。入力情報が「tableid:table1」の場合を例に説明する。
【0036】
(1)入力情報をそのまま出力:[tableid]と指定することで、「table1」と出力される。
【0037】
(2)入力情報の先頭を大文字にして出力:[Tableid]と指定することで、「Table1」と出力される。
【0038】
(3)入力情報を全て大文字にして出力:[TABLEID]と指定することで、「TABLE1」と出力される。
【0039】
テンプレートファイル名の命名規則は次の通りである。
【0040】
(1)評価対象のテンプレートファイル名:評価対象のテンプレートの拡張子は「vm」とする。テンプレートを評価して生成されるファイルの拡張子を「XXX_拡張子.vm」のように、テンプレートファイル名の最後のアンダースコアの後に定義する。
【0041】
(2)評価対象ではないテンプレートファイル名:拡張子が「vm」ではないファイルは、テンプレートとして評価せずそのファイル自体をそのままコピーする。生成されるファイルの拡張子は、元となるファイルの拡張子と同じとする。「[XXXXX].css」のように、テンプレートフォルダ名/ファイル名共通の命名規則にしたがって、ファイル名に可変部分を含めることも可能である。
【0042】
また、上記の規則にしたがって、出力フォルダ/出力ファイル名を決定するための命名規則を以下に示す。
【0043】
出力フォルダ/出力ファイル名共通の命名規則は、次の通りである。
【0044】
(1)[]で囲まれた可変部分は、該当する入力情報の値に置き換える。
【0045】
(2)それ以外の部分はそのまま出力する。
【0046】
出力ファイルの命名規則は、次の通りである。
【0047】
(1)評価対象のテンプレートの場合:テンプレートファイル名の一番最後のアンダースコアより後のものを拡張子として、ファイル名を決定する。
【0048】
(2)評価対象ではないテンプレートの場合:拡張子はテンプレートファイル名のままとする。
【0049】
以上が命名規則の説明である。
【0050】
テンプレートフォルダ読出し部13は、受信部12から送出された入力情報内のパターン名をもつパターンテンプレートフォルダ20aを記憶装置20から読出すテンプレートフォルダ読出機能をもっている。
【0051】
ファイルパス情報生成部14は、テンプレートフォルダ読出し部13により読出されたパターンテンプレートフォルダ20a内のテンプレートファイル名毎に、当該テンプレートファイル名のテンプレートファイルの格納位置を示すファイルパス情報を生成する処理を実行する。具体的には、例えば、以下の各機能(f14-1)〜(f14-8)をもっている。
【0052】
(f14-1) テンプレートフォルダ読出し部13により読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、ルートフォルダからサブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該ルートフォルダのルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む当該第1のファイルパス情報を生成すると共に、当該第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成機能。
【0053】
(f14-2) テンプレートパス一覧生成機能により生成されたテンプレートパス一覧内の各第1のファイルパス情報内に可変情報が含まれているか否かを判定する存在可否判定機能。
【0054】
(f14-3) 存在可否判定機能による判定結果が存在する旨を示すとき、各第1のファイルパス情報内の可変情報を受信部12で受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成機能。
【0055】
なお、出力フォルダパス一覧生成機能は、受信部12で受け付けた入力情報内の複数の置換情報が同一の可変情報に個別に対応するとき、第1ファイルパス情報内の当該同一の可変情報を当該複数の置換情報の各々に置換える機能を含んでいてもよい。
【0056】
(f14-4) 出力フォルダパス一覧生成機能により生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、対象情報を含む第2のファイルパス情報を抽出する抽出機能。
【0057】
(f14-5) 受信部12で受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定機能。
【0058】
(f14-6) 出力可否判定機能による判定結果が否を示すとき、抽出機能により抽出された第2のファイルパス情報を出力フォルダパス一覧から削除する機能。
【0059】
(f14-7) 出力可否判定機能による判定結果が出力可能である旨を示すとき、抽出機能により抽出された第2のファイルパス情報内の対象情報を出力フォルダパス一覧から削除する機能。
【0060】
(f14-8) 当該削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成機能。
【0061】
ファイル/フォルダ生成部15は、ファイルパス情報生成部14により生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する出力機能をもっている。なお、ファイル/フォルダ生成部15はフォルダ及びファイルを生成するためにJavaプログラム等を用いるものとするが、Javaプログラムを用いたファイル生成の手法は公知技術であるため、ここでは詳細な説明は省略する。また、生成されたフォルダ及びファイルの出力先(書込先)は、図示しない記憶装置であるが、これに限らず、図示した記憶装置20又はメモリ11としてもよい。
【0062】
ファイル/フォルダ出力部16は、各第3のファイルパス情報内のパスIDに一致するパスIDをもつ各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを空のファイルに上書きする上書き機能をもっている。
【0063】
次に、以上のように構成されたアプリケーション生成装置の動作について、図4のフローチャートと、図2,3,5〜9を参照しながら説明する。
【0064】
始めに、受信部12は、図3に示すように、入力情報21を受け付けると、当該受け付けた入力情報21をテンプレートフォルダ読出し部13及びファイルパス情報生成部14に送出する(ステップS101)。
【0065】
続いて、テンプレートフォルダ読出し部13は、入力情報21に含まれるパターン名“basic”をもつパターンテンプレートフォルダ20aを記憶装置20から読出す(ステップS102)。
【0066】
次に、ファイルパス情報生成部14は、パターン名“basic”をもつパターンテンプレートフォルダ20aに含まれるテンプレートファイル名(例えば、“TokenCheckAspect_java.vm”等)毎に、ルートフォルダ名、サブフォルダ名及び当該テンプレートファイル名を含み、各テンプレートファイルの格納位置を示す第1のファイルパス情報を生成する(ステップS103)と共に、図5に示すように、当該第1のファイルパス情報を一覧して示すテンプレートパス一覧22を生成する。
【0067】
例えばファイルパス情報生成部14は、第1のファイルパス情報“[applicationid]/src/[classnameprefix]/aspect/TokenCheckAspect_java.vm”等を生成する。
【0068】
続いて、ファイルパス情報生成部14は、当該生成された第1のファイルパス情報毎に、これら第1のファイルパス情報を識別するためのパスID(パス識別情報)“T1,T2,…,T12”を付与する(ステップS104)。
【0069】
次に、ファイルパス情報生成部14は、当該生成された第1のファイルパス情報毎に、可変情報が含まれているか否かを判定する(ステップS105)。なお、ステップS105の判定の結果が否を示す場合(ステップS105:「含まない」)には、当該生成された各第1のファイルパス情報が第2のファイルパス情報であるとした後に、ステップS107に進む。
【0070】
ステップS105の判定の結果が含む旨を示す場合(ステップS105:「含む」)には、ファイルパス情報生成部14は、これら可変情報を当該受け付けた入力情報21内の対応する置換情報に置換え、第2のファイルパス情報を生成する(ステップS106)と共に、図6に示すように、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧23を生成する。
【0071】
例えば、ファイルパス情報生成部14は、第2のファイルパス情報“/myapp1/src/jp/co/example/aspect/TokenCheckAspect_java.vm”等を生成する。
【0072】
続いて、ファイルパス情報生成部14は、当該生成された第2のファイルパス情報のうち、対象情報“[output]”をもつ第2のファイルパス情報を抽出する(ステップS107)。
【0073】
例えば、ファイルパス情報生成部14は、図6に示す如き、第2のファイルパス情報“/myapp1/src/jp/co/example/dataset/[output]CommonDS_java.vm”を抽出する。
【0074】
次に、ファイルパス情報生成部14は、当該受け付けた入力情報21に含まれる出力可否情報“true”に基づいて、当該抽出された第2のファイルパス情報が出力可能であるか否かを判定する(ステップS108)。
【0075】
ステップS108の判定の結果が否を示す場合(ステップS108「出力できない」)には、ファイルパス情報生成部14は、当該抽出された第2のファイルパス情報を出力フォルダパス一覧23から削除する(ステップS109)。
【0076】
ステップS108の判定の結果が出力可能である旨を示す場合(ステップS108:「出力できる」)には、ファイルパス情報生成部14は、図7に示すように、当該抽出された第2のファイルパス情報に含まれる対象情報“[output]”を出力フォルダパス一覧23から削除する(ステップS110)。
【0077】
続いて、ファイルパス情報生成部14は、図8に示すように、当該生成された第2のファイルパス情報に含まれる拡張子“vm”を当該ファイルパス情報内の拡張子情報“java”に置換え、第3のファイルパス情報を生成する(ステップS111)と共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧24を生成する。
【0078】
例えば、ファイルパス情報生成部14は、図8に示すように、第3のファイルパス情報“/myapp1/src/jp/co/example/aspect/TokenCheckAspect.java”等を生成する。なお、ファイルパス情報生成部14は、第2のファイルパス情報に含まれる最後のアンダースコアより後ろに位置する文字列を所定の拡張子情報に用いており、この場合“java”を所定の拡張子情報として用いる。
【0079】
次に、ファイル/フォルダ生成部15は、当該生成された第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し(ステップS112)、当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する。
【0080】
しかる後、ファイル/フォルダ出力部16は、各第3のファイルパス情報内のパスIDに一致するパスIDをもつ各第1のファイルパス情報により、評価するテンプレートファイルを特定し、当該テンプレートファイルの評価をする。ファイル/フォルダ出力部16は、評価をしたテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを出力先の空のファイルに上書きする(ステップS113)。ステップS113の結果、生成されたアプリケーションは、図9に示す如き、出力フォルダ構造25として表現される。なお、出力フォルダ構造25は、アプリケーションフォルダ25と呼んでもよい。
【0081】
次に、ステップS106を繰り返し実行する場合の繰り返し処理について、図10のフローチャートと、図11〜13の模式図とを参照しながら説明する。
【0082】
始めに、ファイルパス情報生成部14は、受信部12で受け付けた入力情報内に同一の可変情報(以下、同値可変情報ともいう)に対応する複数の置換情報が含まれているか否かを判定する(ステップS201)。
【0083】
ステップS201の判定の結果が否を示す場合(ステップS201:「含まない」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報を生成し(ステップS202)、ステップS107に進む。
【0084】
ステップS201の判定の結果が含む旨を示す場合(ステップS201:「含む」)には、ファイルパス情報生成部14は、この同値可変情報がテンプレートパス一覧22内の1階層のサブフォルダ名または複数階層のサブフォルダ名のどちらに含まれているかを判定する(ステップS203)。
【0085】
ステップS203の判定の結果が1階層のサブフォルダ名に含まれる旨を示す場合(ステップS203:「1階層」)には、ファイルパス情報生成部14は、テンプレートパス一覧22における第1のファイルパス情報内の同値可変情報“[tableid]”を対応する置換情報“table1”に置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報と、第1のファイルパス情報内の同値可変情報“[tableid]”を対応する置換情報“table2”に置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報とを生成する(ステップS204)。すなわち、ファイルパス情報生成部14は、図11に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダを生成するように第2のファイルパス情報を生成する。なお、図11中、第2のファイルパス情報は、出力フォルダパス一覧23の一部として示されており、パスIDは図示を省略している。これらの図示の形式は図12及び図13でも同様である。
【0086】
ステップS203の判定の結果が複数階層のサブフォルダ名に含まれる旨を示す場合(ステップS203:「複数階層」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の同値可変情報に所定の記号“$”が付与されているか否かを判定する(ステップS205)。なお同実施形態では、所定の記号が“$”を示すとしたが、所定の記号は“$”に限定されない。
【0087】
ステップS205の判定の結果が否を示す場合(ステップS205:「付与されていない」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の複数の同値可変情報“[tableid]”を対応する置換情報“table1”にそれぞれ置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報と、第1のファイルパス情報内の複数の同値可変情報“[tableid]”を対応する置換情報“table2”にそれぞれ置換え、かつ、第1のファイルパス情報内の可変情報を対応する置換情報に置換えた第2のファイルパス情報とを生成する(ステップS206)。すなわち、ファイルパス情報生成部14は、図12に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダ名を生成し、かつ、上位に位置する同値可変情報と下位に位置する同値可変情報とに同じ値を割り当てるように第2のファイルパス情報を生成する。
【0088】
ステップS205の判定の結果が付与されている旨を示す場合(ステップS205:「付与されている」)には、ファイルパス情報生成部14は、第1のファイルパス情報内の上位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”に置換え、かつ、第1のファイルパス情報内の下位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”及び“table2”のそれぞれに置換えた第2のファイルパス情報と、第1のファイルパス情報内の上位に位置する同値可変情報“[tableid]”を対応する置換情報“table2”に置換え、かつ、第1のファイルパス情報内の下位に位置する同値可変情報“[tableid]”を対応する置換情報“table1”及び“table2”のそれぞれに置換えた第2のファイルパス情報とを生成する(ステップS207)。すなわち、ファイルパス情報生成部14は、図13に示すように、同値可変情報に対応する置換情報の個数と同数のフォルダ名を生成し、かつ、下位に位置する同値可変情報には対応する全ての置換情報を割り当てるように第2のファイルパス情報を生成する。
【0089】
ここで、以上説明した一実施形態の変形例を以下に示す。
【0090】
ここでは、複数のパターンテンプレートフォルダに共通して含まれるファイル/フォルダ構造を抽出して共通化した共有テンプレートフォルダを用いる場合のアプリケーション生成装置の動作について、図14のフローチャートと、図15〜20の模式図とを参照しながら説明する。
【0091】
始めに、受信部12は、図15に示すように、共有テンプレートを用いるための共有変数“var”を含む入力情報21を受け付けると、当該受け付けた入力情報21をテンプレートフォルダ読出し部13及びファイルパス情報生成部14に送出する(ステップS301)。
【0092】
続いて、テンプレートフォルダ読出し部13は、図16に示すように、受信部12から送出された入力情報21に従って、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ20aを記憶装置20から読出すと共に、入力情報21が、共有テンプレートフォルダ20bを用いるための各共有変数を更に含むと、当該共有テンプレートフォルダ20bを記憶装置20から読出す(ステップS302)。
【0093】
ここで、共有テンプレートフォルダ20bは、当該共有テンプレートを示す共有ルートフォルダ名(例、common)を有する共有ルートフォルダと、共有ルートフォルダよりも下層に配置されて共有サブフォルダ名(例、[var1])を有する共有サブフォルダと、当該共有サブフォルダの下層に配置されて共有テンプレートファイル名(例、[var2]contact_html.vm)を個別に有する共有テンプレートファイル(当該共有テンプレートファイル名は、当該共有テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報(例、html)を含む)とを備えている。また、共有テンプレートフォルダは、当該共有ルートフォルダ名と、少なくとも1つの共有サブフォルダ名が入力情報21内の第1共有変数(例、var1)に応じて変化する名称部分を示す可変情報(例、[var1])を更に含む各共有サブフォルダ名と、少なくとも1つの共有テンプレートファイル名が、入力情報21内の第2共有変数(例、var2)に応じて変化する名称部分を示す可変情報(例、[var2])を更に含む共有テンプレートファイル名(例、[var2]contact_html.vm)とを用いた木構造としてフォルダ構造を表現可能となっている。
【0094】
次に、ファイルパス情報生成部14は、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ20aに含まれるテンプレートファイル名毎に、第1のファイルパス情報を生成すると共に、第1のファイルパス情報を一覧して示すテンプレートパス一覧22を生成する。また、ファイルパス情報生成部14は、読出された共有テンプレートフォルダ20b内の共有テンプレートファイル名毎に、共有ルートフォルダから共有サブフォルダを介して当該共有テンプレートファイル名の共有テンプレートファイルに至るまでのパスによって当該共有テンプレートファイルの格納位置を示す第4のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該共有サブフォルダの共有サブフォルダ名、当該共有テンプレートファイル名及び当該パスを識別するパスID“ST1”を含む当該第4のファイルパス情報を生成する(ステップS303、S304)と共に、図17に示すように、当該第4のファイルパス情報をテンプレートパス一覧22に挿入する。
【0095】
次に、ファイルパス情報生成部14は、当該テンプレートパス一覧22内の第1及び第4のファイルパス情報毎に、可変情報が含まれているか否かを判定する(ステップS305)。なお、ステップS305の判定の結果が否を示す場合(ステップS305:「含まない」)には、当該生成された各第1のファイルパス情報が第2のファイルパス情報であると共に、第4のファイルパス情報が第5のファイルパス情報であるとした後に、ステップS309に進む。
【0096】
ステップS305の判定の結果が含む旨を示す場合(ステップS305:「含む」)には、ファイルパス情報生成部14は、前述同様に、これら可変情報を当該受け付けた入力情報内の対応する置換情報に置換え、パターン名“extension”をもつパターンテンプレートフォルダ20aについての第2のファイルパス情報を生成すると共に、第2のファイルパス情報を一覧して示す出力フォルダパス一覧23を生成する。また、ファイルパス情報生成部14は、第4のファイルパス情報内に可変情報が存在する旨を判定したとき、第4のファイルパス情報内の可変情報を当該受け付けた入力情報21内の対応する置換情報に置換えてなる第5のファイルパス情報を生成する(ステップS306)と共に、図18に示すように、当該第5のファイルパス情報を出力フォルダパス一覧23に挿入する。
【0097】
続いて、ファイルパス情報生成部14は、当該生成された第2及び第5のファイルパス情報内に可変情報が残っているか否かを判定する(ステップS307)。なお、ステップS307の判定の結果が否を示す場合(ステップS307:「残っていない」)には、ステップS309に進む。
【0098】
ステップS307の判定の結果が残っている旨を示す場合(ステップS307:「残っている」)には、ファイルパス情報生成部14は、第2及び第5のファイルパス情報を生成するための置換処理が所定の回数、実行されたか否かを判定する(ステップS308)。なお、ステップS308の判定の結果が否を示す場合(ステップS308:「実行しない」)には、ファイルパス情報生成部14は、再度ステップS306に戻る。また、ステップS308の判定の結果が実行された旨を示す場合(ステップS308:「実行した」)には、第2及び第5のファイルパス情報を生成するための置換処理を繰り返し実行したとしてもファイルパス情報内に可変情報が残ってしまう無限ループであるとみなし、処理を終了させる。この種の無限ループとしては、例えば、入力情報21内の共有変数に対応する置換情報が可変情報と同じ値の場合(例、var1:[var1])等がある。
【0099】
次に、ファイルパス情報生成部14は、前述同様に、パターン名“extension”をもつパターンテンプレートフォルダ20aについての第3のファイルパス情報を生成すると共に、第3のファイルパス情報を一覧して示す出力ファイルパス一覧24を生成する。また、ファイルパス情報生成部14は、出力フォルダパス一覧23内の第5のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第6のファイルパス情報を生成する(ステップS309)と共に、図19に示すように、当該第6のファイルパス情報を出力ファイルパス一覧24に挿入する。なお、第2及び第5のファイルパス情報のうち、拡張子が“vm”でない第2又は第5のファイルパス情報(例えば、“/myapp2/WebContent/myapp2.css”等)の拡張子は別の拡張子に置換えず、第2のファイルパス情報がそのまま第3のファイルパス情報になると共に、第5のファイルパス情報がそのまま第6のファイルパス情報になるものとする。
【0100】
続いて、ファイル/フォルダ生成部15は、前述同様に、当該生成された第3のファイルパス情報に基づいてフォルダ及び空のファイルを生成して出力する(ステップS310)。また、ファイル/フォルダ生成部15は、出力ファイルパス一覧24内の第6のファイルパス情報に基づいて共有フォルダ名をもつ共有フォルダ及び共有ファイル名をもつ空の共有ファイルを生成し、かつ当該生成された共有フォルダ及び空の共有ファイルを当該第6のファイルパス情報に従って出力する。
【0101】
しかる後、ファイル/フォルダ出力部16は、前述したステップS113と同様に、各第3及び各第1のファイルパス情報に基づいて、生成したアプリケーションファイルを空のファイルに上書きする。また、ファイル/フォルダ出力部16は、第6のファイルパス情報内のパスIDに一致するパスIDをもつ第4のファイルパス情報が示す共有テンプレートファイルに基づいてアプリケーション共有ファイルを生成し、当該生成したアプリケーション共有ファイルの共有ファイル名を当該パスIDをもつ第4のファイルパス情報が示す共有ファイル名とすることにより、図20に示すように、当該生成したアプリケーション共有ファイルを空の共有ファイルに上書きする(ステップS311)。
【0102】
なお、本変形例では、上述したステップS107〜S110に対応する処理を省略するものとしたが、テンプレートフフォルダ読出し部13により読出されたテンプレートフォルダに応じて、これらの処理は適宜実行されるものとする。また、上述したステップS201〜S207の繰り返し処理も、テンプレートフォルダ読出し部13により読出されたテンプレートフォルダに応じて適宜実行されるものとする。
【0103】
また、本実施形態では、アプリケーション生成装置10がファイルを生成するためのテンプレートエンジンとして、Apache Velocity Projectで開発されたVelocityを用いるものとしたが、これに限定されず、例えば、オープンソースのFreeMarker等のテンプレートエンジンが適用可能である。
【0104】
更に、同実施形態では、入力情報がXML(Extensible Markup Language)形式の情報であるとしたが、これに限定されず、例えば、CSV(Comma Separated Values)形式等の入力情報が適用可能である。
【0105】
以上説明した本実施形態によれば、ファイルパス情報生成部14、ファイル/フォルダ生成部15及びファイル/フォルダ出力部16を備えた構成により、テンプレートファイルの数や生成するファイルの数が多くなるにつれて増加するファイル名やフォルダ構造の設定コストを削減することができる。
【0106】
補足すると、本実施形態によれば、テンプレートファイルを元にしたアプリケーション生成装置において、テンプレートファイルのフォルダ構造やファイル名に規則を持たせる構成により、生成するフォルダ構造やファイル名の設定コストを削減している。
【0107】
例えば、テンプレートファイルを格納するフォルダ構造を利用して、出力するフォルダ構造を決定している。また、テンプレートファイル名に含めた可変情報を利用して、出力ファイル名で可変となる部分を置き換える処理、テンプレートファイル名の拡張子「vm」を利用して、単なるファイルのコピーであるかテンプレートを評価して出力するのか決定する処理、テンプレートファイル名に含めた出力可否情報[output]を利用して、テンプレートファイルからファイルを生成する必要があるかどうかの決定をする処理、テンプレートファイル名のアンダースコアより後の文字列を利用して、出力ファイル名の拡張子を指定する処理などを行う。これらの構成により、本実施形態では、アプリケーション生成装置で対象とするテンプレートファイルの場所や、それと対応する出力ファイル名やフォルダ構造の情報を、設定ファイルに定義する必要をなくしている。
【0108】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0109】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0110】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0111】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0112】
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0113】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【0114】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0115】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0116】
1…アプリケーション生成システム、10…アプリケーション生成装置、11…メモリ、12…受信部、13…テンプレートフォルダ読出し部、14…ファイルパス情報生成部、15…ファイル/フォルダ生成部、16…ファイル/フォルダ出力部、20…記憶装置,20a…パターンテンプレートフォルダ、20b共有テンプレートフォルダ…、21…入力情報、22…テンプレートパス一覧、23…出力フォルダパス一覧、24…出力ファイルパス一覧、25…出力フォルダ構造。
【特許請求の範囲】
【請求項1】
生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイル(前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えた複数のパターンテンプレートフォルダであって、前記ルートフォルダ名と、少なくとも1つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能なアプリケーション生成装置のプログラムであって、
前記アプリケーション生成装置を、
いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出すテンプレートフォルダ読出手段、
前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該ルートフォルダ名、当該サブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む前記第1のファイルパス情報を生成すると共に、前記第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成手段、
前記生成されたテンプレートパス一覧内の各第1のファイルパス情報内に前記可変情報が含まれているか否かを判定する存在可否判定手段、
前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第1のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成手段、
前記生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、前記対象情報を含む第2のファイルパス情報を抽出する抽出手段、
前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定手段、
前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第2のファイルパス情報を前記出力フォルダパス一覧から削除する手段、
前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第2のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する手段、
前記削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成手段、
前記生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する出力手段、
前記各第3のファイルパス情報内のパスIDに一致するパスIDをもつ前記各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする上書き手段、
として機能させるためのアプリケーション生成プログラム。
【請求項2】
請求項1に記載のアプリケーション生成プログラムにおいて、
前記出力フォルダパス一覧生成手段は、前記受け付けた入力情報内の複数の置換情報が同一の可変情報に個別に対応するとき、前記第1ファイルパス情報内の当該同一の可変情報を前記複数の置換情報の各々に置換える手段、
を含んでいることを特徴とするアプリケーション生成プログラム。
【請求項3】
請求項1に記載のアプリケーション生成プログラムにおいて、
前記記憶装置は、いくつかの前記アプリケーションの生成に共通して用いられる共有テンプレートフォルダを予め記憶しており、
前記共有テンプレートフォルダは、当該共有テンプレートを示す共有ルートフォルダ名を有する共有ルートフォルダと、前記共有ルートフォルダよりも下層に配置されて共有サブフォルダ名を有する共有サブフォルダと、前記共有サブフォルダの下層に配置されて共有テンプレートファイル名を個別に有する共有テンプレートファイル(前記共有テンプレートファイル名は、当該共有テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えており、前記共有ルートフォルダ名と、少なくとも1つの前記共有サブフォルダ名が入力情報内の第1共有変数に応じて変化する名称部分を示す可変情報を更に含む前記各共有サブフォルダ名と、少なくとも1つの前記共有テンプレートファイル名が、前記入力情報内の第2共有変数に応じて変化する名称部分を示す可変情報を更に含む前記共有テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記共有テンプレートフォルダである場合に、
前記テンプレートフォルダ読出手段は、前記入力情報が、前記共有テンプレートフォルダを用いるための前記各共有変数を更に含むと、当該共有テンプレートフォルダを前記記憶装置から読出す手段を含んでおり、
前記テンプレートパス一覧生成手段は、前記読出された共有テンプレートフォルダ内の共有テンプレートファイル名毎に、前記共有ルートフォルダから前記共有サブフォルダを介して当該共有テンプレートファイル名の共有テンプレートファイルに至るまでのパスによって当該共有テンプレートファイルの格納位置を示す第4のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該共有サブファイルの共有サブフォルダ名、当該共有テンプレートファイル名及び当該パスを識別するパスIDを含む前記第4のファイルパス情報を生成すると共に、前記第4のファイルパス情報を前記テンプレートパス一覧に挿入する手段を含んでおり、
前記存在可否判定手段は、前記テンプレートパス一覧内の前記第4のファイルパス情報内に可変情報が含まれているか否かを判定する手段を含んでおり、
前記出力フォルダパス一覧生成手段は、前記第4のファイルパス情報内に可変情報が存在する旨を判定したとき、前記第4のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第5のファイルパス情報を生成すると共に、当該第5のファイルパス情報を前記出力フォルダパス一覧に挿入する手段を含んでおり、
前記出力ファイルパス一覧生成手段は、前記出力フォルダパス一覧内の第5のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第6のファイルパス情報を生成すると共に、当該第6のファイルパス情報を前記出力ファイルパス一覧に挿入する手段を含んでおり、
前記出力手段は、前記出力ファイルパス一覧内の第6のファイルパス情報に基づいて共有フォルダ名をもつ共有フォルダ及び共有ファイル名をもつ空の共有ファイルを生成し、かつ当該生成された共有フォルダ及び空の共有ファイルを当該第6のファイルパス情報に従って出力する手段を含んでおり、
前記上書き手段は、前記第6のファイルパス情報内のパスIDに一致するパスIDをもつ前記第4のファイルパス情報が示す共有テンプレートファイルに基づいてアプリケーション共有ファイルを生成し、当該生成したアプリケーション共有ファイルの共有ファイル名を当該パスIDをもつ第4のファイルパス情報が示す共有ファイル名とすることにより、当該生成したアプリケーション共有ファイルを前記空の共有ファイルに上書きする手段を含んでいることを特徴とするアプリケーション生成プログラム。
【請求項4】
生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイル(前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えた複数のパターンテンプレートフォルダであって、前記ルートフォルダ名と、少なくとも1つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能なアプリケーション生成装置であって、
いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出すテンプレートフォルダ読出手段と、
前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む前記第1のファイルパス情報を生成すると共に、前記第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成手段と、
前記生成されたテンプレートパス一覧内の各第1のファイルパス情報内に前記可変情報が含まれているか否かを判定する存在可否判定手段と、
前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第1のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成手段と、
前記生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、前記対象情報を含む第2のファイルパス情報を抽出する抽出手段と、
前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定手段と、
前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第2のファイルパス情報を前記出力フォルダパス一覧から削除する手段と、
前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第2のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する手段と、
前記削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成手段と、
前記生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する出力手段と、
前記各第3のファイルパス情報内のパスIDに一致するパスIDをもつ前記各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする上書き手段と、
を備えたことを特徴とするアプリケーション生成装置。
【請求項1】
生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイル(前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えた複数のパターンテンプレートフォルダであって、前記ルートフォルダ名と、少なくとも1つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能なアプリケーション生成装置のプログラムであって、
前記アプリケーション生成装置を、
いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出すテンプレートフォルダ読出手段、
前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該ルートフォルダ名、当該サブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む前記第1のファイルパス情報を生成すると共に、前記第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成手段、
前記生成されたテンプレートパス一覧内の各第1のファイルパス情報内に前記可変情報が含まれているか否かを判定する存在可否判定手段、
前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第1のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成手段、
前記生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、前記対象情報を含む第2のファイルパス情報を抽出する抽出手段、
前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定手段、
前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第2のファイルパス情報を前記出力フォルダパス一覧から削除する手段、
前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第2のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する手段、
前記削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成手段、
前記生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する出力手段、
前記各第3のファイルパス情報内のパスIDに一致するパスIDをもつ前記各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする上書き手段、
として機能させるためのアプリケーション生成プログラム。
【請求項2】
請求項1に記載のアプリケーション生成プログラムにおいて、
前記出力フォルダパス一覧生成手段は、前記受け付けた入力情報内の複数の置換情報が同一の可変情報に個別に対応するとき、前記第1ファイルパス情報内の当該同一の可変情報を前記複数の置換情報の各々に置換える手段、
を含んでいることを特徴とするアプリケーション生成プログラム。
【請求項3】
請求項1に記載のアプリケーション生成プログラムにおいて、
前記記憶装置は、いくつかの前記アプリケーションの生成に共通して用いられる共有テンプレートフォルダを予め記憶しており、
前記共有テンプレートフォルダは、当該共有テンプレートを示す共有ルートフォルダ名を有する共有ルートフォルダと、前記共有ルートフォルダよりも下層に配置されて共有サブフォルダ名を有する共有サブフォルダと、前記共有サブフォルダの下層に配置されて共有テンプレートファイル名を個別に有する共有テンプレートファイル(前記共有テンプレートファイル名は、当該共有テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えており、前記共有ルートフォルダ名と、少なくとも1つの前記共有サブフォルダ名が入力情報内の第1共有変数に応じて変化する名称部分を示す可変情報を更に含む前記各共有サブフォルダ名と、少なくとも1つの前記共有テンプレートファイル名が、前記入力情報内の第2共有変数に応じて変化する名称部分を示す可変情報を更に含む前記共有テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記共有テンプレートフォルダである場合に、
前記テンプレートフォルダ読出手段は、前記入力情報が、前記共有テンプレートフォルダを用いるための前記各共有変数を更に含むと、当該共有テンプレートフォルダを前記記憶装置から読出す手段を含んでおり、
前記テンプレートパス一覧生成手段は、前記読出された共有テンプレートフォルダ内の共有テンプレートファイル名毎に、前記共有ルートフォルダから前記共有サブフォルダを介して当該共有テンプレートファイル名の共有テンプレートファイルに至るまでのパスによって当該共有テンプレートファイルの格納位置を示す第4のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該共有サブファイルの共有サブフォルダ名、当該共有テンプレートファイル名及び当該パスを識別するパスIDを含む前記第4のファイルパス情報を生成すると共に、前記第4のファイルパス情報を前記テンプレートパス一覧に挿入する手段を含んでおり、
前記存在可否判定手段は、前記テンプレートパス一覧内の前記第4のファイルパス情報内に可変情報が含まれているか否かを判定する手段を含んでおり、
前記出力フォルダパス一覧生成手段は、前記第4のファイルパス情報内に可変情報が存在する旨を判定したとき、前記第4のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第5のファイルパス情報を生成すると共に、当該第5のファイルパス情報を前記出力フォルダパス一覧に挿入する手段を含んでおり、
前記出力ファイルパス一覧生成手段は、前記出力フォルダパス一覧内の第5のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第6のファイルパス情報を生成すると共に、当該第6のファイルパス情報を前記出力ファイルパス一覧に挿入する手段を含んでおり、
前記出力手段は、前記出力ファイルパス一覧内の第6のファイルパス情報に基づいて共有フォルダ名をもつ共有フォルダ及び共有ファイル名をもつ空の共有ファイルを生成し、かつ当該生成された共有フォルダ及び空の共有ファイルを当該第6のファイルパス情報に従って出力する手段を含んでおり、
前記上書き手段は、前記第6のファイルパス情報内のパスIDに一致するパスIDをもつ前記第4のファイルパス情報が示す共有テンプレートファイルに基づいてアプリケーション共有ファイルを生成し、当該生成したアプリケーション共有ファイルの共有ファイル名を当該パスIDをもつ第4のファイルパス情報が示す共有ファイル名とすることにより、当該生成したアプリケーション共有ファイルを前記空の共有ファイルに上書きする手段を含んでいることを特徴とするアプリケーション生成プログラム。
【請求項4】
生成されるアプリケーションに対応するパターン名毎に、当該パターン名をルートフォルダ名として有するルートフォルダと、前記ルートフォルダよりも下層に配置されて複数のサブフォルダ名を個別に有する複数のサブフォルダと、いずれかの前記サブフォルダの下層に配置されて複数のテンプレートファイル名を個別に有する複数のテンプレートファイル(前記各テンプレートファイル名は、当該各テンプレートファイルから生成されるファイルの拡張子を示す文字列からなる拡張子情報を含む)とを備えた複数のパターンテンプレートフォルダであって、前記ルートフォルダ名と、少なくとも1つの前記サブフォルダ名が入力情報に応じて変化する名称部分を示す可変情報を更に含む前記各サブフォルダ名と、少なくとも1つの前記テンプレートファイル名が、前記入力情報に応じて変化する名称部分を示す可変情報及び当該入力情報に応じて出力可否が判定されるテンプレートファイルであることを示す対象情報のいずれか一方又は両方を更に含む前記各テンプレートファイル名とを用いた木構造としてフォルダ構造を表現可能な前記各パターンテンプレートフォルダを予め記憶した記憶装置を読出可能であり、前記各パターンテンプレートフォルダからアプリケーションを生成可能なアプリケーション生成装置であって、
いずれかの前記パターン名と、前記可変情報と置換可能な情報を示す置換情報と、前記対象情報をテンプレートファイル名に含むテンプレートファイルから生成されるアプリケーションファイルを出力可能であるか否かを示す出力可否情報とを含む前記入力情報を受け付けると、当該受け付けた入力情報内のパターン名をもつ前記パターンテンプレートフォルダを前記記憶装置から読出すテンプレートフォルダ読出手段と、
前記読出されたパターンテンプレートフォルダ内のテンプレートファイル名毎に、前記ルートフォルダから前記サブフォルダを介して当該テンプレートファイル名のテンプレートファイルに至るまでのパスによって当該テンプレートファイルの格納位置を示す第1のファイルパス情報であって、当該共有ルートフォルダの共有ルートフォルダ名、当該サブフォルダのサブフォルダ名、当該テンプレートファイル名及び当該パスを識別するパスIDを含む前記第1のファイルパス情報を生成すると共に、前記第1のファイルパス情報を一覧して示すテンプレートパス一覧を生成するテンプレートパス一覧生成手段と、
前記生成されたテンプレートパス一覧内の各第1のファイルパス情報内に前記可変情報が含まれているか否かを判定する存在可否判定手段と、
前記存在可否判定手段による判定結果が存在する旨を示すとき、前記各第1のファイルパス情報内の可変情報を前記受け付けた入力情報内の対応する置換情報に置換えてなる第2のファイルパス情報を生成すると共に、当該第2のファイルパス情報を一覧して示す出力フォルダパス一覧を生成する出力フォルダパス一覧生成手段と、
前記生成された出力フォルダパス一覧内の第2のファイルパス情報のうち、前記対象情報を含む第2のファイルパス情報を抽出する抽出手段と、
前記受け付けた入力情報内の出力可否情報が出力可能である旨を示しているか否かを判定する出力可否判定手段と、
前記出力可否判定手段による判定結果が否を示すとき、前記抽出された第2のファイルパス情報を前記出力フォルダパス一覧から削除する手段と、
前記出力可否判定手段による判定結果が出力可能である旨を示すとき、前記抽出された第2のファイルパス情報内の対象情報を前記出力フォルダパス一覧から削除する手段と、
前記削除の後の出力フォルダパス一覧内の各第2のファイルパス情報内の拡張子を当該ファイルパス情報内の拡張子情報に置換えてなる第3のファイルパス情報を生成すると共に、当該第3のファイルパス情報を一覧して示す出力ファイルパス一覧を生成する出力ファイルパス一覧生成手段と、
前記生成された出力ファイルパス一覧内の各第3のファイルパス情報に基づいてフォルダ名をもつフォルダ及びファイル名をもつ空のファイルを生成し、かつ当該生成されたフォルダ及び空のファイルを当該第3のファイルパス情報に従って出力する出力手段と、
前記各第3のファイルパス情報内のパスIDに一致するパスIDをもつ前記各第1のファイルパス情報が示すテンプレートファイルに基づいてアプリケーションファイルを生成し、当該生成したアプリケーションファイルのファイル名を当該パスIDをもつ第3のファイルパス情報が示すファイル名とすることにより、当該生成したアプリケーションファイルを前記空のファイルに上書きする上書き手段と、
を備えたことを特徴とするアプリケーション生成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2013−77175(P2013−77175A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−216732(P2011−216732)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】
[ Back to top ]