svnno****@sourc*****
svnno****@sourc*****
2009年 9月 21日 (月) 01:56:14 JST
Revision: 3632 http://sourceforge.jp/projects/jiemamy/svn/view?view=rev&revision=3632 Author: yamkazu Date: 2009-09-21 01:56:14 +0900 (Mon, 21 Sep 2009) Log Message: ----------- [GEN-96] 既存のコミット済みファイルに適切なsvnプロパティを設定 Modified Paths: -------------- charon/jiemamy-excel-exporter/trunk/LICENSE.txt charon/jiemamy-excel-exporter/trunk/license/LICENSE.hamcrest.txt charon/jiemamy-excel-exporter/trunk/license/LICENSE.logback.txt charon/jiemamy-excel-exporter/trunk/license/LICENSE.slf4j.txt charon/jiemamy-excel-exporter/trunk/license/list.txt charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/DefaultExcelExportConfig.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExportConfig.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExporter.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelModelUtil.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModel.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModelImpl.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModel.java charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModelImpl.java charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelExporterTest.java charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelModelUtilTest.java charon/jiemamy-html-exporter/trunk/LICENSE.txt charon/jiemamy-html-exporter/trunk/license/LICENSE.hamcrest.txt charon/jiemamy-html-exporter/trunk/license/LICENSE.logback.txt charon/jiemamy-html-exporter/trunk/license/LICENSE.slf4j.txt charon/jiemamy-html-exporter/trunk/license/list.txt charon/jiemamy-html-exporter/trunk/pom.xml charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultHtmlExportConfig.java charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExportConfig.java charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExporter.java charon/jiemamy-html-exporter/trunk/src/mock/html/style.css charon/jiemamy-html-exporter/trunk/src/mock/html/table.html charon/jiemamy-html-exporter/trunk/src/test/resources/h2.sql charon/jiemamy-html-exporter/trunk/src/test/resources/logback.xml charon/jiemamy-jpa-exporter/trunk/LICENSE.txt charon/jiemamy-jpa-exporter/trunk/license/LICENSE.hamcrest.txt charon/jiemamy-jpa-exporter/trunk/license/LICENSE.logback.txt charon/jiemamy-jpa-exporter/trunk/license/LICENSE.slf4j.txt charon/jiemamy-jpa-exporter/trunk/license/list.txt charon/jiemamy-jpa-exporter/trunk/pom.xml charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultJpaExportConfig.java charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExportConfig.java charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExporter.java charon/jiemamy-jpa-exporter/trunk/src/test/java/org/jiemamy/composer/exporter/JpaExporterTest.java charon/jiemamy-jpa-exporter/trunk/src/test/resources/logback.xml charon/jiemamy-jpa-importer/trunk/LICENSE.txt charon/jiemamy-jpa-importer/trunk/license/LICENSE.hamcrest.txt charon/jiemamy-jpa-importer/trunk/license/LICENSE.logback.txt charon/jiemamy-jpa-importer/trunk/license/LICENSE.slf4j.txt charon/jiemamy-jpa-importer/trunk/license/list.txt charon/jiemamy-jpa-importer/trunk/pom.xml charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/ColumnModelConverter.java charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultColumnModelConverter.java charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultJpaImportConfig.java charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultTableModelConverter.java charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImportConfig.java charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImporter.java charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/TableModelConverter.java charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Depertment.java charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Employee.java charon/jiemamy-jpa-importer/trunk/src/test/java/org/jiemamy/composer/importer/JpaImporterTest.java charon/jiemamy-jpa-importer/trunk/src/test/resources/logback.xml Property Changed: ---------------- charon/jiemamy-excel-exporter/trunk/license/LICENSE.junit.html charon/jiemamy-excel-exporter/trunk/src/main/resources/DefaultTemplate.xls charon/jiemamy-excel-exporter/trunk/src/test/resources/MyTemplate.xls charon/jiemamy-excel-exporter/trunk/src/test/resources/jiemamy.jer charon/jiemamy-html-exporter/trunk/license/LICENSE.junit.html charon/jiemamy-html-exporter/trunk/src/mock/html/style.css charon/jiemamy-html-exporter/trunk/src/mock/html/table.html charon/jiemamy-html-exporter/trunk/src/test/resources/h2.sql charon/jiemamy-jpa-exporter/trunk/license/LICENSE.junit.html charon/jiemamy-jpa-importer/trunk/license/LICENSE.junit.html Modified: charon/jiemamy-excel-exporter/trunk/LICENSE.txt =================================================================== --- charon/jiemamy-excel-exporter/trunk/LICENSE.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/LICENSE.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Modified: charon/jiemamy-excel-exporter/trunk/license/LICENSE.hamcrest.txt =================================================================== --- charon/jiemamy-excel-exporter/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,27 +1,27 @@ -BSD License - -Copyright (c) 2000-2006, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +BSD License + +Copyright (c) 2000-2006, www.hamcrest.org +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of Hamcrest nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. Property changes on: charon/jiemamy-excel-exporter/trunk/license/LICENSE.junit.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-excel-exporter/trunk/license/LICENSE.logback.txt =================================================================== --- charon/jiemamy-excel-exporter/trunk/license/LICENSE.logback.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/license/LICENSE.logback.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,22 +1,22 @@ -Logback LICENSE ---------------- - -Logback: the reliable, generic, fast and flexible logging library for -Java. - -Copyright (C) 2000-2008, QOS.ch - -Source code and binaries for logback, including logback-core, -logback-classic and logback-access modules, are distributed under the -GNU Lesser General Public License Version 2.1, as published by the -Free Software Foundation. - -This library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. +Logback LICENSE +--------------- + +Logback: the reliable, generic, fast and flexible logging library for +Java. + +Copyright (C) 2000-2008, QOS.ch + +Source code and binaries for logback, including logback-core, +logback-classic and logback-access modules, are distributed under the +GNU Lesser General Public License Version 2.1, as published by the +Free Software Foundation. + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. Modified: charon/jiemamy-excel-exporter/trunk/license/LICENSE.slf4j.txt =================================================================== --- charon/jiemamy-excel-exporter/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,24 +1,24 @@ -Copyright (c) 2004-2008 QOS.ch -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - +Copyright (c) 2004-2008 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + Modified: charon/jiemamy-excel-exporter/trunk/license/list.txt =================================================================== --- charon/jiemamy-excel-exporter/trunk/license/list.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/license/list.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,18 +1,18 @@ -Unamed: - SLF4J API Module, - JCL 1.1.1 implemented over SLF4J - -BSD style: - Hamcrest Core, - Hamcrest Library - -Common Public License Version 1.0: - JUnit - -GNU Lesser General Public License: - Logback Classic Module, - Logback Core Module - -The Apache Software License, Version 2.0: - Generic Tree Utilities - +Unamed: + SLF4J API Module, + JCL 1.1.1 implemented over SLF4J + +BSD style: + Hamcrest Core, + Hamcrest Library + +Common Public License Version 1.0: + JUnit + +GNU Lesser General Public License: + Logback Classic Module, + Logback Core Module + +The Apache Software License, Version 2.0: + Generic Tree Utilities + Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/DefaultExcelExportConfig.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/DefaultExcelExportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/DefaultExcelExportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,111 +1,111 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import java.io.File; -import java.net.URISyntaxException; - -import org.apache.commons.lang.Validate; - -/** - * {@link ExcelExportConfig}の実装クラス。 - * - * @author yamkazu - */ -public class DefaultExcelExportConfig implements ExcelExportConfig { - - /** 出力先ファイル */ - private File outputFile; - - /** 出力先ファイルが既に存在した場合、上書きするかどうか */ - private boolean overwrite; - - /** テンプレートファイル */ - private File templateFile; - - /** デフォルトテンプレート */ - private static final String DEFAULT_TEMPLATE = "DefaultTemplate.xls"; - - - /** - * {@inheritDoc} - */ - public File getOutputFile() { - return outputFile; - } - - /** - * {@inheritDoc} - * - * <p> - * この実装はテンプレートファイルが設定されていない場合、デフォルトのテンプレートを取得してて返却する。 - * デフォルトのテンプレートの取得に失敗した場合は{@link Error}を{@code throw} - * するが、デフォルトのテンプレートはパッケージとして同封されるため、これは通常起こりえない。 - */ - public File getTemplateFile() { - if (templateFile == null) { - try { - return new File(getClass().getClassLoader().getResource(DEFAULT_TEMPLATE).toURI()); - } catch (URISyntaxException e) { - // あり得ない - throw new Error("defalut template file not found"); - } - } - return templateFile; - } - - /** - * {@inheritDoc} - */ - public boolean isOverwrite() { - return overwrite; - } - - /** - * 出力ファイルを設定する。 - * - * @param outputFile 出力ファイル - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - */ - public void setOutputFile(File outputFile) { - Validate.notNull(outputFile); - this.outputFile = outputFile; - } - - /** - * 出力ファイルが既に存在した場合、上書きするかどうかを設定する。 - * - * @param overwrite 上書きする場合は{@code true}、そうでない場合は{@code false} - */ - public void setOverwrite(boolean overwrite) { - this.overwrite = overwrite; - } - - /** - * テンプレートファイルを設定する。 - * - * @param templateFile テンプレートファイル - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - */ - public void setTemplateFile(File templateFile) { - Validate.notNull(templateFile); - this.templateFile = templateFile; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import java.io.File; +import java.net.URISyntaxException; + +import org.apache.commons.lang.Validate; + +/** + * {@link ExcelExportConfig}の実装クラス。 + * + * @author yamkazu + */ +public class DefaultExcelExportConfig implements ExcelExportConfig { + + /** 出力先ファイル */ + private File outputFile; + + /** 出力先ファイルが既に存在した場合、上書きするかどうか */ + private boolean overwrite; + + /** テンプレートファイル */ + private File templateFile; + + /** デフォルトテンプレート */ + private static final String DEFAULT_TEMPLATE = "DefaultTemplate.xls"; + + + /** + * {@inheritDoc} + */ + public File getOutputFile() { + return outputFile; + } + + /** + * {@inheritDoc} + * + * <p> + * この実装はテンプレートファイルが設定されていない場合、デフォルトのテンプレートを取得してて返却する。 + * デフォルトのテンプレートの取得に失敗した場合は{@link Error}を{@code throw} + * するが、デフォルトのテンプレートはパッケージとして同封されるため、これは通常起こりえない。 + */ + public File getTemplateFile() { + if (templateFile == null) { + try { + return new File(getClass().getClassLoader().getResource(DEFAULT_TEMPLATE).toURI()); + } catch (URISyntaxException e) { + // あり得ない + throw new Error("defalut template file not found"); + } + } + return templateFile; + } + + /** + * {@inheritDoc} + */ + public boolean isOverwrite() { + return overwrite; + } + + /** + * 出力ファイルを設定する。 + * + * @param outputFile 出力ファイル + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + */ + public void setOutputFile(File outputFile) { + Validate.notNull(outputFile); + this.outputFile = outputFile; + } + + /** + * 出力ファイルが既に存在した場合、上書きするかどうかを設定する。 + * + * @param overwrite 上書きする場合は{@code true}、そうでない場合は{@code false} + */ + public void setOverwrite(boolean overwrite) { + this.overwrite = overwrite; + } + + /** + * テンプレートファイルを設定する。 + * + * @param templateFile テンプレートファイル + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + */ + public void setTemplateFile(File templateFile) { + Validate.notNull(templateFile); + this.templateFile = templateFile; + } + +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExportConfig.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,51 +1,51 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import java.io.File; - -/** - * {@link ExcelExporter}の出力設定を管理するクラス。 - * - * @author yamkazu - * - */ -public interface ExcelExportConfig extends ExportConfig { - - /** - * 出力ファイルを取得する。 - * - * @return 出力ファイル、未設定の場合は{@code null} - */ - File getOutputFile(); - - /** - * 出力ファイルを上書きするするかの設定を取得する。 - * - * @return 上書きする場合{@code ture}、上書きしない場合{@code false} - */ - boolean isOverwrite(); - - /** - * 出力を行うExcelのテンプレートファイルを取得する。 - * - * @return テンプレートファイル、未設定の場合はデフォルトのテンプレートファイル - */ - File getTemplateFile(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import java.io.File; + +/** + * {@link ExcelExporter}の出力設定を管理するクラス。 + * + * @author yamkazu + * + */ +public interface ExcelExportConfig extends ExportConfig { + + /** + * 出力ファイルを取得する。 + * + * @return 出力ファイル、未設定の場合は{@code null} + */ + File getOutputFile(); + + /** + * 出力ファイルを上書きするするかの設定を取得する。 + * + * @return 上書きする場合{@code ture}、上書きしない場合{@code false} + */ + boolean isOverwrite(); + + /** + * 出力を行うExcelのテンプレートファイルを取得する。 + * + * @return テンプレートファイル、未設定の場合はデフォルトのテンプレートファイル + */ + File getTemplateFile(); +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExporter.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExporter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelExporter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,294 +1,294 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.List; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.Validate; -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.poifs.filesystem.POIFSFileSystem; -import org.seasar.fisshplate.exception.FPMergeException; -import org.seasar.fisshplate.exception.FPParseException; -import org.seasar.fisshplate.template.FPTemplate; - -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.utils.CollectionsUtil; -import org.jiemamy.utils.EntityDependencyCalculator; - -/** - * {@link RootModel}をExcelファイルにエクスポートするクラス。 - * - * <p> - * このクラスはFisshplateを利用してExcelファイルの生成を行っている。 - * - * @author yamkazu - */ -public class ExcelExporter implements Exporter<ExcelExportConfig> { - - /** FPTemplateで使用するテーブルモデルの参照名 */ - private static final String TABLE_DATA_NAME = "table"; - - /** FPTemplateで使用するカラムモデルの参照名 */ - private static final String COLUMNS_DATA_NAME = "columns"; - - /** FPTemplateで使用するテンプレートのシートインデックス */ - private static final int TEMPLATE_SHEET_INDEX = 0; - - - /** - * {@inheritDoc} - */ - public boolean exportModel(RootModel rootModel, ExcelExportConfig config) throws ExportException { - Validate.notNull(rootModel); - Validate.notNull(config); - Validate.notNull(config.getOutputFile()); - - if (isNotAbleOverride(config)) { - return false; - } - File outputFile = config.getOutputFile(); - if (outputFile.exists()) { - deleteFile(outputFile); - } - File parentDir = outputFile.getParentFile(); - if (parentDir.exists() == false) { - createParentDir(config.getOutputFile()); - } - - return process(rootModel, config); - } - - /** - * {@inheritDoc} - */ - public String getName() { - return "Excel Exporter"; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); - } - - /** - * {@link TableModel}から{@link ExcelRowModel}の{@link List}を生成する。 - * - * @param tableModel テーブルモデル - * @return {@link ExcelRowModel}の{@link List} - */ - private List<ExcelRowModel> createExcelRowModels(TableModel tableModel) { - List<ExcelRowModel> result = CollectionsUtil.newArrayList(); - for (ColumnModel columnModel : tableModel.findColumns()) { - result.add(new ExcelRowModelImpl(columnModel)); - } - return result; - } - - /** - * {@link TableModel}から{@link ExcelTableModel}を生成する。 - * - * @param tableModel テーブルモデル - * @return {@link ExcelTableModel} - */ - private ExcelTableModel createExcelTableModel(TableModel tableModel) { - return new ExcelTableModelImpl(tableModel); - } - - /** - * 出力ファイルの親ディレクトリを生成する。 - * - * @param file 出力ファイル - * @throws ExportException 親ディレクトリの生成に失敗した場合 - */ - private void createParentDir(File file) throws ExportException { - boolean mkdirResult = file.getParentFile().mkdir(); - if (mkdirResult == false) { - throw new ExportException("Cannot create directory: " + file.getParentFile().getAbsolutePath()); - } - } - - /** - * テンプレートのクローンを生成して、テンプレートの置換を行う。 - * - * @param workbook 置換対象となる{@link HSSFWorkbook} - * @param data 置換するデータとなる{@link Map} - * @throws ExportException 置換対象となる{@link HSSFWorkbook}のパースに失敗した場合、置換処理中にマージに失敗した場合 - */ - private void createSheet(HSSFWorkbook workbook, Map<String, Object> data) throws ExportException { - try { - // シートのクローンを作成 - workbook.cloneSheet(TEMPLATE_SHEET_INDEX); - - // クローンを一番左へ移動 - int lastIndex = workbook.getNumberOfSheets() - 1; - String sheetName = workbook.getSheetName(lastIndex); - workbook.setSheetOrder(sheetName, 0); - - // 置換を実行 - FPTemplate template = new FPTemplate(); - template.process(workbook, data); - - // 置換シートを一番右へ移動 - workbook.setSheetOrder(sheetName, lastIndex); - workbook.setSheetName(lastIndex, ((ExcelTableModel) data.get("table")).getName()); - } catch (FPParseException e) { - throw new ExportException("fisshplate pase error", e); - } catch (FPMergeException e) { - throw new ExportException("fisshplate merge error", e); - } - } - - /** - * ファイルを削除する。 - * - * @param file 削除ファイル - * @throws ExportException 削除に失敗した場合 - */ - private void deleteFile(File file) throws ExportException { - if (file.delete() == false) { - throw new ExportException("can not delete file: " + file.getAbsolutePath()); - } - } - - /** - * {@link RootModel}からデータを取得して、FPTemplateで置換を行いWorkbookを生成する。 - * - * @param rootModel ルートモデル - * @param workbook FPTemplateで使用するテンプレートファイル - * @throws ExportException テンプレート置換処理中に異常が発生した場合 - */ - private void generateWorkbook(RootModel rootModel, HSSFWorkbook workbook) throws ExportException { - Map<String, Object> data = null; - for (EntityModel entityModel : EntityDependencyCalculator.getSortedEntityList(rootModel)) { - if (isTableModel(entityModel)) { - TableModel tableModel = (TableModel) entityModel; - data = CollectionsUtil.newHashMap(); - data.put(TABLE_DATA_NAME, createExcelTableModel(tableModel)); - data.put(COLUMNS_DATA_NAME, createExcelRowModels(tableModel)); - createSheet(workbook, data); - } - } - removeTemplateSheet(workbook); - } - - /** - * 既存の出力ファイルを上書き可能であるか判定する。 - * - * @param config エクスポートの設定情報 - * @return 既存の出力ファイルが存在し{@link ExcelExportConfig#isOverwrite()}が{@code - * false}の場合{@code true}、それ以外の場合は{@code false} - */ - private boolean isNotAbleOverride(ExcelExportConfig config) { - return config.getOutputFile().exists() && config.isOverwrite() == false; - } - - /** - * {@link EntityModel}が{@link TableModel}であるか判定する。 - * - * @param entityModel エンティティモデル - * @return {@link TableModel}である場合{@code true}、そうでない場合{@code false} - */ - private boolean isTableModel(EntityModel entityModel) { - return entityModel instanceof TableModel; - } - - /** - * FPTemplateで使用するテンプレートファイルを読み込み、テンプレートを元にFPTemplateでExcelファイルを生成し、 - * {@link ExcelExportConfig#getOutputFile()}にファイルを書き出す。 - * - * @param rootModel ルートモデル - * @param config エクスポートの設定情報 - * @return 処理が最後まで正常に終了にした場合{@code true} - * @throws ExportException エクスポートに失敗した場合 - */ - private boolean process(RootModel rootModel, ExcelExportConfig config) throws ExportException { - HSSFWorkbook outWorkbook = readTemplateWorkBook(config.getTemplateFile()); - generateWorkbook(rootModel, outWorkbook); - writeWorkbook(outWorkbook, config.getOutputFile()); - return true; - } - - /** - * テンプレートファイルを読み込み、{@link HSSFWorkbook}を取得する。 - * - * @param templateFile テンプレートファイル - * @return {@link HSSFWorkbook} - * @throws ExportException テンプレートファイルの読み込みに失敗した場合 - */ - private HSSFWorkbook readTemplateWorkBook(File templateFile) throws ExportException { - HSSFWorkbook result = null; - InputStream in = null; - try { - in = new FileInputStream(templateFile); - result = new HSSFWorkbook(new POIFSFileSystem(in)); - } catch (IOException e) { - throw new ExportException("can not open template file", e); - } finally { - IOUtils.closeQuietly(in); - } - return result; - } - - /** - * テンプレートのシートを削除する。 - * - * @param workbook ワークブック - */ - private void removeTemplateSheet(HSSFWorkbook workbook) { - workbook.removeSheetAt(TEMPLATE_SHEET_INDEX); - } - - /** - * ワークブックをファイルに書き出す。 - * - * @param workbook ワークブック - * @param outputFile 出力ファイル - * @throws ExportException 書き出しに失敗した場合 - */ - private void writeWorkbook(HSSFWorkbook workbook, File outputFile) throws ExportException { - FileOutputStream out = null; - try { - out = new FileOutputStream(outputFile); - workbook.write(out); - } catch (FileNotFoundException e) { - throw new ExportException("file no found: " + outputFile.getAbsolutePath(), e); - } catch (IOException e) { - throw new ExportException("can not write: " + outputFile.getAbsolutePath(), e); - } finally { - IOUtils.closeQuietly(out); - } - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Map; + +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.Validate; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.poifs.filesystem.POIFSFileSystem; +import org.seasar.fisshplate.exception.FPMergeException; +import org.seasar.fisshplate.exception.FPParseException; +import org.seasar.fisshplate.template.FPTemplate; + +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.utils.CollectionsUtil; +import org.jiemamy.utils.EntityDependencyCalculator; + +/** + * {@link RootModel}をExcelファイルにエクスポートするクラス。 + * + * <p> + * このクラスはFisshplateを利用してExcelファイルの生成を行っている。 + * + * @author yamkazu + */ +public class ExcelExporter implements Exporter<ExcelExportConfig> { + + /** FPTemplateで使用するテーブルモデルの参照名 */ + private static final String TABLE_DATA_NAME = "table"; + + /** FPTemplateで使用するカラムモデルの参照名 */ + private static final String COLUMNS_DATA_NAME = "columns"; + + /** FPTemplateで使用するテンプレートのシートインデックス */ + private static final int TEMPLATE_SHEET_INDEX = 0; + + + /** + * {@inheritDoc} + */ + public boolean exportModel(RootModel rootModel, ExcelExportConfig config) throws ExportException { + Validate.notNull(rootModel); + Validate.notNull(config); + Validate.notNull(config.getOutputFile()); + + if (isNotAbleOverride(config)) { + return false; + } + File outputFile = config.getOutputFile(); + if (outputFile.exists()) { + deleteFile(outputFile); + } + File parentDir = outputFile.getParentFile(); + if (parentDir.exists() == false) { + createParentDir(config.getOutputFile()); + } + + return process(rootModel, config); + } + + /** + * {@inheritDoc} + */ + public String getName() { + return "Excel Exporter"; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); + } + + /** + * {@link TableModel}から{@link ExcelRowModel}の{@link List}を生成する。 + * + * @param tableModel テーブルモデル + * @return {@link ExcelRowModel}の{@link List} + */ + private List<ExcelRowModel> createExcelRowModels(TableModel tableModel) { + List<ExcelRowModel> result = CollectionsUtil.newArrayList(); + for (ColumnModel columnModel : tableModel.findColumns()) { + result.add(new ExcelRowModelImpl(columnModel)); + } + return result; + } + + /** + * {@link TableModel}から{@link ExcelTableModel}を生成する。 + * + * @param tableModel テーブルモデル + * @return {@link ExcelTableModel} + */ + private ExcelTableModel createExcelTableModel(TableModel tableModel) { + return new ExcelTableModelImpl(tableModel); + } + + /** + * 出力ファイルの親ディレクトリを生成する。 + * + * @param file 出力ファイル + * @throws ExportException 親ディレクトリの生成に失敗した場合 + */ + private void createParentDir(File file) throws ExportException { + boolean mkdirResult = file.getParentFile().mkdir(); + if (mkdirResult == false) { + throw new ExportException("Cannot create directory: " + file.getParentFile().getAbsolutePath()); + } + } + + /** + * テンプレートのクローンを生成して、テンプレートの置換を行う。 + * + * @param workbook 置換対象となる{@link HSSFWorkbook} + * @param data 置換するデータとなる{@link Map} + * @throws ExportException 置換対象となる{@link HSSFWorkbook}のパースに失敗した場合、置換処理中にマージに失敗した場合 + */ + private void createSheet(HSSFWorkbook workbook, Map<String, Object> data) throws ExportException { + try { + // シートのクローンを作成 + workbook.cloneSheet(TEMPLATE_SHEET_INDEX); + + // クローンを一番左へ移動 + int lastIndex = workbook.getNumberOfSheets() - 1; + String sheetName = workbook.getSheetName(lastIndex); + workbook.setSheetOrder(sheetName, 0); + + // 置換を実行 + FPTemplate template = new FPTemplate(); + template.process(workbook, data); + + // 置換シートを一番右へ移動 + workbook.setSheetOrder(sheetName, lastIndex); + workbook.setSheetName(lastIndex, ((ExcelTableModel) data.get("table")).getName()); + } catch (FPParseException e) { + throw new ExportException("fisshplate pase error", e); + } catch (FPMergeException e) { + throw new ExportException("fisshplate merge error", e); + } + } + + /** + * ファイルを削除する。 + * + * @param file 削除ファイル + * @throws ExportException 削除に失敗した場合 + */ + private void deleteFile(File file) throws ExportException { + if (file.delete() == false) { + throw new ExportException("can not delete file: " + file.getAbsolutePath()); + } + } + + /** + * {@link RootModel}からデータを取得して、FPTemplateで置換を行いWorkbookを生成する。 + * + * @param rootModel ルートモデル + * @param workbook FPTemplateで使用するテンプレートファイル + * @throws ExportException テンプレート置換処理中に異常が発生した場合 + */ + private void generateWorkbook(RootModel rootModel, HSSFWorkbook workbook) throws ExportException { + Map<String, Object> data = null; + for (EntityModel entityModel : EntityDependencyCalculator.getSortedEntityList(rootModel)) { + if (isTableModel(entityModel)) { + TableModel tableModel = (TableModel) entityModel; + data = CollectionsUtil.newHashMap(); + data.put(TABLE_DATA_NAME, createExcelTableModel(tableModel)); + data.put(COLUMNS_DATA_NAME, createExcelRowModels(tableModel)); + createSheet(workbook, data); + } + } + removeTemplateSheet(workbook); + } + + /** + * 既存の出力ファイルを上書き可能であるか判定する。 + * + * @param config エクスポートの設定情報 + * @return 既存の出力ファイルが存在し{@link ExcelExportConfig#isOverwrite()}が{@code + * false}の場合{@code true}、それ以外の場合は{@code false} + */ + private boolean isNotAbleOverride(ExcelExportConfig config) { + return config.getOutputFile().exists() && config.isOverwrite() == false; + } + + /** + * {@link EntityModel}が{@link TableModel}であるか判定する。 + * + * @param entityModel エンティティモデル + * @return {@link TableModel}である場合{@code true}、そうでない場合{@code false} + */ + private boolean isTableModel(EntityModel entityModel) { + return entityModel instanceof TableModel; + } + + /** + * FPTemplateで使用するテンプレートファイルを読み込み、テンプレートを元にFPTemplateでExcelファイルを生成し、 + * {@link ExcelExportConfig#getOutputFile()}にファイルを書き出す。 + * + * @param rootModel ルートモデル + * @param config エクスポートの設定情報 + * @return 処理が最後まで正常に終了にした場合{@code true} + * @throws ExportException エクスポートに失敗した場合 + */ + private boolean process(RootModel rootModel, ExcelExportConfig config) throws ExportException { + HSSFWorkbook outWorkbook = readTemplateWorkBook(config.getTemplateFile()); + generateWorkbook(rootModel, outWorkbook); + writeWorkbook(outWorkbook, config.getOutputFile()); + return true; + } + + /** + * テンプレートファイルを読み込み、{@link HSSFWorkbook}を取得する。 + * + * @param templateFile テンプレートファイル + * @return {@link HSSFWorkbook} + * @throws ExportException テンプレートファイルの読み込みに失敗した場合 + */ + private HSSFWorkbook readTemplateWorkBook(File templateFile) throws ExportException { + HSSFWorkbook result = null; + InputStream in = null; + try { + in = new FileInputStream(templateFile); + result = new HSSFWorkbook(new POIFSFileSystem(in)); + } catch (IOException e) { + throw new ExportException("can not open template file", e); + } finally { + IOUtils.closeQuietly(in); + } + return result; + } + + /** + * テンプレートのシートを削除する。 + * + * @param workbook ワークブック + */ + private void removeTemplateSheet(HSSFWorkbook workbook) { + workbook.removeSheetAt(TEMPLATE_SHEET_INDEX); + } + + /** + * ワークブックをファイルに書き出す。 + * + * @param workbook ワークブック + * @param outputFile 出力ファイル + * @throws ExportException 書き出しに失敗した場合 + */ + private void writeWorkbook(HSSFWorkbook workbook, File outputFile) throws ExportException { + FileOutputStream out = null; + try { + out = new FileOutputStream(outputFile); + workbook.write(out); + } catch (FileNotFoundException e) { + throw new ExportException("file no found: " + outputFile.getAbsolutePath(), e); + } catch (IOException e) { + throw new ExportException("can not write: " + outputFile.getAbsolutePath(), e); + } finally { + IOUtils.closeQuietly(out); + } + } + +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelModelUtil.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelModelUtil.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelModelUtil.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,67 +1,67 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -/** - * ExcelModelのユーティリティクラス。 - * - * @author yamkazu - */ -public class ExcelModelUtil { - - /** 空文字の出力文字 */ - private static final String EMPTY = ""; - - /** 空文字でない場合の出力文字 */ - private static final String NOT_EMPTY = "○"; - - - /** - * デフォルトの出力文字列を取得する。 - * - * @param b {@code boolean}型 - * @return 引数が{@code true}の場合「○」、それ以外の婆は{@code ""} - */ - public static String defaultString(boolean b) { - return b == true ? NOT_EMPTY : EMPTY; - } - - /** - * {@link Object}がnullの場合、空文字("")を返します。nullでない場合は○の文字列を返します。 - * - * @param object 出力オブジェクト - * @return {@link Object}がnullの場合{@link ""}、nullでない場合は○ - */ - public static String defaultString(Object object) { - return object == null ? EMPTY : NOT_EMPTY; - } - - /** - * デフォルトの出力文字列を取得する。 - * - * @param str 出力文字 - * @return 出力文字列が{@code null}の場合{@code ""}、それ意外の場合は引数をそのまま返す - */ - public static String defaultString(String str) { - return str == null ? EMPTY : str; - } - - private ExcelModelUtil() { - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +/** + * ExcelModelのユーティリティクラス。 + * + * @author yamkazu + */ +public class ExcelModelUtil { + + /** 空文字の出力文字 */ + private static final String EMPTY = ""; + + /** 空文字でない場合の出力文字 */ + private static final String NOT_EMPTY = "○"; + + + /** + * デフォルトの出力文字列を取得する。 + * + * @param b {@code boolean}型 + * @return 引数が{@code true}の場合「○」、それ以外の婆は{@code ""} + */ + public static String defaultString(boolean b) { + return b == true ? NOT_EMPTY : EMPTY; + } + + /** + * {@link Object}がnullの場合、空文字("")を返します。nullでない場合は○の文字列を返します。 + * + * @param object 出力オブジェクト + * @return {@link Object}がnullの場合{@link ""}、nullでない場合は○ + */ + public static String defaultString(Object object) { + return object == null ? EMPTY : NOT_EMPTY; + } + + /** + * デフォルトの出力文字列を取得する。 + * + * @param str 出力文字 + * @return 出力文字列が{@code null}の場合{@code ""}、それ意外の場合は引数をそのまま返す + */ + public static String defaultString(String str) { + return str == null ? EMPTY : str; + } + + private ExcelModelUtil() { + } +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModel.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModel.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModel.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,75 +1,75 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -/** - * Excelにテーブルのカラム情報を表示するモデルクラス。 - * - * <p> - * このクラスは絶対に{@code null}を返さない。情報がない場合は空文字{@code ""}を返す。 - * - * @author yamkazu - */ -public interface ExcelRowModel { - - /** - * @return カラムの論理名、値が存在しない場合{@code ""} - */ - String getLogicalName(); - - /** - * @return カラム名、値が存在しない場合{@code ""} - */ - String getName(); - - /** - * @return データタイプ、値が存在しない場合{@code ""} - */ - String getDataType(); - - /** - * @return データサイズ、値が存在しない場合{@code ""} - */ - String getSize(); - - /** - * @return プライマリーキーである場合{@code "○"}、そうでない場合{@code ""} - */ - String getPrimaryKey(); - - /** - * @return NotNull属性である場合{@code "○"}、そうでない場合{@code ""} - */ - String getNotNull(); - - /** - * @return ユニークキーである場合{@code "○"}、そうでない場合{@code ""} - */ - String getUniqueKey(); - - /** - * @return Description、値が存在しない場合{@code ""} - */ - String getDescription(); - - /** - * @return デフォルト値、値が存在しない場合{@code ""} - */ - String getDefaultValue(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +/** + * Excelにテーブルのカラム情報を表示するモデルクラス。 + * + * <p> + * このクラスは絶対に{@code null}を返さない。情報がない場合は空文字{@code ""}を返す。 + * + * @author yamkazu + */ +public interface ExcelRowModel { + + /** + * @return カラムの論理名、値が存在しない場合{@code ""} + */ + String getLogicalName(); + + /** + * @return カラム名、値が存在しない場合{@code ""} + */ + String getName(); + + /** + * @return データタイプ、値が存在しない場合{@code ""} + */ + String getDataType(); + + /** + * @return データサイズ、値が存在しない場合{@code ""} + */ + String getSize(); + + /** + * @return プライマリーキーである場合{@code "○"}、そうでない場合{@code ""} + */ + String getPrimaryKey(); + + /** + * @return NotNull属性である場合{@code "○"}、そうでない場合{@code ""} + */ + String getNotNull(); + + /** + * @return ユニークキーである場合{@code "○"}、そうでない場合{@code ""} + */ + String getUniqueKey(); + + /** + * @return Description、値が存在しない場合{@code ""} + */ + String getDescription(); + + /** + * @return デフォルト値、値が存在しない場合{@code ""} + */ + String getDefaultValue(); +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModelImpl.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModelImpl.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelRowModelImpl.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,89 +1,89 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import static org.jiemamy.composer.ExcelModelUtil.defaultString; - -import org.jiemamy.internal.ReferenceResolverImpl; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; - -/** - * {@link ExcelRowModel}の実装クラス。 - * - * @author yamkazu - */ -public class ExcelRowModelImpl implements ExcelRowModel { - - private ColumnModel columnModel; - - - /** - * インスタンスを生成する。 - * - * @param columnModel カラムモデル - */ - public ExcelRowModelImpl(ColumnModel columnModel) { - this.columnModel = columnModel; - } - - public String getDataType() { - String dataType = columnModel.getDataType().toBuiltinDataType(new ReferenceResolverImpl()).getTypeName(); - return defaultString(dataType); - } - - public String getDefaultValue() { - return defaultString(columnModel.getDefaultValue()); - } - - public String getDescription() { - return defaultString(columnModel.getDescription()); - } - - public String getLogicalName() { - return defaultString(columnModel.getLogicalName()); - } - - public String getName() { - return defaultString(columnModel.getName()); - } - - public String getNotNull() { - return defaultString(columnModel.getNotNullConstraint()); - } - - public String getPrimaryKey() { - return defaultString(columnModel.checkPrimaryKeyColumn()); - } - - public String getSize() { - String result = null; - BuiltinDataType dataType = columnModel.getDataType().toBuiltinDataType(new ReferenceResolverImpl()); - if (dataType.hasAdapter(SizedDataTypeAdapter.class)) { - result = String.valueOf(dataType.getAdapter(SizedDataTypeAdapter.class).getSize()); - } - return defaultString(result); - } - - public String getUniqueKey() { - return defaultString(columnModel.getUniqueKey()); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import static org.jiemamy.composer.ExcelModelUtil.defaultString; + +import org.jiemamy.internal.ReferenceResolverImpl; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; + +/** + * {@link ExcelRowModel}の実装クラス。 + * + * @author yamkazu + */ +public class ExcelRowModelImpl implements ExcelRowModel { + + private ColumnModel columnModel; + + + /** + * インスタンスを生成する。 + * + * @param columnModel カラムモデル + */ + public ExcelRowModelImpl(ColumnModel columnModel) { + this.columnModel = columnModel; + } + + public String getDataType() { + String dataType = columnModel.getDataType().toBuiltinDataType(new ReferenceResolverImpl()).getTypeName(); + return defaultString(dataType); + } + + public String getDefaultValue() { + return defaultString(columnModel.getDefaultValue()); + } + + public String getDescription() { + return defaultString(columnModel.getDescription()); + } + + public String getLogicalName() { + return defaultString(columnModel.getLogicalName()); + } + + public String getName() { + return defaultString(columnModel.getName()); + } + + public String getNotNull() { + return defaultString(columnModel.getNotNullConstraint()); + } + + public String getPrimaryKey() { + return defaultString(columnModel.checkPrimaryKeyColumn()); + } + + public String getSize() { + String result = null; + BuiltinDataType dataType = columnModel.getDataType().toBuiltinDataType(new ReferenceResolverImpl()); + if (dataType.hasAdapter(SizedDataTypeAdapter.class)) { + result = String.valueOf(dataType.getAdapter(SizedDataTypeAdapter.class).getSize()); + } + return defaultString(result); + } + + public String getUniqueKey() { + return defaultString(columnModel.getUniqueKey()); + } + +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModel.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModel.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModel.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,46 +1,46 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -/** - * Excelにテーブル情報を表示するモデル。 - * - * <p> - * このクラスは絶対に{@code null}を返しません。情報がない場合は空文字{@code ""}を返します。 - * - * @author yamkazu - */ -public interface ExcelTableModel { - - /** - * @return カラム名、値が存在しない場合{@code ""} - */ - String getName(); - - /** - * @return カラムの論理名、値が存在しない場合{@code ""} - */ - String getLogicalName(); - - /** - * @return Description、値が存在しない場合{@code ""} - */ - String getDescription(); - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +/** + * Excelにテーブル情報を表示するモデル。 + * + * <p> + * このクラスは絶対に{@code null}を返しません。情報がない場合は空文字{@code ""}を返します。 + * + * @author yamkazu + */ +public interface ExcelTableModel { + + /** + * @return カラム名、値が存在しない場合{@code ""} + */ + String getName(); + + /** + * @return カラムの論理名、値が存在しない場合{@code ""} + */ + String getLogicalName(); + + /** + * @return Description、値が存在しない場合{@code ""} + */ + String getDescription(); + +} Modified: charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModelImpl.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModelImpl.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/main/java/org/jiemamy/composer/ExcelTableModelImpl.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,56 +1,56 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import static org.jiemamy.composer.ExcelModelUtil.defaultString; - -import org.jiemamy.model.entity.TableModel; - -/** - * {@link ExcelTableModel}の実装クラス。 - * - * @author yamkazu - */ -public class ExcelTableModelImpl implements ExcelTableModel { - - private TableModel tableModel; - - - /** - * インスタンスを生成する。 - * - * @param tableModel テーブルモデル - */ - public ExcelTableModelImpl(TableModel tableModel) { - this.tableModel = tableModel; - } - - public String getDescription() { - return defaultString(tableModel.getDescription()); - } - - public String getLogicalName() { - return defaultString(tableModel.getLogicalName()); - } - - public String getName() { - return defaultString(tableModel.getName()); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import static org.jiemamy.composer.ExcelModelUtil.defaultString; + +import org.jiemamy.model.entity.TableModel; + +/** + * {@link ExcelTableModel}の実装クラス。 + * + * @author yamkazu + */ +public class ExcelTableModelImpl implements ExcelTableModel { + + private TableModel tableModel; + + + /** + * インスタンスを生成する。 + * + * @param tableModel テーブルモデル + */ + public ExcelTableModelImpl(TableModel tableModel) { + this.tableModel = tableModel; + } + + public String getDescription() { + return defaultString(tableModel.getDescription()); + } + + public String getLogicalName() { + return defaultString(tableModel.getLogicalName()); + } + + public String getName() { + return defaultString(tableModel.getName()); + } + +} Property changes on: charon/jiemamy-excel-exporter/trunk/src/main/resources/DefaultTemplate.xls ___________________________________________________________________ Modified: svn:mime-type - application/octet-stream + application/vnd.ms-excel Modified: charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelExporterTest.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelExporterTest.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelExporterTest.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,113 +1,113 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/07/05 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - -import java.io.File; -import java.io.InputStream; - -import org.apache.commons.io.IOUtils; -import org.junit.Before; -import org.junit.Test; - -import org.jiemamy.Jiemamy; -import org.jiemamy.model.RootModel; -import org.jiemamy.serializer.JiemamySerializer; - -/** - * {@link ExcelExporter}のテストクラス。 - * - * @author yamkazu - */ -public class ExcelExporterTest { - - RootModel rootModel; - - - /** - * Jiemamyモデルのファイルを読み込み{@link RootModel}の生成を行う。 - * - * @throws Exception Jiemamy.jerに読み込みに失敗した場合 - */ - @Before - public void setUp() throws Exception { - Jiemamy jiemamy = Jiemamy.newInstance(); - JiemamySerializer serializer = jiemamy.getSerializer(); - InputStream in = null; - try { - in = ExcelExporterTest.class.getResourceAsStream("/jiemamy.jer"); - rootModel = serializer.deserialize(in); - } finally { - IOUtils.closeQuietly(in); - } - } - - /** - * excelでエクスポートする。 - * - * @throws Exception エクスポートに失敗した場合 - */ - @Test - public void test01ExportExcelFile() throws Exception { - ExcelExporter exporter = new ExcelExporter(); - DefaultExcelExportConfig config = new DefaultExcelExportConfig(); - config.setOutputFile(new File("./target/DefaultTemplateResult.xls")); - config.setOverwrite(true); - assertThat(exporter.exportModel(rootModel, config), is(true)); - } - - /** - * overwiteにfalseを設定すると上書きされない。 - * - * @throws Exception エクスポートに失敗した場合 - */ - @Test - public void test02OverrideFalse() throws Exception { - File deleteFile = new File("./target/OverrideResult.xls"); - if (deleteFile.exists()) { - if (deleteFile.delete() == false) { - throw new Exception("can not delete file: " + deleteFile.getAbsolutePath()); - } - } - ExcelExporter exporter = new ExcelExporter(); - DefaultExcelExportConfig config = new DefaultExcelExportConfig(); - config.setOutputFile(new File("./target/OverrideResult.xls")); - config.setOverwrite(false); - assertThat(exporter.exportModel(rootModel, config), is(true)); - assertThat(exporter.exportModel(rootModel, config), is(false)); - } - - /** - * templateを指定するとそのテンプレートでエクスポートされる。 - * - * @throws Exception エクスポートに失敗した場合 - */ - @Test - public void test03ExportTemplateExcelFile() throws Exception { - ExcelExporter exporter = new ExcelExporter(); - DefaultExcelExportConfig config = new DefaultExcelExportConfig(); - config.setOutputFile(new File("./target/MyTemplateResult.xls")); - config.setTemplateFile(new File(getClass().getClassLoader().getResource("MyTemplate.xls").toURI())); - config.setOverwrite(true); - assertThat(exporter.exportModel(rootModel, config), is(true)); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/07/05 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +import java.io.File; +import java.io.InputStream; + +import org.apache.commons.io.IOUtils; +import org.junit.Before; +import org.junit.Test; + +import org.jiemamy.Jiemamy; +import org.jiemamy.model.RootModel; +import org.jiemamy.serializer.JiemamySerializer; + +/** + * {@link ExcelExporter}のテストクラス。 + * + * @author yamkazu + */ +public class ExcelExporterTest { + + RootModel rootModel; + + + /** + * Jiemamyモデルのファイルを読み込み{@link RootModel}の生成を行う。 + * + * @throws Exception Jiemamy.jerに読み込みに失敗した場合 + */ + @Before + public void setUp() throws Exception { + Jiemamy jiemamy = Jiemamy.newInstance(); + JiemamySerializer serializer = jiemamy.getSerializer(); + InputStream in = null; + try { + in = ExcelExporterTest.class.getResourceAsStream("/jiemamy.jer"); + rootModel = serializer.deserialize(in); + } finally { + IOUtils.closeQuietly(in); + } + } + + /** + * excelでエクスポートする。 + * + * @throws Exception エクスポートに失敗した場合 + */ + @Test + public void test01ExportExcelFile() throws Exception { + ExcelExporter exporter = new ExcelExporter(); + DefaultExcelExportConfig config = new DefaultExcelExportConfig(); + config.setOutputFile(new File("./target/DefaultTemplateResult.xls")); + config.setOverwrite(true); + assertThat(exporter.exportModel(rootModel, config), is(true)); + } + + /** + * overwiteにfalseを設定すると上書きされない。 + * + * @throws Exception エクスポートに失敗した場合 + */ + @Test + public void test02OverrideFalse() throws Exception { + File deleteFile = new File("./target/OverrideResult.xls"); + if (deleteFile.exists()) { + if (deleteFile.delete() == false) { + throw new Exception("can not delete file: " + deleteFile.getAbsolutePath()); + } + } + ExcelExporter exporter = new ExcelExporter(); + DefaultExcelExportConfig config = new DefaultExcelExportConfig(); + config.setOutputFile(new File("./target/OverrideResult.xls")); + config.setOverwrite(false); + assertThat(exporter.exportModel(rootModel, config), is(true)); + assertThat(exporter.exportModel(rootModel, config), is(false)); + } + + /** + * templateを指定するとそのテンプレートでエクスポートされる。 + * + * @throws Exception エクスポートに失敗した場合 + */ + @Test + public void test03ExportTemplateExcelFile() throws Exception { + ExcelExporter exporter = new ExcelExporter(); + DefaultExcelExportConfig config = new DefaultExcelExportConfig(); + config.setOutputFile(new File("./target/MyTemplateResult.xls")); + config.setTemplateFile(new File(getClass().getClassLoader().getResource("MyTemplate.xls").toURI())); + config.setOverwrite(true); + assertThat(exporter.exportModel(rootModel, config), is(true)); + } + +} Modified: charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelModelUtilTest.java =================================================================== --- charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelModelUtilTest.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-excel-exporter/trunk/src/test/java/org/jiemamy/composer/ExcelModelUtilTest.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,60 +1,60 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/07/05 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - -import org.junit.Test; - -/** - * {@link ExcelModelUtil}のテスト。 - * - * @author yamkazu - */ -public class ExcelModelUtilTest { - - /** - * {@code boolean}型を引数にとるdefaultStringのテスト。 - */ - @Test - public void test01_defaultStringBooleanValue() { - assertThat(ExcelModelUtil.defaultString(true), is("○")); - assertThat(ExcelModelUtil.defaultString(false), is("")); - } - - /** - * {@code Object}型を引数にとるdefaultStringのテスト。 - */ - @Test - public void test02_defaultStringObjectValue() { - assertThat(ExcelModelUtil.defaultString(null), is("")); - assertThat(ExcelModelUtil.defaultString(new Object()), is("○")); - } - - /** - * {@code String}型を引数にとるdefaultStringのテスト。 - */ - @Test - public void test03_defaultStringStringValue() { - assertThat(ExcelModelUtil.defaultString("test"), is("test")); - assertThat(ExcelModelUtil.defaultString(""), is("")); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/07/05 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +/** + * {@link ExcelModelUtil}のテスト。 + * + * @author yamkazu + */ +public class ExcelModelUtilTest { + + /** + * {@code boolean}型を引数にとるdefaultStringのテスト。 + */ + @Test + public void test01_defaultStringBooleanValue() { + assertThat(ExcelModelUtil.defaultString(true), is("○")); + assertThat(ExcelModelUtil.defaultString(false), is("")); + } + + /** + * {@code Object}型を引数にとるdefaultStringのテスト。 + */ + @Test + public void test02_defaultStringObjectValue() { + assertThat(ExcelModelUtil.defaultString(null), is("")); + assertThat(ExcelModelUtil.defaultString(new Object()), is("○")); + } + + /** + * {@code String}型を引数にとるdefaultStringのテスト。 + */ + @Test + public void test03_defaultStringStringValue() { + assertThat(ExcelModelUtil.defaultString("test"), is("test")); + assertThat(ExcelModelUtil.defaultString(""), is("")); + } + +} Property changes on: charon/jiemamy-excel-exporter/trunk/src/test/resources/MyTemplate.xls ___________________________________________________________________ Modified: svn:mime-type - application/octet-stream + application/vnd.ms-excel Property changes on: charon/jiemamy-excel-exporter/trunk/src/test/resources/jiemamy.jer ___________________________________________________________________ Added: svn:mime-type + text/xml Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-html-exporter/trunk/LICENSE.txt =================================================================== --- charon/jiemamy-html-exporter/trunk/LICENSE.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/LICENSE.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Modified: charon/jiemamy-html-exporter/trunk/license/LICENSE.hamcrest.txt =================================================================== --- charon/jiemamy-html-exporter/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,27 +1,27 @@ -BSD License - -Copyright (c) 2000-2006, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +BSD License + +Copyright (c) 2000-2006, www.hamcrest.org +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of Hamcrest nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. Property changes on: charon/jiemamy-html-exporter/trunk/license/LICENSE.junit.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-html-exporter/trunk/license/LICENSE.logback.txt =================================================================== --- charon/jiemamy-html-exporter/trunk/license/LICENSE.logback.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/license/LICENSE.logback.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,22 +1,22 @@ -Logback LICENSE ---------------- - -Logback: the reliable, generic, fast and flexible logging library for -Java. - -Copyright (C) 2000-2008, QOS.ch - -Source code and binaries for logback, including logback-core, -logback-classic and logback-access modules, are distributed under the -GNU Lesser General Public License Version 2.1, as published by the -Free Software Foundation. - -This library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. +Logback LICENSE +--------------- + +Logback: the reliable, generic, fast and flexible logging library for +Java. + +Copyright (C) 2000-2008, QOS.ch + +Source code and binaries for logback, including logback-core, +logback-classic and logback-access modules, are distributed under the +GNU Lesser General Public License Version 2.1, as published by the +Free Software Foundation. + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. Modified: charon/jiemamy-html-exporter/trunk/license/LICENSE.slf4j.txt =================================================================== --- charon/jiemamy-html-exporter/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,24 +1,24 @@ -Copyright (c) 2004-2008 QOS.ch -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - +Copyright (c) 2004-2008 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + Modified: charon/jiemamy-html-exporter/trunk/license/list.txt =================================================================== --- charon/jiemamy-html-exporter/trunk/license/list.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/license/list.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,18 +1,18 @@ -Unamed: - SLF4J API Module, - JCL 1.1.1 implemented over SLF4J - -BSD style: - Hamcrest Core, - Hamcrest Library - -Common Public License Version 1.0: - JUnit - -GNU Lesser General Public License: - Logback Classic Module, - Logback Core Module - -The Apache Software License, Version 2.0: - Generic Tree Utilities - +Unamed: + SLF4J API Module, + JCL 1.1.1 implemented over SLF4J + +BSD style: + Hamcrest Core, + Hamcrest Library + +Common Public License Version 1.0: + JUnit + +GNU Lesser General Public License: + Logback Classic Module, + Logback Core Module + +The Apache Software License, Version 2.0: + Generic Tree Utilities + Modified: charon/jiemamy-html-exporter/trunk/pom.xml =================================================================== --- charon/jiemamy-html-exporter/trunk/pom.xml 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/pom.xml 2009-09-20 16:56:14 UTC (rev 3632) @@ -2,7 +2,7 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> <artifactId>master</artifactId> @@ -41,58 +41,58 @@ </repository> </repositories> <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <version>1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>net.java.dev.jmockit</groupId> - <artifactId>jmockit</artifactId> - <version>0.94</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.5.6</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>jcl-over-slf4j</artifactId> - <version>1.5.6</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>0.9.15</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>0.9.15</version> - </dependency> <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <version>1.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>net.java.dev.jmockit</groupId> + <artifactId>jmockit</artifactId> + <version>0.94</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.5.6</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>1.5.6</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>0.9.15</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>0.9.15</version> + </dependency> + <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> </dependency> - <dependency> - <groupId>org.freemarker</groupId> - <artifactId>freemarker</artifactId> - <version>2.3.11</version> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>jiemamy-spec-core</artifactId> - <version>0.2</version> - </dependency> - </dependencies> + <dependency> + <groupId>org.freemarker</groupId> + <artifactId>freemarker</artifactId> + <version>2.3.11</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jiemamy-spec-core</artifactId> + <version>0.2</version> + </dependency> + </dependencies> </project> \ No newline at end of file Modified: charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultHtmlExportConfig.java =================================================================== --- charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultHtmlExportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultHtmlExportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,67 +1,67 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/25 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - -import java.io.File; - -import org.apache.commons.lang.Validate; - -/** - * {@link HtmlExporter}に関する設定情報保持クラス。 - * - * @author daisuke - */ -public class DefaultHtmlExportConfig implements HtmlExportConfig { - - /** 出力先ファイル */ - private File outputFile; - - /** 出力先ファイルが既に存在した場合、上書きするかどうか */ - private boolean overwrite; - - - public File getOutputFile() { - return outputFile; - } - - public boolean isOverwrite() { - return overwrite; - } - - /** - * 出力ファイルを設定する。 - * - * @param outputFile 出力ファイル - * @throws IllegalArgumentException 引数に{@code null}を与えた場合 - */ - public void setOutputFile(File outputFile) { - Validate.notNull(outputFile); - this.outputFile = outputFile; - } - - /** - * 出力ファイルが既に存在した場合、上書きするかどうかを設定する。 - * - * @param overwrite 上書きする場合は{@code true}、そうでない場合は{@code false} - */ - public void setOverwrite(boolean overwrite) { - this.overwrite = overwrite; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/25 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + +import java.io.File; + +import org.apache.commons.lang.Validate; + +/** + * {@link HtmlExporter}に関する設定情報保持クラス。 + * + * @author daisuke + */ +public class DefaultHtmlExportConfig implements HtmlExportConfig { + + /** 出力先ファイル */ + private File outputFile; + + /** 出力先ファイルが既に存在した場合、上書きするかどうか */ + private boolean overwrite; + + + public File getOutputFile() { + return outputFile; + } + + public boolean isOverwrite() { + return overwrite; + } + + /** + * 出力ファイルを設定する。 + * + * @param outputFile 出力ファイル + * @throws IllegalArgumentException 引数に{@code null}を与えた場合 + */ + public void setOutputFile(File outputFile) { + Validate.notNull(outputFile); + this.outputFile = outputFile; + } + + /** + * 出力ファイルが既に存在した場合、上書きするかどうかを設定する。 + * + * @param overwrite 上書きする場合は{@code true}、そうでない場合は{@code false} + */ + public void setOverwrite(boolean overwrite) { + this.overwrite = overwrite; + } + +} Modified: charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExportConfig.java =================================================================== --- charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,30 +1,30 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/25 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - -import org.jiemamy.composer.FileExportConfig; - -/** - * {@link HtmlExporter}に関する設定情報インターフェイス。 - * - * @author daisuke - */ -public interface HtmlExportConfig extends FileExportConfig { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/25 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + +import org.jiemamy.composer.FileExportConfig; + +/** + * {@link HtmlExporter}に関する設定情報インターフェイス。 + * + * @author daisuke + */ +public interface HtmlExportConfig extends FileExportConfig { + +} Modified: charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExporter.java =================================================================== --- charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExporter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/HtmlExporter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,90 +1,90 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. Created on 2008/09/28 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - -import java.io.File; - -import org.apache.commons.lang.Validate; -import org.apache.commons.lang.builder.ToStringBuilder; -import org.apache.commons.lang.builder.ToStringStyle; - -import org.jiemamy.composer.ExportException; -import org.jiemamy.composer.Exporter; -import org.jiemamy.model.RootModel; - -/** - * モデルからHTML仕様書を生成するエクスポータ。 - * - * @author Keisuke.K - */ -public class HtmlExporter implements Exporter<HtmlExportConfig> { - - /** ConfigKey: オーバーライトするかどうか (Boolean) */ - public static final String OVERWRITE = "overwrite"; - - /** ConfigKey: 出力先ディレクトリ (File) */ - public static final String OUTPUT_DIR = "outputDir"; - - /** ConfigKey: SQL方言 (Dialect) */ - public static final String DIALECT = "dialect"; - - - public boolean exportModel(RootModel rootModel, HtmlExportConfig config) throws ExportException { - Validate.notNull(rootModel); - Validate.notNull(config); - Validate.notNull(config.getOutputFile()); - - File outputFile = config.getOutputFile(); - if (outputFile.exists()) { - if (config.isOverwrite() == false) { - return false; - } - - if (outputFile.isDirectory()) { - deleteDirectory(outputFile); - } - } - - // TODO for Keisuke.K - - return true; - } - - public String getName() { - return "HTML Exporter"; - } - - @Override - public String toString() { - return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); - } - - private void deleteDirectory(File directory) throws ExportException { - for (File file : directory.listFiles()) { - if (file.isDirectory()) { - deleteDirectory(file); - } else { - if (file.delete() == false) { - throw new ExportException("Cannot delete file: " + file.getAbsolutePath()); - } - } - } - - if (directory.delete() == false) { - throw new ExportException("Cannot delete directory: " + directory.getAbsolutePath()); - } - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. Created on 2008/09/28 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + +import java.io.File; + +import org.apache.commons.lang.Validate; +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; + +import org.jiemamy.composer.ExportException; +import org.jiemamy.composer.Exporter; +import org.jiemamy.model.RootModel; + +/** + * モデルからHTML仕様書を生成するエクスポータ。 + * + * @author Keisuke.K + */ +public class HtmlExporter implements Exporter<HtmlExportConfig> { + + /** ConfigKey: オーバーライトするかどうか (Boolean) */ + public static final String OVERWRITE = "overwrite"; + + /** ConfigKey: 出力先ディレクトリ (File) */ + public static final String OUTPUT_DIR = "outputDir"; + + /** ConfigKey: SQL方言 (Dialect) */ + public static final String DIALECT = "dialect"; + + + public boolean exportModel(RootModel rootModel, HtmlExportConfig config) throws ExportException { + Validate.notNull(rootModel); + Validate.notNull(config); + Validate.notNull(config.getOutputFile()); + + File outputFile = config.getOutputFile(); + if (outputFile.exists()) { + if (config.isOverwrite() == false) { + return false; + } + + if (outputFile.isDirectory()) { + deleteDirectory(outputFile); + } + } + + // TODO for Keisuke.K + + return true; + } + + public String getName() { + return "HTML Exporter"; + } + + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); + } + + private void deleteDirectory(File directory) throws ExportException { + for (File file : directory.listFiles()) { + if (file.isDirectory()) { + deleteDirectory(file); + } else { + if (file.delete() == false) { + throw new ExportException("Cannot delete file: " + file.getAbsolutePath()); + } + } + } + + if (directory.delete() == false) { + throw new ExportException("Cannot delete directory: " + directory.getAbsolutePath()); + } + } + +} Modified: charon/jiemamy-html-exporter/trunk/src/mock/html/style.css =================================================================== --- charon/jiemamy-html-exporter/trunk/src/mock/html/style.css 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/mock/html/style.css 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,55 +1,55 @@ -/* table */ - -#table_detail { - border: thin solid gray; - border-spacing: 0; - width: 100%; -} - -#table_detail caption { - font-size: x-large; - font-weight: bold; - text-align: left; -} - -#table_detail th { - background-color: #ccccff; - border: thin inset gray; - font-size: small; - white-space: nowrap; -} - -#table_detail td { - border: thin inset gray; - font-size: small; -} - -.column_no { - text-align: right; - white-space: nowrap; -} - -.column_logical { - text-align: left; - white-space: nowrap; -} - -.column_physical { - text-align: left; - white-space: nowrap; -} - -.column_type { - text-align: left; - white-space: nowrap; -} - -.column_length { - text-align: right; - white-space: nowrap; -} - -.column_desc { - text-align: left; - white-space: normal; -} +/* table */ + +#table_detail { + border: thin solid gray; + border-spacing: 0; + width: 100%; +} + +#table_detail caption { + font-size: x-large; + font-weight: bold; + text-align: left; +} + +#table_detail th { + background-color: #ccccff; + border: thin inset gray; + font-size: small; + white-space: nowrap; +} + +#table_detail td { + border: thin inset gray; + font-size: small; +} + +.column_no { + text-align: right; + white-space: nowrap; +} + +.column_logical { + text-align: left; + white-space: nowrap; +} + +.column_physical { + text-align: left; + white-space: nowrap; +} + +.column_type { + text-align: left; + white-space: nowrap; +} + +.column_length { + text-align: right; + white-space: nowrap; +} + +.column_desc { + text-align: left; + white-space: normal; +} Property changes on: charon/jiemamy-html-exporter/trunk/src/mock/html/style.css ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/css Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-html-exporter/trunk/src/mock/html/table.html =================================================================== --- charon/jiemamy-html-exporter/trunk/src/mock/html/table.html 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/mock/html/table.html 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,45 +1,45 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.dtd" - xml:lang="ja"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> -<title>テーブル: サンプル(TBL_SAMPLE)</title> -<link rel="stylesheet" href="./style.css" type="text/css" /> -</head> -<body> -<h2>テーブル サンプル(TBL_SAMPLE)</h2> -<hr /> -<div> -テーブルの説明 -</div> -<hr /> -<table id="table_detail"> -<caption>テーブル詳細</caption> -<thead> - <tr> - <th>項番</th> - <th>項目名(論理名)</th> - <th>カラム名(物理名)</th> - <th>型</th> - <th>桁</th> - <th>説明</th> - </tr> -</thead> -<tbody> - <tr> - <td class="column_no">0</td> - <td class="column_logical">チームID</td> - <td class="column_physical">ID</td> - <td class="column_type">INTEGER</td> - <td class="column_length">4</td> - <td class="column_desc"> - <div>チームIDを示す数値です。</div> - </td> - </tr> -</tbody> -</table> -</body> -</html> +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.dtd" + xml:lang="ja"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<title>テーブル: サンプル(TBL_SAMPLE)</title> +<link rel="stylesheet" href="./style.css" type="text/css" /> +</head> +<body> +<h2>テーブル サンプル(TBL_SAMPLE)</h2> +<hr /> +<div> +テーブルの説明 +</div> +<hr /> +<table id="table_detail"> +<caption>テーブル詳細</caption> +<thead> + <tr> + <th>項番</th> + <th>項目名(論理名)</th> + <th>カラム名(物理名)</th> + <th>型</th> + <th>桁</th> + <th>説明</th> + </tr> +</thead> +<tbody> + <tr> + <td class="column_no">0</td> + <td class="column_logical">チームID</td> + <td class="column_physical">ID</td> + <td class="column_type">INTEGER</td> + <td class="column_length">4</td> + <td class="column_desc"> + <div>チームIDを示す数値です。</div> + </td> + </tr> +</tbody> +</table> +</body> +</html> Property changes on: charon/jiemamy-html-exporter/trunk/src/mock/html/table.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-html-exporter/trunk/src/test/resources/h2.sql =================================================================== --- charon/jiemamy-html-exporter/trunk/src/test/resources/h2.sql 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/test/resources/h2.sql 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,101 +1,101 @@ - --- define: T_USER -CREATE TABLE T_USER ( - USER_ID SERIAL NOT NULL PRIMARY KEY, - USERNAME VARCHAR(32) NOT NULL UNIQUE, - PASSWORD CHAR(32) NOT NULL, - EMAIL VARCHAR(128) NOT NULL, - CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - DELETE_TS TIMESTAMP -); - -INSERT INTO T_USER (USERNAME, PASSWORD, EMAIL) - VALUES ('daisuke', 'a2b200758e247a492959ae067d581367', 'daisuke_m****@yahoo*****'); -INSERT INTO T_USER (USERNAME, PASSWORD, EMAIL) - VALUES ('bose999', '4ddb3bc340b268a16a08f52c9dc6f695', 'daisuke_m****@yahoo*****'); -INSERT INTO T_USER (USERNAME, PASSWORD, EMAIL) - VALUES ('ykhr', '99700b1eb62a1ba13a059bf3940fd463', 'daisuke_m****@yahoo*****'); - - --- define: T_POLL -CREATE TABLE T_POLL ( - POLL_ID SERIAL NOT NULL PRIMARY KEY, - TITLE VARCHAR(128) NOT NULL, - DESCRIPTION TEXT NOT NULL, - CONCLUSION TEXT, - OWNER_ID INTEGER NOT NULL, - NOTIFIED BOOLEAN NOT NULL, - OPEN_TS TIMESTAMP NOT NULL, - CLOSE_TS TIMESTAMP NOT NULL, - CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - DELETE_TS TIMESTAMP, - CONSTRAINT fkey_T_POLL_T_USER FOREIGN KEY (OWNER_ID) - REFERENCES T_USER (USER_ID) - ON DELETE SET NULL - ON UPDATE CASCADE -); - -INSERT INTO T_POLL (TITLE, DESCRIPTION, OWNER_ID, OPEN_TS, CLOSE_TS, DELETE_TS, NOTIFIED) - VALUES ('投票1', '投票1desc', 1, '2008-06-01 00:00:00', '2008-07-01 00:00:00', NULL, false); -INSERT INTO T_POLL (TITLE, DESCRIPTION, OWNER_ID, OPEN_TS, CLOSE_TS, DELETE_TS, NOTIFIED) - VALUES ('投票2', '投票2desc', 2, '2008-06-01 00:00:00', '2008-07-01 00:00:00', NULL, false); - - --- define: T_CHOICE -CREATE TABLE T_CHOICE ( - CHOICE_ID SERIAL NOT NULL PRIMARY KEY, - POLL_ID INTEGER NOT NULL, - NAME VARCHAR(64) NOT NULL, - CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - DELETE_TS TIMESTAMP, - CONSTRAINT fkey_T_CHOICE_T_POLL FOREIGN KEY (POLL_ID) - REFERENCES T_POLL (POLL_ID) - ON DELETE CASCADE - ON UPDATE CASCADE -); - -INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) - VALUES (1, '1-1', NULL); -INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) - VALUES (1, '1-2', NULL); -INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) - VALUES (2, '2-1', NULL); -INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) - VALUES (2, '2-2', NULL); - - --- define: T_VOTE -CREATE TABLE T_VOTE ( - VOTE_ID SERIAL NOT NULL PRIMARY KEY, - USER_ID INTEGER NOT NULL, - POLL_ID INTEGER NOT NULL, - CHOICE_ID INTEGER NOT NULL, - COMMENT VARCHAR(255), - CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, - DELETE_TS TIMESTAMP, - CONSTRAINT fkey_T_VOTE_T_USER FOREIGN KEY (USER_ID) - REFERENCES T_USER (USER_ID) - ON DELETE CASCADE - ON UPDATE CASCADE, - CONSTRAINT fkey_T_VOTE_T_POLL FOREIGN KEY (POLL_ID) - REFERENCES T_POLL (POLL_ID) - ON DELETE CASCADE - ON UPDATE CASCADE, - CONSTRAINT fkey_T_VOTE_T_CHOICE FOREIGN KEY (CHOICE_ID) - REFERENCES T_CHOICE (CHOICE_ID) - ON DELETE RESTRICT - ON UPDATE CASCADE -); - -INSERT INTO T_VOTE (USER_ID, POLL_ID, CHOICE_ID, DELETE_TS) - VALUES (1, 1, 1, NULL); -INSERT INTO T_VOTE (USER_ID, POLL_ID, CHOICE_ID) - VALUES (2, 1, 2); -INSERT INTO T_VOTE (USER_ID, POLL_ID, CHOICE_ID) - VALUES (2, 2, 3); - - + +-- define: T_USER +CREATE TABLE T_USER ( + USER_ID SERIAL NOT NULL PRIMARY KEY, + USERNAME VARCHAR(32) NOT NULL UNIQUE, + PASSWORD CHAR(32) NOT NULL, + EMAIL VARCHAR(128) NOT NULL, + CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + DELETE_TS TIMESTAMP +); + +INSERT INTO T_USER (USERNAME, PASSWORD, EMAIL) + VALUES ('daisuke', 'a2b200758e247a492959ae067d581367', 'daisuke_m****@yahoo*****'); +INSERT INTO T_USER (USERNAME, PASSWORD, EMAIL) + VALUES ('bose999', '4ddb3bc340b268a16a08f52c9dc6f695', 'daisuke_m****@yahoo*****'); +INSERT INTO T_USER (USERNAME, PASSWORD, EMAIL) + VALUES ('ykhr', '99700b1eb62a1ba13a059bf3940fd463', 'daisuke_m****@yahoo*****'); + + +-- define: T_POLL +CREATE TABLE T_POLL ( + POLL_ID SERIAL NOT NULL PRIMARY KEY, + TITLE VARCHAR(128) NOT NULL, + DESCRIPTION TEXT NOT NULL, + CONCLUSION TEXT, + OWNER_ID INTEGER NOT NULL, + NOTIFIED BOOLEAN NOT NULL, + OPEN_TS TIMESTAMP NOT NULL, + CLOSE_TS TIMESTAMP NOT NULL, + CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + DELETE_TS TIMESTAMP, + CONSTRAINT fkey_T_POLL_T_USER FOREIGN KEY (OWNER_ID) + REFERENCES T_USER (USER_ID) + ON DELETE SET NULL + ON UPDATE CASCADE +); + +INSERT INTO T_POLL (TITLE, DESCRIPTION, OWNER_ID, OPEN_TS, CLOSE_TS, DELETE_TS, NOTIFIED) + VALUES ('投票1', '投票1desc', 1, '2008-06-01 00:00:00', '2008-07-01 00:00:00', NULL, false); +INSERT INTO T_POLL (TITLE, DESCRIPTION, OWNER_ID, OPEN_TS, CLOSE_TS, DELETE_TS, NOTIFIED) + VALUES ('投票2', '投票2desc', 2, '2008-06-01 00:00:00', '2008-07-01 00:00:00', NULL, false); + + +-- define: T_CHOICE +CREATE TABLE T_CHOICE ( + CHOICE_ID SERIAL NOT NULL PRIMARY KEY, + POLL_ID INTEGER NOT NULL, + NAME VARCHAR(64) NOT NULL, + CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + DELETE_TS TIMESTAMP, + CONSTRAINT fkey_T_CHOICE_T_POLL FOREIGN KEY (POLL_ID) + REFERENCES T_POLL (POLL_ID) + ON DELETE CASCADE + ON UPDATE CASCADE +); + +INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) + VALUES (1, '1-1', NULL); +INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) + VALUES (1, '1-2', NULL); +INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) + VALUES (2, '2-1', NULL); +INSERT INTO T_CHOICE (POLL_ID, NAME, DELETE_TS) + VALUES (2, '2-2', NULL); + + +-- define: T_VOTE +CREATE TABLE T_VOTE ( + VOTE_ID SERIAL NOT NULL PRIMARY KEY, + USER_ID INTEGER NOT NULL, + POLL_ID INTEGER NOT NULL, + CHOICE_ID INTEGER NOT NULL, + COMMENT VARCHAR(255), + CREATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + UPDATE_TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP() NOT NULL, + DELETE_TS TIMESTAMP, + CONSTRAINT fkey_T_VOTE_T_USER FOREIGN KEY (USER_ID) + REFERENCES T_USER (USER_ID) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT fkey_T_VOTE_T_POLL FOREIGN KEY (POLL_ID) + REFERENCES T_POLL (POLL_ID) + ON DELETE CASCADE + ON UPDATE CASCADE, + CONSTRAINT fkey_T_VOTE_T_CHOICE FOREIGN KEY (CHOICE_ID) + REFERENCES T_CHOICE (CHOICE_ID) + ON DELETE RESTRICT + ON UPDATE CASCADE +); + +INSERT INTO T_VOTE (USER_ID, POLL_ID, CHOICE_ID, DELETE_TS) + VALUES (1, 1, 1, NULL); +INSERT INTO T_VOTE (USER_ID, POLL_ID, CHOICE_ID) + VALUES (2, 1, 2); +INSERT INTO T_VOTE (USER_ID, POLL_ID, CHOICE_ID) + VALUES (2, 2, 3); + + Property changes on: charon/jiemamy-html-exporter/trunk/src/test/resources/h2.sql ___________________________________________________________________ Added: svn:mime-type + text/x-sql Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-html-exporter/trunk/src/test/resources/logback.xml =================================================================== --- charon/jiemamy-html-exporter/trunk/src/test/resources/logback.xml 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-html-exporter/trunk/src/test/resources/logback.xml 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,26 +1,26 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <Target>System.out</Target> - <layout class="ch.qos.logback.classic.PatternLayout"> - <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> - </layout> - </appender> - - <root> - <level value="WARN" /> - <appender-ref ref="STDOUT" /> - </root> - - <logger name="org.jiemamy"> - <level value="INFO" /> - </logger> - - <logger name="org.jiemamy.utils.enhancer"> - <level value="WARN" /> - </logger> - - <logger name="org.jiemamy.composer"> - <level value="TRACE" /> - </logger> -</configuration> +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <Target>System.out</Target> + <layout class="ch.qos.logback.classic.PatternLayout"> + <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> + </layout> + </appender> + + <root> + <level value="WARN" /> + <appender-ref ref="STDOUT" /> + </root> + + <logger name="org.jiemamy"> + <level value="INFO" /> + </logger> + + <logger name="org.jiemamy.utils.enhancer"> + <level value="WARN" /> + </logger> + + <logger name="org.jiemamy.composer"> + <level value="TRACE" /> + </logger> +</configuration> Modified: charon/jiemamy-jpa-exporter/trunk/LICENSE.txt =================================================================== --- charon/jiemamy-jpa-exporter/trunk/LICENSE.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/LICENSE.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Modified: charon/jiemamy-jpa-exporter/trunk/license/LICENSE.hamcrest.txt =================================================================== --- charon/jiemamy-jpa-exporter/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,27 +1,27 @@ -BSD License - -Copyright (c) 2000-2006, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +BSD License + +Copyright (c) 2000-2006, www.hamcrest.org +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of Hamcrest nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. Property changes on: charon/jiemamy-jpa-exporter/trunk/license/LICENSE.junit.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-jpa-exporter/trunk/license/LICENSE.logback.txt =================================================================== --- charon/jiemamy-jpa-exporter/trunk/license/LICENSE.logback.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/license/LICENSE.logback.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,22 +1,22 @@ -Logback LICENSE ---------------- - -Logback: the reliable, generic, fast and flexible logging library for -Java. - -Copyright (C) 2000-2008, QOS.ch - -Source code and binaries for logback, including logback-core, -logback-classic and logback-access modules, are distributed under the -GNU Lesser General Public License Version 2.1, as published by the -Free Software Foundation. - -This library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. +Logback LICENSE +--------------- + +Logback: the reliable, generic, fast and flexible logging library for +Java. + +Copyright (C) 2000-2008, QOS.ch + +Source code and binaries for logback, including logback-core, +logback-classic and logback-access modules, are distributed under the +GNU Lesser General Public License Version 2.1, as published by the +Free Software Foundation. + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. Modified: charon/jiemamy-jpa-exporter/trunk/license/LICENSE.slf4j.txt =================================================================== --- charon/jiemamy-jpa-exporter/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,24 +1,24 @@ -Copyright (c) 2004-2008 QOS.ch -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - +Copyright (c) 2004-2008 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + Modified: charon/jiemamy-jpa-exporter/trunk/license/list.txt =================================================================== --- charon/jiemamy-jpa-exporter/trunk/license/list.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/license/list.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,18 +1,18 @@ -Unamed: - SLF4J API Module, - JCL 1.1.1 implemented over SLF4J - -BSD style: - Hamcrest Core, - Hamcrest Library - -Common Public License Version 1.0: - JUnit - -GNU Lesser General Public License: - Logback Classic Module, - Logback Core Module - -The Apache Software License, Version 2.0: - Generic Tree Utilities - +Unamed: + SLF4J API Module, + JCL 1.1.1 implemented over SLF4J + +BSD style: + Hamcrest Core, + Hamcrest Library + +Common Public License Version 1.0: + JUnit + +GNU Lesser General Public License: + Logback Classic Module, + Logback Core Module + +The Apache Software License, Version 2.0: + Generic Tree Utilities + Modified: charon/jiemamy-jpa-exporter/trunk/pom.xml =================================================================== --- charon/jiemamy-jpa-exporter/trunk/pom.xml 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/pom.xml 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> <artifactId>master</artifactId> @@ -40,25 +40,25 @@ </repository> </repositories> <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <version>1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>net.java.dev.jmockit</groupId> - <artifactId>jmockit</artifactId> - <version>0.94</version> - <scope>test</scope> - </dependency> <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <version>1.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>net.java.dev.jmockit</groupId> + <artifactId>jmockit</artifactId> + <version>0.94</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>${project.groupId}</groupId> <artifactId>jiemamy-test-helper</artifactId> <version>0.0.1</version> @@ -70,27 +70,27 @@ <version>0.2.0</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.5.6</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>jcl-over-slf4j</artifactId> - <version>1.5.6</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>0.9.15</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>0.9.15</version> - </dependency> <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.5.6</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>1.5.6</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>0.9.15</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>0.9.15</version> + </dependency> + <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> @@ -110,10 +110,10 @@ <artifactId>jiemamy-commons</artifactId> <version>0.0.3</version> </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>jiemamy-spec-core</artifactId> - <version>0.2</version> - </dependency> - </dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jiemamy-spec-core</artifactId> + <version>0.2</version> + </dependency> + </dependencies> </project> \ No newline at end of file Modified: charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultJpaExportConfig.java =================================================================== --- charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultJpaExportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/DefaultJpaExportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,29 +1,29 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - - -/** - * {@link JpaExporter}に関する設定情報保持クラス。 - * - * @author j5ik2o - */ -public class DefaultJpaExportConfig implements JpaExportConfig { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + + +/** + * {@link JpaExporter}に関する設定情報保持クラス。 + * + * @author j5ik2o + */ +public class DefaultJpaExportConfig implements JpaExportConfig { + +} Modified: charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExportConfig.java =================================================================== --- charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,30 +1,30 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/04/08 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - -import org.jiemamy.composer.ExportConfig; - -/** - * TODO for j5ik2o - * - * @author j5ik2o - */ -public interface JpaExportConfig extends ExportConfig { - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/04/08 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + +import org.jiemamy.composer.ExportConfig; + +/** + * TODO for j5ik2o + * + * @author j5ik2o + */ +public interface JpaExportConfig extends ExportConfig { + +} Modified: charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExporter.java =================================================================== --- charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExporter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/src/main/java/org/jiemamy/composer/exporter/JpaExporter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,232 +1,232 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/04/08 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - -import java.io.IOException; -import java.util.List; -import java.util.Map; - -import org.jiemamy.Jiemamy; -import org.jiemamy.ReferenceResolver; -import org.jiemamy.composer.ExportException; -import org.jiemamy.composer.Exporter; -import org.jiemamy.entity.io.gen.desc.DefaultEntityDescSetWriterContext; -import org.jiemamy.entity.io.gen.desc.DefaultEntityDescSetWriterFactory; -import org.jiemamy.entity.io.gen.desc.EntityDescSetWriter; -import org.jiemamy.entity.io.gen.desc.impl.IdentityNotSupportedException; -import org.jiemamy.entity.io.gen.meta.DbColumnMeta; -import org.jiemamy.entity.io.gen.meta.DbForeignKeyMeta; -import org.jiemamy.entity.io.gen.meta.DbTableMeta; -import org.jiemamy.entity.io.gen.meta.DbTableMetaReader; -import org.jiemamy.entity.io.gen.meta.DbUniqueKeyMeta; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.AttributeModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.ColumnRef; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.attribute.constraint.PrimaryKey; -import org.jiemamy.model.attribute.constraint.UniqueKey; -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.DataType; -import org.jiemamy.model.datatype.DataTypeCategory; -import org.jiemamy.model.datatype.DomainModel; -import org.jiemamy.model.datatype.DomainRef; -import org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter; -import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; -import org.jiemamy.model.entity.EntityModel; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.utils.CollectionsUtil; - -/** - * TODO for j5ik2o - * - * @author j5ik2o - */ -public class JpaExporter implements Exporter<JpaExportConfig> { - - public boolean exportModel(RootModel rootModel, JpaExportConfig config) throws ExportException { - DefaultEntityDescSetWriterContext context = new DefaultEntityDescSetWriterContext(); - context.setDbTableMetaReader(new DbTableMetaReaderImpl(rootModel)); - try { - EntityDescSetWriter edsw = new DefaultEntityDescSetWriterFactory().createEntityDescSetWriter(context); - edsw.write(); - } catch (IdentityNotSupportedException e) { - throw new ExportException(e); - } catch (IOException e) { - throw new ExportException(e); - } - return false; - } - - public String getName() { - return "JPA Exporter"; - } - - - /** - * TODO for kato - * - * @author j5ik2o - */ - protected static class DbTableMetaReaderImpl implements DbTableMetaReader { - - private RootModel rootModel; - - private Jiemamy jiemamy; - - private ReferenceResolver resolver; - - private Map<String, DbForeignKeyMeta> dbForeignKeyMetaMap = CollectionsUtil.newHashMap(); - - private Map<String, DbUniqueKeyMeta> dbUniqueKeyMetaMap = CollectionsUtil.newHashMap(); - - - /** - * インスタンスを生成する。 - * - * @param rootModel {@link RootModel} - */ - public DbTableMetaReaderImpl(RootModel rootModel) { - this.rootModel = rootModel; - jiemamy = rootModel.getJiemamy(); - resolver = jiemamy.getReferenceResolver(); - } - - public List<DbTableMeta> read() { - List<DbTableMeta> result = CollectionsUtil.newArrayList(); - for (EntityModel entityModel : rootModel.getEntities()) { - if (entityModel instanceof TableModel) { - DbTableMeta dbTableMeta = new DbTableMeta(); - TableModel tableModel = TableModel.class.cast(entityModel); - doTableMeta(dbTableMeta, tableModel); - for (AttributeModel attributeModel : tableModel.getAttributes()) { - if (attributeModel instanceof ColumnModel) { - DbColumnMeta dbColumnMeta = new DbColumnMeta(); - ColumnModel columnModel = ColumnModel.class.cast(attributeModel); - doColumnMeta(dbColumnMeta, columnModel); - dbTableMeta.addColumnMeta(dbColumnMeta); - } - if (attributeModel instanceof ForeignKey) { - ForeignKey foreignKey = ForeignKey.class.cast(attributeModel); - DbForeignKeyMeta foreignKeyMeta = doForeignKey(tableModel, foreignKey); - dbTableMeta.addForeignKeyMeta(foreignKeyMeta); - } - if (attributeModel instanceof PrimaryKey) { - PrimaryKey primaryKey = PrimaryKey.class.cast(attributeModel); - doPrimaryKey(primaryKey); - DbUniqueKeyMeta dbUniqueKeyMeta = dbUniqueKeyMetaMap.get(primaryKey.getName()); - for (ColumnRef columnRef : primaryKey.getKeyColumns()) { - ColumnModel columnModel = resolver.resolve(columnRef); - dbUniqueKeyMeta.addColumnName(columnModel.getName()); - } - } - if (attributeModel instanceof UniqueKey) { - UniqueKey uniqueKey = UniqueKey.class.cast(attributeModel); - doUniqueKey(uniqueKey); - DbUniqueKeyMeta dbUniqueKeyMeta = dbUniqueKeyMetaMap.get(uniqueKey.getName()); - for (ColumnRef columnRef : uniqueKey.getKeyColumns()) { - ColumnModel columnModel = resolver.resolve(columnRef); - dbUniqueKeyMeta.addColumnName(columnModel.getName()); - } - } - } - for (Map.Entry<String, DbUniqueKeyMeta> entry : dbUniqueKeyMetaMap.entrySet()) { - DbUniqueKeyMeta dbUniqueKeyMeta = entry.getValue(); - dbTableMeta.addUniqueKeyMeta(dbUniqueKeyMeta); - } - result.add(dbTableMeta); - } - } - return result; - } - - private void doColumnMeta(DbColumnMeta dbColumnMeta, ColumnModel columnModel) { - dbColumnMeta.setName(columnModel.getName()); - dbColumnMeta.setPrimaryKey(columnModel.getPrimaryKey() != null); - dbColumnMeta.setUnique(columnModel.getUniqueKey() != null); - dbColumnMeta.setNullable(columnModel.getNotNullConstraint() == null); - dbColumnMeta.setDefaultValue(columnModel.getDefaultValue()); - DataType dataType = columnModel.getDataType(); - if (dataType instanceof BuiltinDataType) { - BuiltinDataType builtinDataType = BuiltinDataType.class.cast(dataType); - doDataType(dbColumnMeta, builtinDataType); - } else if (dataType instanceof DomainRef) { - DomainRef domainRef = DomainRef.class.cast(dataType); - DomainModel domainModel = resolver.resolve(domainRef); - BuiltinDataType builtinDataType = domainModel.getDataType(); - doDataType(dbColumnMeta, builtinDataType); - } - } - - private void doDataType(DbColumnMeta dbColumnMeta, BuiltinDataType builtinDataType) { - DataTypeCategory dataTypeCategory = builtinDataType.getCategory(); - dbColumnMeta.setSqlType(dataTypeCategory.getSqlType()); - dbColumnMeta.setTypeName(builtinDataType.getTypeName()); - if (builtinDataType.hasAdapter(SizedDataTypeAdapter.class)) { - Integer size = builtinDataType.getAdapter(SizedDataTypeAdapter.class).getSize(); - dbColumnMeta.setLength(size); - } - if (builtinDataType.hasAdapter(PrecisionedDataTypeAdapter.class)) { - Integer precision = builtinDataType.getAdapter(PrecisionedDataTypeAdapter.class).getPrecision(); - dbColumnMeta.setScale(precision); - } - } - - private DbForeignKeyMeta doForeignKey(TableModel tableModel, ForeignKey foreignKey) { - if (dbForeignKeyMetaMap.containsKey(foreignKey.getName()) == false) { - DbForeignKeyMeta foreignKeyMeta = new DbForeignKeyMeta(); - foreignKeyMeta.setName(foreignKey.getName()); - //foreignKeyMeta.setPrimaryKeyCatalogName(primaryKeyCatalogName); - //foreignKeyMeta.setPrimaryKeySchemaName(primaryKeySchemaName); - foreignKeyMeta.setPrimaryKeyTableName(tableModel.getName()); - dbForeignKeyMetaMap.put(foreignKey.getName(), foreignKeyMeta); - } - DbForeignKeyMeta foreignKeyMeta = dbForeignKeyMetaMap.get(foreignKey.getName()); - for (ColumnRef columnRef : foreignKey.getKeyColumns()) { - ColumnModel columnModel = resolver.resolve(columnRef); - foreignKeyMeta.addForeignKeyColumnName(columnModel.getName()); - } - return foreignKeyMeta; - } - - private void doPrimaryKey(PrimaryKey primaryKey) { - if (dbUniqueKeyMetaMap.containsKey(primaryKey.getName()) == false) { - DbUniqueKeyMeta dbUniqueKeyMeta = new DbUniqueKeyMeta(); - dbUniqueKeyMeta.setName(primaryKey.getName()); - dbUniqueKeyMeta.setPrimaryKey(true); - dbUniqueKeyMetaMap.put(primaryKey.getName(), dbUniqueKeyMeta); - } - } - - private void doTableMeta(DbTableMeta dbTableMeta, TableModel tableModel) { - dbTableMeta.setName(tableModel.getName()); - dbTableMeta.setSchemaName(rootModel.getSchemaName()); - } - - private void doUniqueKey(UniqueKey uniqueKey) { - if (dbUniqueKeyMetaMap.containsKey(uniqueKey.getName()) == false) { - DbUniqueKeyMeta dbUniqueKeyMeta = new DbUniqueKeyMeta(); - dbUniqueKeyMeta.setName(uniqueKey.getName()); - dbUniqueKeyMeta.setPrimaryKey(false); - dbUniqueKeyMetaMap.put(uniqueKey.getName(), dbUniqueKeyMeta); - } - } - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/04/08 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import org.jiemamy.Jiemamy; +import org.jiemamy.ReferenceResolver; +import org.jiemamy.composer.ExportException; +import org.jiemamy.composer.Exporter; +import org.jiemamy.entity.io.gen.desc.DefaultEntityDescSetWriterContext; +import org.jiemamy.entity.io.gen.desc.DefaultEntityDescSetWriterFactory; +import org.jiemamy.entity.io.gen.desc.EntityDescSetWriter; +import org.jiemamy.entity.io.gen.desc.impl.IdentityNotSupportedException; +import org.jiemamy.entity.io.gen.meta.DbColumnMeta; +import org.jiemamy.entity.io.gen.meta.DbForeignKeyMeta; +import org.jiemamy.entity.io.gen.meta.DbTableMeta; +import org.jiemamy.entity.io.gen.meta.DbTableMetaReader; +import org.jiemamy.entity.io.gen.meta.DbUniqueKeyMeta; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.AttributeModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.ColumnRef; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.attribute.constraint.PrimaryKey; +import org.jiemamy.model.attribute.constraint.UniqueKey; +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataType; +import org.jiemamy.model.datatype.DataTypeCategory; +import org.jiemamy.model.datatype.DomainModel; +import org.jiemamy.model.datatype.DomainRef; +import org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter; +import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; +import org.jiemamy.model.entity.EntityModel; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.utils.CollectionsUtil; + +/** + * TODO for j5ik2o + * + * @author j5ik2o + */ +public class JpaExporter implements Exporter<JpaExportConfig> { + + public boolean exportModel(RootModel rootModel, JpaExportConfig config) throws ExportException { + DefaultEntityDescSetWriterContext context = new DefaultEntityDescSetWriterContext(); + context.setDbTableMetaReader(new DbTableMetaReaderImpl(rootModel)); + try { + EntityDescSetWriter edsw = new DefaultEntityDescSetWriterFactory().createEntityDescSetWriter(context); + edsw.write(); + } catch (IdentityNotSupportedException e) { + throw new ExportException(e); + } catch (IOException e) { + throw new ExportException(e); + } + return false; + } + + public String getName() { + return "JPA Exporter"; + } + + + /** + * TODO for kato + * + * @author j5ik2o + */ + protected static class DbTableMetaReaderImpl implements DbTableMetaReader { + + private RootModel rootModel; + + private Jiemamy jiemamy; + + private ReferenceResolver resolver; + + private Map<String, DbForeignKeyMeta> dbForeignKeyMetaMap = CollectionsUtil.newHashMap(); + + private Map<String, DbUniqueKeyMeta> dbUniqueKeyMetaMap = CollectionsUtil.newHashMap(); + + + /** + * インスタンスを生成する。 + * + * @param rootModel {@link RootModel} + */ + public DbTableMetaReaderImpl(RootModel rootModel) { + this.rootModel = rootModel; + jiemamy = rootModel.getJiemamy(); + resolver = jiemamy.getReferenceResolver(); + } + + public List<DbTableMeta> read() { + List<DbTableMeta> result = CollectionsUtil.newArrayList(); + for (EntityModel entityModel : rootModel.getEntities()) { + if (entityModel instanceof TableModel) { + DbTableMeta dbTableMeta = new DbTableMeta(); + TableModel tableModel = TableModel.class.cast(entityModel); + doTableMeta(dbTableMeta, tableModel); + for (AttributeModel attributeModel : tableModel.getAttributes()) { + if (attributeModel instanceof ColumnModel) { + DbColumnMeta dbColumnMeta = new DbColumnMeta(); + ColumnModel columnModel = ColumnModel.class.cast(attributeModel); + doColumnMeta(dbColumnMeta, columnModel); + dbTableMeta.addColumnMeta(dbColumnMeta); + } + if (attributeModel instanceof ForeignKey) { + ForeignKey foreignKey = ForeignKey.class.cast(attributeModel); + DbForeignKeyMeta foreignKeyMeta = doForeignKey(tableModel, foreignKey); + dbTableMeta.addForeignKeyMeta(foreignKeyMeta); + } + if (attributeModel instanceof PrimaryKey) { + PrimaryKey primaryKey = PrimaryKey.class.cast(attributeModel); + doPrimaryKey(primaryKey); + DbUniqueKeyMeta dbUniqueKeyMeta = dbUniqueKeyMetaMap.get(primaryKey.getName()); + for (ColumnRef columnRef : primaryKey.getKeyColumns()) { + ColumnModel columnModel = resolver.resolve(columnRef); + dbUniqueKeyMeta.addColumnName(columnModel.getName()); + } + } + if (attributeModel instanceof UniqueKey) { + UniqueKey uniqueKey = UniqueKey.class.cast(attributeModel); + doUniqueKey(uniqueKey); + DbUniqueKeyMeta dbUniqueKeyMeta = dbUniqueKeyMetaMap.get(uniqueKey.getName()); + for (ColumnRef columnRef : uniqueKey.getKeyColumns()) { + ColumnModel columnModel = resolver.resolve(columnRef); + dbUniqueKeyMeta.addColumnName(columnModel.getName()); + } + } + } + for (Map.Entry<String, DbUniqueKeyMeta> entry : dbUniqueKeyMetaMap.entrySet()) { + DbUniqueKeyMeta dbUniqueKeyMeta = entry.getValue(); + dbTableMeta.addUniqueKeyMeta(dbUniqueKeyMeta); + } + result.add(dbTableMeta); + } + } + return result; + } + + private void doColumnMeta(DbColumnMeta dbColumnMeta, ColumnModel columnModel) { + dbColumnMeta.setName(columnModel.getName()); + dbColumnMeta.setPrimaryKey(columnModel.getPrimaryKey() != null); + dbColumnMeta.setUnique(columnModel.getUniqueKey() != null); + dbColumnMeta.setNullable(columnModel.getNotNullConstraint() == null); + dbColumnMeta.setDefaultValue(columnModel.getDefaultValue()); + DataType dataType = columnModel.getDataType(); + if (dataType instanceof BuiltinDataType) { + BuiltinDataType builtinDataType = BuiltinDataType.class.cast(dataType); + doDataType(dbColumnMeta, builtinDataType); + } else if (dataType instanceof DomainRef) { + DomainRef domainRef = DomainRef.class.cast(dataType); + DomainModel domainModel = resolver.resolve(domainRef); + BuiltinDataType builtinDataType = domainModel.getDataType(); + doDataType(dbColumnMeta, builtinDataType); + } + } + + private void doDataType(DbColumnMeta dbColumnMeta, BuiltinDataType builtinDataType) { + DataTypeCategory dataTypeCategory = builtinDataType.getCategory(); + dbColumnMeta.setSqlType(dataTypeCategory.getSqlType()); + dbColumnMeta.setTypeName(builtinDataType.getTypeName()); + if (builtinDataType.hasAdapter(SizedDataTypeAdapter.class)) { + Integer size = builtinDataType.getAdapter(SizedDataTypeAdapter.class).getSize(); + dbColumnMeta.setLength(size); + } + if (builtinDataType.hasAdapter(PrecisionedDataTypeAdapter.class)) { + Integer precision = builtinDataType.getAdapter(PrecisionedDataTypeAdapter.class).getPrecision(); + dbColumnMeta.setScale(precision); + } + } + + private DbForeignKeyMeta doForeignKey(TableModel tableModel, ForeignKey foreignKey) { + if (dbForeignKeyMetaMap.containsKey(foreignKey.getName()) == false) { + DbForeignKeyMeta foreignKeyMeta = new DbForeignKeyMeta(); + foreignKeyMeta.setName(foreignKey.getName()); + //foreignKeyMeta.setPrimaryKeyCatalogName(primaryKeyCatalogName); + //foreignKeyMeta.setPrimaryKeySchemaName(primaryKeySchemaName); + foreignKeyMeta.setPrimaryKeyTableName(tableModel.getName()); + dbForeignKeyMetaMap.put(foreignKey.getName(), foreignKeyMeta); + } + DbForeignKeyMeta foreignKeyMeta = dbForeignKeyMetaMap.get(foreignKey.getName()); + for (ColumnRef columnRef : foreignKey.getKeyColumns()) { + ColumnModel columnModel = resolver.resolve(columnRef); + foreignKeyMeta.addForeignKeyColumnName(columnModel.getName()); + } + return foreignKeyMeta; + } + + private void doPrimaryKey(PrimaryKey primaryKey) { + if (dbUniqueKeyMetaMap.containsKey(primaryKey.getName()) == false) { + DbUniqueKeyMeta dbUniqueKeyMeta = new DbUniqueKeyMeta(); + dbUniqueKeyMeta.setName(primaryKey.getName()); + dbUniqueKeyMeta.setPrimaryKey(true); + dbUniqueKeyMetaMap.put(primaryKey.getName(), dbUniqueKeyMeta); + } + } + + private void doTableMeta(DbTableMeta dbTableMeta, TableModel tableModel) { + dbTableMeta.setName(tableModel.getName()); + dbTableMeta.setSchemaName(rootModel.getSchemaName()); + } + + private void doUniqueKey(UniqueKey uniqueKey) { + if (dbUniqueKeyMetaMap.containsKey(uniqueKey.getName()) == false) { + DbUniqueKeyMeta dbUniqueKeyMeta = new DbUniqueKeyMeta(); + dbUniqueKeyMeta.setName(uniqueKey.getName()); + dbUniqueKeyMeta.setPrimaryKey(false); + dbUniqueKeyMetaMap.put(uniqueKey.getName(), dbUniqueKeyMeta); + } + } + } + +} Modified: charon/jiemamy-jpa-exporter/trunk/src/test/java/org/jiemamy/composer/exporter/JpaExporterTest.java =================================================================== --- charon/jiemamy-jpa-exporter/trunk/src/test/java/org/jiemamy/composer/exporter/JpaExporterTest.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/src/test/java/org/jiemamy/composer/exporter/JpaExporterTest.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,67 +1,67 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 16, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.exporter; - -import static org.junit.Assert.fail; - -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import org.jiemamy.Jiemamy; -import org.jiemamy.dialect.generic.GenericDialect; -import org.jiemamy.model.RootModel; - -/** - * {@link JpaExporter}のテストクラス。 - * - * @author j5ik2o - */ -public class JpaExporterTest { - - private JpaExporter jpaExporter; - - private Jiemamy jiemamy; - - private RootModel rootModel; - - - /** - * テストを初期化する。 - * - * @throws Exception 例外が発生した場合 - */ - @Before - public void setUp() throws Exception { - jiemamy = Jiemamy.newInstance(); - rootModel = jiemamy.getFactory().getRootModel(); - rootModel.setDialectClassName(GenericDialect.class.getName()); - jpaExporter = new JpaExporter(); - } - - /** - * Test method for {@link org.jiemamy.composer.exporter.JpaExporter#exportModel(org.jiemamy.model.RootModel, org.jiemamy.composer.exporter.JpaExportConfig)}. - */ - @Test - @Ignore - public void testExportModel() { - fail("Not yet implemented"); - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 16, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.exporter; + +import static org.junit.Assert.fail; + +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +import org.jiemamy.Jiemamy; +import org.jiemamy.dialect.generic.GenericDialect; +import org.jiemamy.model.RootModel; + +/** + * {@link JpaExporter}のテストクラス。 + * + * @author j5ik2o + */ +public class JpaExporterTest { + + private JpaExporter jpaExporter; + + private Jiemamy jiemamy; + + private RootModel rootModel; + + + /** + * テストを初期化する。 + * + * @throws Exception 例外が発生した場合 + */ + @Before + public void setUp() throws Exception { + jiemamy = Jiemamy.newInstance(); + rootModel = jiemamy.getFactory().getRootModel(); + rootModel.setDialectClassName(GenericDialect.class.getName()); + jpaExporter = new JpaExporter(); + } + + /** + * Test method for {@link org.jiemamy.composer.exporter.JpaExporter#exportModel(org.jiemamy.model.RootModel, org.jiemamy.composer.exporter.JpaExportConfig)}. + */ + @Test + @Ignore + public void testExportModel() { + fail("Not yet implemented"); + } + +} Modified: charon/jiemamy-jpa-exporter/trunk/src/test/resources/logback.xml =================================================================== --- charon/jiemamy-jpa-exporter/trunk/src/test/resources/logback.xml 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-exporter/trunk/src/test/resources/logback.xml 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,26 +1,26 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <Target>System.out</Target> - <layout class="ch.qos.logback.classic.PatternLayout"> - <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> - </layout> - </appender> - - <root> - <level value="WARN" /> - <appender-ref ref="STDOUT" /> - </root> - - <logger name="org.jiemamy"> - <level value="INFO" /> - </logger> - - <logger name="org.jiemamy.utils.enhancer"> - <level value="WARN" /> - </logger> - - <logger name="org.jiemamy.composer"> - <level value="TRACE" /> - </logger> -</configuration> +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <Target>System.out</Target> + <layout class="ch.qos.logback.classic.PatternLayout"> + <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> + </layout> + </appender> + + <root> + <level value="WARN" /> + <appender-ref ref="STDOUT" /> + </root> + + <logger name="org.jiemamy"> + <level value="INFO" /> + </logger> + + <logger name="org.jiemamy.utils.enhancer"> + <level value="WARN" /> + </logger> + + <logger name="org.jiemamy.composer"> + <level value="TRACE" /> + </logger> +</configuration> Modified: charon/jiemamy-jpa-importer/trunk/LICENSE.txt =================================================================== --- charon/jiemamy-jpa-importer/trunk/LICENSE.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/LICENSE.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,202 +1,202 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Modified: charon/jiemamy-jpa-importer/trunk/license/LICENSE.hamcrest.txt =================================================================== --- charon/jiemamy-jpa-importer/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/license/LICENSE.hamcrest.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,27 +1,27 @@ -BSD License - -Copyright (c) 2000-2006, www.hamcrest.org -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of Hamcrest nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +BSD License + +Copyright (c) 2000-2006, www.hamcrest.org +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. Redistributions in binary form must reproduce +the above copyright notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the distribution. + +Neither the name of Hamcrest nor the names of its contributors may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. Property changes on: charon/jiemamy-jpa-importer/trunk/license/LICENSE.junit.html ___________________________________________________________________ Modified: svn:mime-type - text/plain + text/html Added: svn:keywords + Date Revision Author HeadURL Id Added: svn:eol-style + native Modified: charon/jiemamy-jpa-importer/trunk/license/LICENSE.logback.txt =================================================================== --- charon/jiemamy-jpa-importer/trunk/license/LICENSE.logback.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/license/LICENSE.logback.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,22 +1,22 @@ -Logback LICENSE ---------------- - -Logback: the reliable, generic, fast and flexible logging library for -Java. - -Copyright (C) 2000-2008, QOS.ch - -Source code and binaries for logback, including logback-core, -logback-classic and logback-access modules, are distributed under the -GNU Lesser General Public License Version 2.1, as published by the -Free Software Foundation. - -This library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as -published by the Free Software Foundation; either version 2.1 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. +Logback LICENSE +--------------- + +Logback: the reliable, generic, fast and flexible logging library for +Java. + +Copyright (C) 2000-2008, QOS.ch + +Source code and binaries for logback, including logback-core, +logback-classic and logback-access modules, are distributed under the +GNU Lesser General Public License Version 2.1, as published by the +Free Software Foundation. + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. Modified: charon/jiemamy-jpa-importer/trunk/license/LICENSE.slf4j.txt =================================================================== --- charon/jiemamy-jpa-importer/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/license/LICENSE.slf4j.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,24 +1,24 @@ -Copyright (c) 2004-2008 QOS.ch -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - +Copyright (c) 2004-2008 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + Modified: charon/jiemamy-jpa-importer/trunk/license/list.txt =================================================================== --- charon/jiemamy-jpa-importer/trunk/license/list.txt 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/license/list.txt 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,18 +1,18 @@ -Unamed: - SLF4J API Module, - JCL 1.1.1 implemented over SLF4J - -BSD style: - Hamcrest Core, - Hamcrest Library - -Common Public License Version 1.0: - JUnit - -GNU Lesser General Public License: - Logback Classic Module, - Logback Core Module - -The Apache Software License, Version 2.0: - Generic Tree Utilities - +Unamed: + SLF4J API Module, + JCL 1.1.1 implemented over SLF4J + +BSD style: + Hamcrest Core, + Hamcrest Library + +Common Public License Version 1.0: + JUnit + +GNU Lesser General Public License: + Logback Classic Module, + Logback Core Module + +The Apache Software License, Version 2.0: + Generic Tree Utilities + Modified: charon/jiemamy-jpa-importer/trunk/pom.xml =================================================================== --- charon/jiemamy-jpa-importer/trunk/pom.xml 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/pom.xml 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> + <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.jiemamy</groupId> <artifactId>master</artifactId> @@ -40,25 +40,25 @@ </repository> </repositories> <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.5</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.hamcrest</groupId> - <artifactId>hamcrest-library</artifactId> - <version>1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>net.java.dev.jmockit</groupId> - <artifactId>jmockit</artifactId> - <version>0.94</version> - <scope>test</scope> - </dependency> <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.5</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.hamcrest</groupId> + <artifactId>hamcrest-library</artifactId> + <version>1.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>net.java.dev.jmockit</groupId> + <artifactId>jmockit</artifactId> + <version>0.94</version> + <scope>test</scope> + </dependency> + <dependency> <groupId>${project.groupId}</groupId> <artifactId>jiemamy-test-helper</artifactId> <version>0.0.1</version> @@ -70,27 +70,27 @@ <version>0.2.0</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.5.5</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>jcl-over-slf4j</artifactId> - <version>1.5.5</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>0.9.9</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>0.9.9</version> - </dependency> <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.5.5</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>1.5.5</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>0.9.9</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>0.9.9</version> + </dependency> + <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> @@ -100,15 +100,15 @@ <artifactId>jiemamy-commons</artifactId> <version>0.0.3</version> </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>jiemamy-spec-core</artifactId> - <version>0.2</version> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jiemamy-spec-core</artifactId> + <version>0.2</version> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>jiemamy-entity-io</artifactId> <version>0.0.1-SNAPSHOT</version> - </dependency> + </dependency> </dependencies> </project> \ No newline at end of file Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/ColumnModelConverter.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/ColumnModelConverter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/ColumnModelConverter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,42 +1,42 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 8, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import org.jiemamy.entity.io.meta.EntityMeta; -import org.jiemamy.entity.io.meta.PropertyMeta; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.entity.TableModel; - -/** - * {@link ColumnModel}に変換するコンバータ。 - * - * @author j5ik2o - */ -public interface ColumnModelConverter { - - /** - * {@link EntityMeta}から{ColumnModel}に変換する。 - * - * @param rootModel {@link RootModel} - * @param propertyMeta {@link PropertyMeta} - * @return {@link TableModel} - */ - ColumnModel convert(RootModel rootModel, PropertyMeta propertyMeta); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 8, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import org.jiemamy.entity.io.meta.EntityMeta; +import org.jiemamy.entity.io.meta.PropertyMeta; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.entity.TableModel; + +/** + * {@link ColumnModel}に変換するコンバータ。 + * + * @author j5ik2o + */ +public interface ColumnModelConverter { + + /** + * {@link EntityMeta}から{ColumnModel}に変換する。 + * + * @param rootModel {@link RootModel} + * @param propertyMeta {@link PropertyMeta} + * @return {@link TableModel} + */ + ColumnModel convert(RootModel rootModel, PropertyMeta propertyMeta); +} Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultColumnModelConverter.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultColumnModelConverter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultColumnModelConverter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,207 +1,207 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 8, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.sql.Timestamp; -import java.util.Calendar; -import java.util.Date; -import java.util.Map; - -import org.apache.commons.lang.Validate; - -import org.jiemamy.JiemamyFactory; -import org.jiemamy.dialect.BuiltinDataTypeMold; -import org.jiemamy.dialect.Dialect; -import org.jiemamy.entity.io.meta.PropertyMeta; -import org.jiemamy.exception.JiemamyError; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.constraint.NotNullConstraint; -import org.jiemamy.model.attribute.constraint.PrimaryKey; -import org.jiemamy.model.attribute.constraint.UniqueKey; -import org.jiemamy.model.datatype.BuiltinDataType; -import org.jiemamy.model.datatype.DataTypeCategory; -import org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter; -import org.jiemamy.model.datatype.adapter.SerialDataTypeAdapter; -import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; -import org.jiemamy.utils.CollectionsUtil; - -/** - * {@link ColumnModelConverter}のデフォルト実装 - * - * @author j5ik2o - */ -public class DefaultColumnModelConverter implements ColumnModelConverter { - - private static class DataTypeMeta { - - DataTypeCategory dataTypeCategory; - - String typeName; - - - public DataTypeMeta(DataTypeCategory dataTypeCategory) { - this.dataTypeCategory = dataTypeCategory; - } - - public DataTypeMeta(DataTypeCategory dataTypeCategory, String typeName) { - this.dataTypeCategory = dataTypeCategory; - this.typeName = typeName; - } - } - - - protected Dialect dialect; - - protected static final Map<Class<?>, DataTypeCategory> DATA_TYPE_CATEGORIES = CollectionsUtil.newHashMap(); - - static { - DATA_TYPE_CATEGORIES.put(boolean.class, DataTypeCategory.BOOLEAN); - DATA_TYPE_CATEGORIES.put(Boolean.class, DataTypeCategory.BOOLEAN); - DATA_TYPE_CATEGORIES.put(char.class, DataTypeCategory.CHARACTER); - DATA_TYPE_CATEGORIES.put(Character.class, DataTypeCategory.CHARACTER); - DATA_TYPE_CATEGORIES.put(byte.class, DataTypeCategory.SMALLINT); - DATA_TYPE_CATEGORIES.put(Byte.class, DataTypeCategory.SMALLINT); - DATA_TYPE_CATEGORIES.put(short.class, DataTypeCategory.SMALLINT); - DATA_TYPE_CATEGORIES.put(Short.class, DataTypeCategory.SMALLINT); - DATA_TYPE_CATEGORIES.put(int.class, DataTypeCategory.INTEGER); - DATA_TYPE_CATEGORIES.put(Integer.class, DataTypeCategory.INTEGER); - DATA_TYPE_CATEGORIES.put(long.class, DataTypeCategory.NUMERIC); - DATA_TYPE_CATEGORIES.put(Long.class, DataTypeCategory.NUMERIC); - DATA_TYPE_CATEGORIES.put(float.class, DataTypeCategory.FLOAT); - DATA_TYPE_CATEGORIES.put(Float.class, DataTypeCategory.FLOAT); - DATA_TYPE_CATEGORIES.put(double.class, DataTypeCategory.DOUBLE); - DATA_TYPE_CATEGORIES.put(Double.class, DataTypeCategory.DOUBLE); - DATA_TYPE_CATEGORIES.put(BigDecimal.class, DataTypeCategory.NUMERIC); - DATA_TYPE_CATEGORIES.put(BigInteger.class, DataTypeCategory.NUMERIC); - DATA_TYPE_CATEGORIES.put(java.sql.Date.class, DataTypeCategory.DATE); - DATA_TYPE_CATEGORIES.put(java.sql.Time.class, DataTypeCategory.TIME); - DATA_TYPE_CATEGORIES.put(Timestamp.class, DataTypeCategory.TIMESTAMP); - } - - - /** - * インスタンスを生成する。 - * - * @param dialect {@link Dialect} - */ - public DefaultColumnModelConverter(Dialect dialect) { - this.dialect = dialect; - } - - public ColumnModel convert(RootModel rootModel, PropertyMeta propertyMeta) { - Validate.notNull(rootModel); - Validate.notNull(propertyMeta); - if (propertyMeta.isTransient()) { - return null; - } - JiemamyFactory factory = rootModel.getJiemamy().getFactory(); - ColumnModel cm = factory.newModel(ColumnModel.class); - cm.setName(propertyMeta.getColumnMeta().getName()); - cm.setLogicalName(propertyMeta.getColumnMeta().getLogicalName()); - if (propertyMeta.isId()) { - cm.setPrimaryKey(factory.newModel(PrimaryKey.class)); - } - - if (propertyMeta.getColumnMeta().isNullable() == false) { - cm.setNotNullConstraint(factory.newModel(NotNullConstraint.class)); - } - if (propertyMeta.getColumnMeta().isUnique()) { - cm.setUniqueKey(factory.newModel(UniqueKey.class)); - } - DataTypeMeta dtm = toDataTypeMeta(propertyMeta); - BuiltinDataTypeMold bdtm = null; - if (dtm.typeName != null) { - bdtm = dialect.findDataTypeMold(dtm.dataTypeCategory, dtm.typeName); - } else { - bdtm = dialect.findDataTypeMold(dtm.dataTypeCategory); - } - BuiltinDataType dt = factory.newDataType(bdtm); - if (propertyMeta.hasIdGenerator()) { - if (propertyMeta.getIdentityIdGenerator() != null) { - dt.getAdapter(SerialDataTypeAdapter.class).setSerial(true); - } - } - if (dt.hasAdapter(SizedDataTypeAdapter.class) && propertyMeta.getColumnMeta().getLength() != null) { - dt.getAdapter(SizedDataTypeAdapter.class).setSize(propertyMeta.getColumnMeta().getLength()); - } - if (dt.hasAdapter(PrecisionedDataTypeAdapter.class) && propertyMeta.getColumnMeta().getPrecision() != null) { - dt.getAdapter(PrecisionedDataTypeAdapter.class).setPrecision(propertyMeta.getColumnMeta().getPrecision()); - } - cm.setDataType(dt); - return cm; - } - - private DataTypeMeta toDataTypeMeta(PropertyMeta propertyMeta) { - Class<?> propertyClass = propertyMeta.getPropertyClass(); - DataTypeCategory dataTypeCategory = DATA_TYPE_CATEGORIES.get(propertyClass); - String typeName = null; - if (dataTypeCategory != null) { - return new DataTypeMeta(dataTypeCategory); - } - if (propertyClass == String.class) { - if (propertyMeta.isLob()) { - dataTypeCategory = DataTypeCategory.CLOB; - } else { - dataTypeCategory = DataTypeCategory.VARCHAR; - } - } - if (propertyClass == byte[].class) { - if (propertyMeta.isLob()) { - dataTypeCategory = DataTypeCategory.BLOB; - } else { - dataTypeCategory = DataTypeCategory.VARCHAR; - typeName = "BYTE"; - } - } - if (propertyClass == Date.class) { - switch (propertyMeta.getTemporalType()) { - case DATE: - dataTypeCategory = DataTypeCategory.DATE; - break; - case TIME: - dataTypeCategory = DataTypeCategory.TIME; - break; - case TIMESTAMP: - dataTypeCategory = DataTypeCategory.TIMESTAMP; - break; - default: - throw new JiemamyError("不到達ポイント"); - } - } - if (propertyClass == Calendar.class) { - switch (propertyMeta.getTemporalType()) { - case DATE: - dataTypeCategory = DataTypeCategory.DATE; - break; - case TIME: - dataTypeCategory = DataTypeCategory.TIME; - break; - case TIMESTAMP: - dataTypeCategory = DataTypeCategory.TIMESTAMP; - break; - default: - throw new JiemamyError("不到達ポイント"); - } - } - return new DataTypeMeta(dataTypeCategory, typeName); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 8, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.sql.Timestamp; +import java.util.Calendar; +import java.util.Date; +import java.util.Map; + +import org.apache.commons.lang.Validate; + +import org.jiemamy.JiemamyFactory; +import org.jiemamy.dialect.BuiltinDataTypeMold; +import org.jiemamy.dialect.Dialect; +import org.jiemamy.entity.io.meta.PropertyMeta; +import org.jiemamy.exception.JiemamyError; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.constraint.NotNullConstraint; +import org.jiemamy.model.attribute.constraint.PrimaryKey; +import org.jiemamy.model.attribute.constraint.UniqueKey; +import org.jiemamy.model.datatype.BuiltinDataType; +import org.jiemamy.model.datatype.DataTypeCategory; +import org.jiemamy.model.datatype.adapter.PrecisionedDataTypeAdapter; +import org.jiemamy.model.datatype.adapter.SerialDataTypeAdapter; +import org.jiemamy.model.datatype.adapter.SizedDataTypeAdapter; +import org.jiemamy.utils.CollectionsUtil; + +/** + * {@link ColumnModelConverter}のデフォルト実装 + * + * @author j5ik2o + */ +public class DefaultColumnModelConverter implements ColumnModelConverter { + + private static class DataTypeMeta { + + DataTypeCategory dataTypeCategory; + + String typeName; + + + public DataTypeMeta(DataTypeCategory dataTypeCategory) { + this.dataTypeCategory = dataTypeCategory; + } + + public DataTypeMeta(DataTypeCategory dataTypeCategory, String typeName) { + this.dataTypeCategory = dataTypeCategory; + this.typeName = typeName; + } + } + + + protected Dialect dialect; + + protected static final Map<Class<?>, DataTypeCategory> DATA_TYPE_CATEGORIES = CollectionsUtil.newHashMap(); + + static { + DATA_TYPE_CATEGORIES.put(boolean.class, DataTypeCategory.BOOLEAN); + DATA_TYPE_CATEGORIES.put(Boolean.class, DataTypeCategory.BOOLEAN); + DATA_TYPE_CATEGORIES.put(char.class, DataTypeCategory.CHARACTER); + DATA_TYPE_CATEGORIES.put(Character.class, DataTypeCategory.CHARACTER); + DATA_TYPE_CATEGORIES.put(byte.class, DataTypeCategory.SMALLINT); + DATA_TYPE_CATEGORIES.put(Byte.class, DataTypeCategory.SMALLINT); + DATA_TYPE_CATEGORIES.put(short.class, DataTypeCategory.SMALLINT); + DATA_TYPE_CATEGORIES.put(Short.class, DataTypeCategory.SMALLINT); + DATA_TYPE_CATEGORIES.put(int.class, DataTypeCategory.INTEGER); + DATA_TYPE_CATEGORIES.put(Integer.class, DataTypeCategory.INTEGER); + DATA_TYPE_CATEGORIES.put(long.class, DataTypeCategory.NUMERIC); + DATA_TYPE_CATEGORIES.put(Long.class, DataTypeCategory.NUMERIC); + DATA_TYPE_CATEGORIES.put(float.class, DataTypeCategory.FLOAT); + DATA_TYPE_CATEGORIES.put(Float.class, DataTypeCategory.FLOAT); + DATA_TYPE_CATEGORIES.put(double.class, DataTypeCategory.DOUBLE); + DATA_TYPE_CATEGORIES.put(Double.class, DataTypeCategory.DOUBLE); + DATA_TYPE_CATEGORIES.put(BigDecimal.class, DataTypeCategory.NUMERIC); + DATA_TYPE_CATEGORIES.put(BigInteger.class, DataTypeCategory.NUMERIC); + DATA_TYPE_CATEGORIES.put(java.sql.Date.class, DataTypeCategory.DATE); + DATA_TYPE_CATEGORIES.put(java.sql.Time.class, DataTypeCategory.TIME); + DATA_TYPE_CATEGORIES.put(Timestamp.class, DataTypeCategory.TIMESTAMP); + } + + + /** + * インスタンスを生成する。 + * + * @param dialect {@link Dialect} + */ + public DefaultColumnModelConverter(Dialect dialect) { + this.dialect = dialect; + } + + public ColumnModel convert(RootModel rootModel, PropertyMeta propertyMeta) { + Validate.notNull(rootModel); + Validate.notNull(propertyMeta); + if (propertyMeta.isTransient()) { + return null; + } + JiemamyFactory factory = rootModel.getJiemamy().getFactory(); + ColumnModel cm = factory.newModel(ColumnModel.class); + cm.setName(propertyMeta.getColumnMeta().getName()); + cm.setLogicalName(propertyMeta.getColumnMeta().getLogicalName()); + if (propertyMeta.isId()) { + cm.setPrimaryKey(factory.newModel(PrimaryKey.class)); + } + + if (propertyMeta.getColumnMeta().isNullable() == false) { + cm.setNotNullConstraint(factory.newModel(NotNullConstraint.class)); + } + if (propertyMeta.getColumnMeta().isUnique()) { + cm.setUniqueKey(factory.newModel(UniqueKey.class)); + } + DataTypeMeta dtm = toDataTypeMeta(propertyMeta); + BuiltinDataTypeMold bdtm = null; + if (dtm.typeName != null) { + bdtm = dialect.findDataTypeMold(dtm.dataTypeCategory, dtm.typeName); + } else { + bdtm = dialect.findDataTypeMold(dtm.dataTypeCategory); + } + BuiltinDataType dt = factory.newDataType(bdtm); + if (propertyMeta.hasIdGenerator()) { + if (propertyMeta.getIdentityIdGenerator() != null) { + dt.getAdapter(SerialDataTypeAdapter.class).setSerial(true); + } + } + if (dt.hasAdapter(SizedDataTypeAdapter.class) && propertyMeta.getColumnMeta().getLength() != null) { + dt.getAdapter(SizedDataTypeAdapter.class).setSize(propertyMeta.getColumnMeta().getLength()); + } + if (dt.hasAdapter(PrecisionedDataTypeAdapter.class) && propertyMeta.getColumnMeta().getPrecision() != null) { + dt.getAdapter(PrecisionedDataTypeAdapter.class).setPrecision(propertyMeta.getColumnMeta().getPrecision()); + } + cm.setDataType(dt); + return cm; + } + + private DataTypeMeta toDataTypeMeta(PropertyMeta propertyMeta) { + Class<?> propertyClass = propertyMeta.getPropertyClass(); + DataTypeCategory dataTypeCategory = DATA_TYPE_CATEGORIES.get(propertyClass); + String typeName = null; + if (dataTypeCategory != null) { + return new DataTypeMeta(dataTypeCategory); + } + if (propertyClass == String.class) { + if (propertyMeta.isLob()) { + dataTypeCategory = DataTypeCategory.CLOB; + } else { + dataTypeCategory = DataTypeCategory.VARCHAR; + } + } + if (propertyClass == byte[].class) { + if (propertyMeta.isLob()) { + dataTypeCategory = DataTypeCategory.BLOB; + } else { + dataTypeCategory = DataTypeCategory.VARCHAR; + typeName = "BYTE"; + } + } + if (propertyClass == Date.class) { + switch (propertyMeta.getTemporalType()) { + case DATE: + dataTypeCategory = DataTypeCategory.DATE; + break; + case TIME: + dataTypeCategory = DataTypeCategory.TIME; + break; + case TIMESTAMP: + dataTypeCategory = DataTypeCategory.TIMESTAMP; + break; + default: + throw new JiemamyError("不到達ポイント"); + } + } + if (propertyClass == Calendar.class) { + switch (propertyMeta.getTemporalType()) { + case DATE: + dataTypeCategory = DataTypeCategory.DATE; + break; + case TIME: + dataTypeCategory = DataTypeCategory.TIME; + break; + case TIMESTAMP: + dataTypeCategory = DataTypeCategory.TIMESTAMP; + break; + default: + throw new JiemamyError("不到達ポイント"); + } + } + return new DataTypeMeta(dataTypeCategory, typeName); + } +} Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultJpaImportConfig.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultJpaImportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultJpaImportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,198 +1,198 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import java.util.List; - -import org.jiemamy.dialect.Dialect; - -/** - * {@link JpaImporter}に関する設定情報保持クラス。 - * - * @author j5ik2o - */ -public class DefaultJpaImportConfig implements JpaImportConfig { - - private List<String> classPathDirs; - - private boolean applyJavaComment; - - private String rootPackageName; - - private List<String> javaSrcFileDirs; - - private String javaFileEncoding; - - private String entityPackageName; - - private List<String> entityClassNamePatterns; - - private List<String> ignoreEntityClassNamePatterns; - - private TableModelConverter tableModelConverter; - - private ColumnModelConverter columnModelConverter; - - private Dialect dialect; - - - public List<String> getClassPathDirs() { - return classPathDirs; - } - - public ColumnModelConverter getColumnModelConverter() { - return columnModelConverter; - } - - public Dialect getDialect() { - return dialect; - } - - public List<String> getEntityClassNamePatterns() { - return entityClassNamePatterns; - } - - public String getEntityPackageName() { - return entityPackageName; - } - - public List<String> getIgnoreEntityClassNamePatterns() { - return ignoreEntityClassNamePatterns; - } - - public String getJavaFileEncoding() { - return javaFileEncoding; - } - - public List<String> getJavaFileSrcDirs() { - return javaSrcFileDirs; - } - - public String getRootPackageName() { - return rootPackageName; - } - - public TableModelConverter getTableModelConverter() { - return tableModelConverter; - } - - public boolean isApplyJavaComment() { - return applyJavaComment; - } - - /** - * JavaDocのコメントを利用するフラグ値を設定する。 - * - * @param applyJavaComment trueの場合は利用する - */ - public void setApplyJavaComment(boolean applyJavaComment) { - this.applyJavaComment = applyJavaComment; - } - - /** - * JPAエンティティを含むクラスパスを設定する。 - * - * @param classPathDirs JPAエンティティを含むクラスパスのリスト - */ - public void setClassPathDirs(List<String> classPathDirs) { - this.classPathDirs = classPathDirs; - } - - /** - * {@link ColumnModelConverter}を設定する。 - * - * @param columnModelConverter {@link ColumnModelConverter} - */ - public void setColumnModelConverter(ColumnModelConverter columnModelConverter) { - this.columnModelConverter = columnModelConverter; - } - - /** - * SQL方言を設定する。 - * - * @param dialect SQL方言 - */ - public void setDialect(Dialect dialect) { - this.dialect = dialect; - } - - /** - * 採用するエンティティクラス名のパターンを設定する。 - * - * @param entityClassNamePatterns 採用するエンティティクラス名のパターンのリスト - */ - public void setEntityClassNamePatterns(List<String> entityClassNamePatterns) { - this.entityClassNamePatterns = entityClassNamePatterns; - } - - /** - * エンティティパッケージ名を設定する。 - * - * @param entityPackageName エンティティパッケージ名 - */ - public void setEntityPackageName(String entityPackageName) { - this.entityPackageName = entityPackageName; - } - - /** - * 無視するエンティティクラス名のパターンを設定する。 - * - * @param ignoreEntityClassNamePatterns 無視するエンティティクラス名のパターンのリスト - */ - public void setIgnoreEntityClassNamePatterns(List<String> ignoreEntityClassNamePatterns) { - this.ignoreEntityClassNamePatterns = ignoreEntityClassNamePatterns; - } - - /** - * Javaソースファイルのエンコディーングを設定する。 - * - * @param javaFileEncoding Javaソースファイルのエンコディーング - */ - public void setJavaFileEncoding(String javaFileEncoding) { - this.javaFileEncoding = javaFileEncoding; - } - - /** - * Javaソースファイルのディレクトリを設定する。 - * - * @param javaFileSrcDirs Javaソースファイルのディレクトリのリスト - */ - public void setJavaSrcFileDirs(List<String> javaFileSrcDirs) { - javaSrcFileDirs = javaFileSrcDirs; - } - - /** - * ルートパッケージ名を取得する。 - * - * @param rootPackageName ルートパッケージ名 - */ - public void setRootPackageName(String rootPackageName) { - this.rootPackageName = rootPackageName; - } - - /** - * {@link TableModelConverter}を設定する。 - * - * @param tableModelConverter {@link TableModelConverter} - */ - public void setTableModelConverter(TableModelConverter tableModelConverter) { - this.tableModelConverter = tableModelConverter; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import java.util.List; + +import org.jiemamy.dialect.Dialect; + +/** + * {@link JpaImporter}に関する設定情報保持クラス。 + * + * @author j5ik2o + */ +public class DefaultJpaImportConfig implements JpaImportConfig { + + private List<String> classPathDirs; + + private boolean applyJavaComment; + + private String rootPackageName; + + private List<String> javaSrcFileDirs; + + private String javaFileEncoding; + + private String entityPackageName; + + private List<String> entityClassNamePatterns; + + private List<String> ignoreEntityClassNamePatterns; + + private TableModelConverter tableModelConverter; + + private ColumnModelConverter columnModelConverter; + + private Dialect dialect; + + + public List<String> getClassPathDirs() { + return classPathDirs; + } + + public ColumnModelConverter getColumnModelConverter() { + return columnModelConverter; + } + + public Dialect getDialect() { + return dialect; + } + + public List<String> getEntityClassNamePatterns() { + return entityClassNamePatterns; + } + + public String getEntityPackageName() { + return entityPackageName; + } + + public List<String> getIgnoreEntityClassNamePatterns() { + return ignoreEntityClassNamePatterns; + } + + public String getJavaFileEncoding() { + return javaFileEncoding; + } + + public List<String> getJavaFileSrcDirs() { + return javaSrcFileDirs; + } + + public String getRootPackageName() { + return rootPackageName; + } + + public TableModelConverter getTableModelConverter() { + return tableModelConverter; + } + + public boolean isApplyJavaComment() { + return applyJavaComment; + } + + /** + * JavaDocのコメントを利用するフラグ値を設定する。 + * + * @param applyJavaComment trueの場合は利用する + */ + public void setApplyJavaComment(boolean applyJavaComment) { + this.applyJavaComment = applyJavaComment; + } + + /** + * JPAエンティティを含むクラスパスを設定する。 + * + * @param classPathDirs JPAエンティティを含むクラスパスのリスト + */ + public void setClassPathDirs(List<String> classPathDirs) { + this.classPathDirs = classPathDirs; + } + + /** + * {@link ColumnModelConverter}を設定する。 + * + * @param columnModelConverter {@link ColumnModelConverter} + */ + public void setColumnModelConverter(ColumnModelConverter columnModelConverter) { + this.columnModelConverter = columnModelConverter; + } + + /** + * SQL方言を設定する。 + * + * @param dialect SQL方言 + */ + public void setDialect(Dialect dialect) { + this.dialect = dialect; + } + + /** + * 採用するエンティティクラス名のパターンを設定する。 + * + * @param entityClassNamePatterns 採用するエンティティクラス名のパターンのリスト + */ + public void setEntityClassNamePatterns(List<String> entityClassNamePatterns) { + this.entityClassNamePatterns = entityClassNamePatterns; + } + + /** + * エンティティパッケージ名を設定する。 + * + * @param entityPackageName エンティティパッケージ名 + */ + public void setEntityPackageName(String entityPackageName) { + this.entityPackageName = entityPackageName; + } + + /** + * 無視するエンティティクラス名のパターンを設定する。 + * + * @param ignoreEntityClassNamePatterns 無視するエンティティクラス名のパターンのリスト + */ + public void setIgnoreEntityClassNamePatterns(List<String> ignoreEntityClassNamePatterns) { + this.ignoreEntityClassNamePatterns = ignoreEntityClassNamePatterns; + } + + /** + * Javaソースファイルのエンコディーングを設定する。 + * + * @param javaFileEncoding Javaソースファイルのエンコディーング + */ + public void setJavaFileEncoding(String javaFileEncoding) { + this.javaFileEncoding = javaFileEncoding; + } + + /** + * Javaソースファイルのディレクトリを設定する。 + * + * @param javaFileSrcDirs Javaソースファイルのディレクトリのリスト + */ + public void setJavaSrcFileDirs(List<String> javaFileSrcDirs) { + javaSrcFileDirs = javaFileSrcDirs; + } + + /** + * ルートパッケージ名を取得する。 + * + * @param rootPackageName ルートパッケージ名 + */ + public void setRootPackageName(String rootPackageName) { + this.rootPackageName = rootPackageName; + } + + /** + * {@link TableModelConverter}を設定する。 + * + * @param tableModelConverter {@link TableModelConverter} + */ + public void setTableModelConverter(TableModelConverter tableModelConverter) { + this.tableModelConverter = tableModelConverter; + } + +} Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultTableModelConverter.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultTableModelConverter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/DefaultTableModelConverter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,43 +1,43 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 7, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import org.apache.commons.lang.Validate; - -import org.jiemamy.entity.io.meta.EntityMeta; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.entity.TableModel; - -/** - * {@link TableModelConverter}のデフォルト実装。 - * - * @author j5ik2o - */ -public class DefaultTableModelConverter implements TableModelConverter { - - public TableModel convert(RootModel rootModel, EntityMeta entityMeta) { - Validate.notNull(rootModel); - Validate.notNull(entityMeta); - TableModel tm = rootModel.getJiemamy().getFactory().newModel(TableModel.class); - tm.setName(entityMeta.getName()); - tm.setLogicalName(entityMeta.getTableMeta().getName()); - return tm; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 7, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import org.apache.commons.lang.Validate; + +import org.jiemamy.entity.io.meta.EntityMeta; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.entity.TableModel; + +/** + * {@link TableModelConverter}のデフォルト実装。 + * + * @author j5ik2o + */ +public class DefaultTableModelConverter implements TableModelConverter { + + public TableModel convert(RootModel rootModel, EntityMeta entityMeta) { + Validate.notNull(rootModel); + Validate.notNull(entityMeta); + TableModel tm = rootModel.getJiemamy().getFactory().newModel(TableModel.class); + tm.setName(entityMeta.getName()); + tm.setLogicalName(entityMeta.getTableMeta().getName()); + return tm; + } + +} Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImportConfig.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImportConfig.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImportConfig.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,112 +1,112 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on 2009/02/25 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import java.util.List; - -import org.jiemamy.composer.ImportConfig; -import org.jiemamy.dialect.Dialect; - -/** - * {@link JpaImporter}に関する設定情報インターフェイス。 - * - * @author j5ik2o - */ -public interface JpaImportConfig extends ImportConfig { - - /** - * JPAエンティティを含むクラスパスを取得する。 - * - * @return JPAエンティティを含むクラスパスのリスト - */ - List<String> getClassPathDirs(); - - /** - * {@link ColumnModelConverter}を取得する。 - * - * @return {@link ColumnModelConverter} - */ - ColumnModelConverter getColumnModelConverter(); - - /** - * SQL方言を取得する。 - * - * @return SQL方言. 未設定の場合は{@code null} - */ - Dialect getDialect(); - - /** - * 採用するエンティティクラス名のパターンを取得する。 - * - * @return エンティティクラス名のパターン - */ - List<String> getEntityClassNamePatterns(); - - /** - * エンティティパッケージ名を取得する。 - * - * @return エンティティパッケージ名 - */ - String getEntityPackageName(); - - /** - * 無視するエンティティクラス名のパターンを取得する。 - * - * @return 無視するエンティティクラス名のパターン - */ - List<String> getIgnoreEntityClassNamePatterns(); - - /** - * Javaソースファイルのエンコディーングを取得する。 - * - * @return Javaソースファイルのエンコディーング - */ - String getJavaFileEncoding(); - - /** - * Javaソースファイルのディレクトリを取得する。 - * <p> - * 複数指定できます。 - * </p> - * - * @return Javaソースファイルが格納されたディレクトリのリスト - */ - List<String> getJavaFileSrcDirs(); - - /** - * ルートパッケージ名を取得する。 - * - * @return ルートパッケージ名 - */ - String getRootPackageName(); - - /** - * {@link TableModelConverter}を取得する。 - * - * @return {@link TableModelConverter} - */ - TableModelConverter getTableModelConverter(); - - /** - * JavaDocのコメントを利用するフラグ値を取得する。 - * - * @return trueの場合は利用する - */ - boolean isApplyJavaComment(); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on 2009/02/25 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import java.util.List; + +import org.jiemamy.composer.ImportConfig; +import org.jiemamy.dialect.Dialect; + +/** + * {@link JpaImporter}に関する設定情報インターフェイス。 + * + * @author j5ik2o + */ +public interface JpaImportConfig extends ImportConfig { + + /** + * JPAエンティティを含むクラスパスを取得する。 + * + * @return JPAエンティティを含むクラスパスのリスト + */ + List<String> getClassPathDirs(); + + /** + * {@link ColumnModelConverter}を取得する。 + * + * @return {@link ColumnModelConverter} + */ + ColumnModelConverter getColumnModelConverter(); + + /** + * SQL方言を取得する。 + * + * @return SQL方言. 未設定の場合は{@code null} + */ + Dialect getDialect(); + + /** + * 採用するエンティティクラス名のパターンを取得する。 + * + * @return エンティティクラス名のパターン + */ + List<String> getEntityClassNamePatterns(); + + /** + * エンティティパッケージ名を取得する。 + * + * @return エンティティパッケージ名 + */ + String getEntityPackageName(); + + /** + * 無視するエンティティクラス名のパターンを取得する。 + * + * @return 無視するエンティティクラス名のパターン + */ + List<String> getIgnoreEntityClassNamePatterns(); + + /** + * Javaソースファイルのエンコディーングを取得する。 + * + * @return Javaソースファイルのエンコディーング + */ + String getJavaFileEncoding(); + + /** + * Javaソースファイルのディレクトリを取得する。 + * <p> + * 複数指定できます。 + * </p> + * + * @return Javaソースファイルが格納されたディレクトリのリスト + */ + List<String> getJavaFileSrcDirs(); + + /** + * ルートパッケージ名を取得する。 + * + * @return ルートパッケージ名 + */ + String getRootPackageName(); + + /** + * {@link TableModelConverter}を取得する。 + * + * @return {@link TableModelConverter} + */ + TableModelConverter getTableModelConverter(); + + /** + * JavaDocのコメントを利用するフラグ値を取得する。 + * + * @return trueの場合は利用する + */ + boolean isApplyJavaComment(); +} Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImporter.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImporter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/JpaImporter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,199 +1,199 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. Created on 2008/09/28 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import java.io.File; -import java.io.IOException; -import java.util.List; -import java.util.regex.Pattern; - -import org.apache.commons.lang.Validate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.jiemamy.JiemamyFactory; -import org.jiemamy.composer.ImportException; -import org.jiemamy.composer.Importer; -import org.jiemamy.dialect.Dialect; -import org.jiemamy.entity.io.meta.DefaultEntityMetaReaderContext; -import org.jiemamy.entity.io.meta.DefaultEntityMetaReaderFactory; -import org.jiemamy.entity.io.meta.EntityClassNotFoundException; -import org.jiemamy.entity.io.meta.EntityMeta; -import org.jiemamy.entity.io.meta.EntityMetaReader; -import org.jiemamy.entity.io.meta.EntityMetaReaderFactory; -import org.jiemamy.entity.io.meta.JoinColumnMeta; -import org.jiemamy.entity.io.meta.PropertyMeta; -import org.jiemamy.entity.io.meta.RelationshipType; -import org.jiemamy.entity.io.meta.impl.ColumnMetaFactoryImpl; -import org.jiemamy.entity.io.meta.impl.EntityMetaFactoryImpl; -import org.jiemamy.entity.io.meta.impl.PropertyMetaFactoryImpl; -import org.jiemamy.entity.io.meta.impl.TableMetaFactoryImpl; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.attribute.ColumnModel; -import org.jiemamy.model.attribute.ColumnRef; -import org.jiemamy.model.attribute.constraint.ForeignKey; -import org.jiemamy.model.entity.TableModel; -import org.jiemamy.utils.ClassUtil; -import org.jiemamy.utils.CollectionsUtil; -import org.jiemamy.utils.LogMarker; - -/** - * JPAのエンティティをインポートするインポータ。 - * - * @author j5ik2o - */ -public class JpaImporter implements Importer<JpaImportConfig> { - - private static final Logger LOG = LoggerFactory.getLogger(JpaImporter.class); - - private static final TableModelConverter DEFALUT_TABLE_CONVETER = new DefaultTableModelConverter(); - - private JiemamyFactory factory; - - - private ColumnModel findColumnModel(RootModel rootModel, List<EntityMeta> entityMetas, Class<?> relationshipClass, - String referencedColumnName) { - for (EntityMeta em : entityMetas) { - if (em.getEntityClass() == relationshipClass) { - //TableModel tm = RootModelUtil.getEntity(rootModel, TableModel.class, em.getTableMeta().getName()); - //ColumnModel columnModel = TableUtil.getColumn(tm, referencedColumnName); - //return columnModel; - return null; - } - } - return null; - } - - /** - * {@link ColumnModelConverter}を取得する。 - * - * @param config {@link JpaImportConfig} - * @return {@link ColumnModelConverter} - */ - protected ColumnModelConverter getColumnModelConverter(JpaImportConfig config) { - if (config.getColumnModelConverter() != null) { - return config.getColumnModelConverter(); - } - Dialect dialect = config.getDialect(); - return new DefaultColumnModelConverter(dialect); - } - - public String getName() { - return "JPA Importer"; - } - - /** - * {@link TableModelConverter}を取得する。 - * - * @param config {@link JpaImportConfig} - * @return {@link TableModelConverter} - */ - protected TableModelConverter getTableModelConverter(JpaImportConfig config) { - if (config.getTableModelConverter() != null) { - return config.getTableModelConverter(); - } - return DEFALUT_TABLE_CONVETER; - } - - public boolean importModel(RootModel rootModel, JpaImportConfig config) throws ImportException { - Validate.notNull(rootModel); - Validate.notNull(config); - Validate.notNull(config.getRootPackageName()); - Validate.notNull(config.getEntityPackageName()); - Validate.notNull(config.getJavaFileEncoding()); - Validate.notNull(config.getDialect()); - - factory = rootModel.getJiemamy().getFactory(); - - DefaultEntityMetaReaderContext context = new DefaultEntityMetaReaderContext(); - context.setClassPathDirs(toFiles(config.getClassPathDirs())); - if (config.getJavaFileSrcDirs() != null) { - context.setJavaSrcFileDirs(toFiles(config.getJavaFileSrcDirs())); - } - if (config.getEntityClassNamePatterns() != null) { - context.setShortClassNamePatterns(toPatterns(config.getEntityClassNamePatterns())); - } - if (config.getIgnoreEntityClassNamePatterns() != null) { - context.setIgnoreShortClassNamePatterns(toPatterns(config.getIgnoreEntityClassNamePatterns())); - } - context.setPackageName(ClassUtil.concatName(config.getRootPackageName(), config.getEntityPackageName())); - context.setJavaFileEncoding(config.getJavaFileEncoding()); - - context.setEntityMetaFactory(new EntityMetaFactoryImpl(new TableMetaFactoryImpl(), new PropertyMetaFactoryImpl( - new ColumnMetaFactoryImpl()))); - EntityMetaReaderFactory entityMetaReaderFactory = new DefaultEntityMetaReaderFactory(); - try { - EntityMetaReader entityMetaReader = entityMetaReaderFactory.createEntityMetaReader(context); - List<EntityMeta> entityMetas = entityMetaReader.read(); - TableModelConverter tmc = getTableModelConverter(config); - ColumnModelConverter cmc = getColumnModelConverter(config); - for (EntityMeta em : entityMetas) { - LOG.debug(LogMarker.DETAIL, em.toString()); - TableModel tm = tmc.convert(rootModel, em); - rootModel.getEntities().add(tm); - for (PropertyMeta pm : em.getAllColumnPropertyMeta()) { - RelationshipType relationType = pm.getRelationshipType(); - if (relationType == null) { - ColumnModel cm = cmc.convert(rootModel, pm); - tm.getAttributes().add(cm); - } - } - } - - for (EntityMeta em : entityMetas) { - int counter = 1; - for (PropertyMeta pm : em.getAllPropertyMeta()) { - if (pm.getRelationshipType() != null) { - List<ColumnRef> referenceColumns = CollectionsUtil.newArrayList(); - ForeignKey fk = factory.newModel(ForeignKey.class); - fk.setName(String.format("FK_%s%d", em.getTableMeta().getName(), counter++)); - for (JoinColumnMeta joinColumnMeta : pm.getJoinColumnMetaList()) { - ColumnModel columnModel = - findColumnModel(rootModel, entityMetas, pm.getRelationshipClass(), joinColumnMeta - .getReferencedColumnName()); - ColumnRef ref = factory.newReference(columnModel); - referenceColumns.add(ref); - } - fk.setKeyColumns(referenceColumns); -// TableModel tm = -// RootModelUtil.getEntity(rootModel, TableModel.class, em.getTableMeta().getName()); -// tm.getAttributes().add(fk); - } - } - } - } catch (IOException e) { - throw new ImportException(e); - } catch (EntityClassNotFoundException e) { - throw new ImportException(e); - } - return true; - } - - private List<File> toFiles(List<String> paths) { - List<File> result = CollectionsUtil.newArrayList(); - for (String path : paths) { - result.add(new File(path)); - } - return result; - } - - private List<Pattern> toPatterns(List<String> patterns) { - List<Pattern> result = CollectionsUtil.newArrayList(); - for (String pattern : patterns) { - result.add(Pattern.compile(pattern)); - } - return result; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. Created on 2008/09/28 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.regex.Pattern; + +import org.apache.commons.lang.Validate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.jiemamy.JiemamyFactory; +import org.jiemamy.composer.ImportException; +import org.jiemamy.composer.Importer; +import org.jiemamy.dialect.Dialect; +import org.jiemamy.entity.io.meta.DefaultEntityMetaReaderContext; +import org.jiemamy.entity.io.meta.DefaultEntityMetaReaderFactory; +import org.jiemamy.entity.io.meta.EntityClassNotFoundException; +import org.jiemamy.entity.io.meta.EntityMeta; +import org.jiemamy.entity.io.meta.EntityMetaReader; +import org.jiemamy.entity.io.meta.EntityMetaReaderFactory; +import org.jiemamy.entity.io.meta.JoinColumnMeta; +import org.jiemamy.entity.io.meta.PropertyMeta; +import org.jiemamy.entity.io.meta.RelationshipType; +import org.jiemamy.entity.io.meta.impl.ColumnMetaFactoryImpl; +import org.jiemamy.entity.io.meta.impl.EntityMetaFactoryImpl; +import org.jiemamy.entity.io.meta.impl.PropertyMetaFactoryImpl; +import org.jiemamy.entity.io.meta.impl.TableMetaFactoryImpl; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.attribute.ColumnModel; +import org.jiemamy.model.attribute.ColumnRef; +import org.jiemamy.model.attribute.constraint.ForeignKey; +import org.jiemamy.model.entity.TableModel; +import org.jiemamy.utils.ClassUtil; +import org.jiemamy.utils.CollectionsUtil; +import org.jiemamy.utils.LogMarker; + +/** + * JPAのエンティティをインポートするインポータ。 + * + * @author j5ik2o + */ +public class JpaImporter implements Importer<JpaImportConfig> { + + private static final Logger LOG = LoggerFactory.getLogger(JpaImporter.class); + + private static final TableModelConverter DEFALUT_TABLE_CONVETER = new DefaultTableModelConverter(); + + private JiemamyFactory factory; + + + private ColumnModel findColumnModel(RootModel rootModel, List<EntityMeta> entityMetas, Class<?> relationshipClass, + String referencedColumnName) { + for (EntityMeta em : entityMetas) { + if (em.getEntityClass() == relationshipClass) { + //TableModel tm = RootModelUtil.getEntity(rootModel, TableModel.class, em.getTableMeta().getName()); + //ColumnModel columnModel = TableUtil.getColumn(tm, referencedColumnName); + //return columnModel; + return null; + } + } + return null; + } + + /** + * {@link ColumnModelConverter}を取得する。 + * + * @param config {@link JpaImportConfig} + * @return {@link ColumnModelConverter} + */ + protected ColumnModelConverter getColumnModelConverter(JpaImportConfig config) { + if (config.getColumnModelConverter() != null) { + return config.getColumnModelConverter(); + } + Dialect dialect = config.getDialect(); + return new DefaultColumnModelConverter(dialect); + } + + public String getName() { + return "JPA Importer"; + } + + /** + * {@link TableModelConverter}を取得する。 + * + * @param config {@link JpaImportConfig} + * @return {@link TableModelConverter} + */ + protected TableModelConverter getTableModelConverter(JpaImportConfig config) { + if (config.getTableModelConverter() != null) { + return config.getTableModelConverter(); + } + return DEFALUT_TABLE_CONVETER; + } + + public boolean importModel(RootModel rootModel, JpaImportConfig config) throws ImportException { + Validate.notNull(rootModel); + Validate.notNull(config); + Validate.notNull(config.getRootPackageName()); + Validate.notNull(config.getEntityPackageName()); + Validate.notNull(config.getJavaFileEncoding()); + Validate.notNull(config.getDialect()); + + factory = rootModel.getJiemamy().getFactory(); + + DefaultEntityMetaReaderContext context = new DefaultEntityMetaReaderContext(); + context.setClassPathDirs(toFiles(config.getClassPathDirs())); + if (config.getJavaFileSrcDirs() != null) { + context.setJavaSrcFileDirs(toFiles(config.getJavaFileSrcDirs())); + } + if (config.getEntityClassNamePatterns() != null) { + context.setShortClassNamePatterns(toPatterns(config.getEntityClassNamePatterns())); + } + if (config.getIgnoreEntityClassNamePatterns() != null) { + context.setIgnoreShortClassNamePatterns(toPatterns(config.getIgnoreEntityClassNamePatterns())); + } + context.setPackageName(ClassUtil.concatName(config.getRootPackageName(), config.getEntityPackageName())); + context.setJavaFileEncoding(config.getJavaFileEncoding()); + + context.setEntityMetaFactory(new EntityMetaFactoryImpl(new TableMetaFactoryImpl(), new PropertyMetaFactoryImpl( + new ColumnMetaFactoryImpl()))); + EntityMetaReaderFactory entityMetaReaderFactory = new DefaultEntityMetaReaderFactory(); + try { + EntityMetaReader entityMetaReader = entityMetaReaderFactory.createEntityMetaReader(context); + List<EntityMeta> entityMetas = entityMetaReader.read(); + TableModelConverter tmc = getTableModelConverter(config); + ColumnModelConverter cmc = getColumnModelConverter(config); + for (EntityMeta em : entityMetas) { + LOG.debug(LogMarker.DETAIL, em.toString()); + TableModel tm = tmc.convert(rootModel, em); + rootModel.getEntities().add(tm); + for (PropertyMeta pm : em.getAllColumnPropertyMeta()) { + RelationshipType relationType = pm.getRelationshipType(); + if (relationType == null) { + ColumnModel cm = cmc.convert(rootModel, pm); + tm.getAttributes().add(cm); + } + } + } + + for (EntityMeta em : entityMetas) { + int counter = 1; + for (PropertyMeta pm : em.getAllPropertyMeta()) { + if (pm.getRelationshipType() != null) { + List<ColumnRef> referenceColumns = CollectionsUtil.newArrayList(); + ForeignKey fk = factory.newModel(ForeignKey.class); + fk.setName(String.format("FK_%s%d", em.getTableMeta().getName(), counter++)); + for (JoinColumnMeta joinColumnMeta : pm.getJoinColumnMetaList()) { + ColumnModel columnModel = + findColumnModel(rootModel, entityMetas, pm.getRelationshipClass(), joinColumnMeta + .getReferencedColumnName()); + ColumnRef ref = factory.newReference(columnModel); + referenceColumns.add(ref); + } + fk.setKeyColumns(referenceColumns); +// TableModel tm = +// RootModelUtil.getEntity(rootModel, TableModel.class, em.getTableMeta().getName()); +// tm.getAttributes().add(fk); + } + } + } + } catch (IOException e) { + throw new ImportException(e); + } catch (EntityClassNotFoundException e) { + throw new ImportException(e); + } + return true; + } + + private List<File> toFiles(List<String> paths) { + List<File> result = CollectionsUtil.newArrayList(); + for (String path : paths) { + result.add(new File(path)); + } + return result; + } + + private List<Pattern> toPatterns(List<String> patterns) { + List<Pattern> result = CollectionsUtil.newArrayList(); + for (String pattern : patterns) { + result.add(Pattern.compile(pattern)); + } + return result; + } +} Modified: charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/TableModelConverter.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/TableModelConverter.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/main/java/org/jiemamy/composer/importer/TableModelConverter.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,40 +1,40 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 7, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import org.jiemamy.entity.io.meta.EntityMeta; -import org.jiemamy.model.RootModel; -import org.jiemamy.model.entity.TableModel; - -/** - * {@link TableModel}に変換するコンバータ。 - * - * @author j5ik2o - */ -public interface TableModelConverter { - - /** - * {@link EntityMeta}から{@TableModel}に変換する。 - * - * @param rootModel {@link RootModel} - * @param entityMeta {@link EntityMeta} - * @return {@link TableModel} - */ - TableModel convert(RootModel rootModel, EntityMeta entityMeta); -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 7, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import org.jiemamy.entity.io.meta.EntityMeta; +import org.jiemamy.model.RootModel; +import org.jiemamy.model.entity.TableModel; + +/** + * {@link TableModel}に変換するコンバータ。 + * + * @author j5ik2o + */ +public interface TableModelConverter { + + /** + * {@link EntityMeta}から{@TableModel}に変換する。 + * + * @param rootModel {@link RootModel} + * @param entityMeta {@link EntityMeta} + * @return {@link TableModel} + */ + TableModel convert(RootModel rootModel, EntityMeta entityMeta); +} Modified: charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Depertment.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Depertment.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Depertment.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,106 +1,106 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 8, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package example.entity; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Version; - -import org.jiemamy.entity.io.annotation.ColumnName; -import org.jiemamy.entity.io.annotation.TableName; - -/** - * 部署テーブル。 - * - * @author j5ik2o - */ - @ Entity - @ TableName(logical = "部署") -public class Depertment { - - @Id - @ColumnName(logical = "部署ID") - private Long depertmentId; - - @Column(nullable = false) - @ColumnName(logical = "部署名") - private String depertmentName; - - @Version - @Column(nullable = false) - @ColumnName(logical = "バージョン") - private Long version; - - - /** - * 部署IDを取得する。 - * - * @return 部署ID - */ - public Long getDepertmentId() { - return depertmentId; - } - - /** - * 部署名を取得する。 - * - * @return 部署名 - */ - public String getDepertmentName() { - return depertmentName; - } - - /** - * バージョンを取得する。 - * - * @return バージョン - */ - public Long getVersion() { - return version; - } - - /** - * 部署IDを設定する。 - * - * @param depertmentId 部署ID - */ - public void setDepertmentId(Long depertmentId) { - this.depertmentId = depertmentId; - } - - /** - * 部署名を設定する。 - * - * @param depertmentName 部署名 - */ - public void setDepertmentName(String depertmentName) { - this.depertmentName = depertmentName; - } - - /** - * バージョンを設定する。 - * - * @param version バージョン - */ - public void setVersion(Long version) { - this.version = version; - } - -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 8, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package example.entity; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Version; + +import org.jiemamy.entity.io.annotation.ColumnName; +import org.jiemamy.entity.io.annotation.TableName; + +/** + * 部署テーブル。 + * + * @author j5ik2o + */ + @ Entity + @ TableName(logical = "部署") +public class Depertment { + + @Id + @ColumnName(logical = "部署ID") + private Long depertmentId; + + @Column(nullable = false) + @ColumnName(logical = "部署名") + private String depertmentName; + + @Version + @Column(nullable = false) + @ColumnName(logical = "バージョン") + private Long version; + + + /** + * 部署IDを取得する。 + * + * @return 部署ID + */ + public Long getDepertmentId() { + return depertmentId; + } + + /** + * 部署名を取得する。 + * + * @return 部署名 + */ + public String getDepertmentName() { + return depertmentName; + } + + /** + * バージョンを取得する。 + * + * @return バージョン + */ + public Long getVersion() { + return version; + } + + /** + * 部署IDを設定する。 + * + * @param depertmentId 部署ID + */ + public void setDepertmentId(Long depertmentId) { + this.depertmentId = depertmentId; + } + + /** + * 部署名を設定する。 + * + * @param depertmentName 部署名 + */ + public void setDepertmentName(String depertmentName) { + this.depertmentName = depertmentName; + } + + /** + * バージョンを設定する。 + * + * @param version バージョン + */ + public void setVersion(Long version) { + this.version = version; + } + +} Modified: charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Employee.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Employee.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/test/java/example/entity/Employee.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,153 +1,153 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package example.entity; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import javax.persistence.Version; - -import org.jiemamy.entity.io.annotation.ColumnName; -import org.jiemamy.entity.io.annotation.TableName; - -/** - * 従業員 - * - * @author j5ik2o - */ - @ Entity - @ Table(name = "EMPLOYEE") - @ TableName(logical = "従業員") -public class Employee { - - @Id - @ColumnName(logical = "従業員ID") - private Long employeeId; - - @Column(nullable = false) - @ColumnName(logical = "従業員名") - private String employeeName; - - @Column(nullable = false) - @ColumnName(logical = "部署ID") - private Long depertmentId; - - @Version - @Column(nullable = false) - @ColumnName(logical = "バージョン") - private Long version; - - @ManyToOne - @JoinColumn(name = "DEPERTMENT_ID", referencedColumnName = "DEPERTMENT_ID") - private Depertment depertment; - - - /** - * 部署を取得する。 - * - * @return 部署 - */ - public Depertment getDepertment() { - return depertment; - } - - /** - * 部署IDを取得する。 - * - * @return 部署ID - */ - public Long getDepertmentId() { - return depertmentId; - } - - /** - * 従業員IDを取得する。 - * - * @return 従業員ID - */ - public Long getEmployeeId() { - return employeeId; - } - - /** - * 従業員名を取得する。 - * - * @return 従業員名 - */ - public String getEmployeeName() { - return employeeName; - } - - /** - * バージョンを取得する。 - * - * @return バージョン - */ - public Long getVersion() { - return version; - } - - /** - * 部署を設定する。 - * - * @param depertment 部署 - */ - public void setDepertment(Depertment depertment) { - this.depertment = depertment; - } - - /** - * 部署IDを設定する。 - * - * @param depertmentId 部署ID - */ - public void setDepertmentId(Long depertmentId) { - this.depertmentId = depertmentId; - } - - /** - * 従業員IDを設定する。 - * - * @param employeeId 従業員ID - */ - public void setEmployeeId(Long employeeId) { - this.employeeId = employeeId; - } - - /** - * 従業員名を設定する。 - * - * @param employeeName 従業員名 - */ - public void setEmployeeName(String employeeName) { - this.employeeName = employeeName; - } - - /** - * バージョンを設定する。 - * - * @param version バージョン - */ - public void setVersion(Long version) { - this.version = version; - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package example.entity; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.persistence.Version; + +import org.jiemamy.entity.io.annotation.ColumnName; +import org.jiemamy.entity.io.annotation.TableName; + +/** + * 従業員 + * + * @author j5ik2o + */ + @ Entity + @ Table(name = "EMPLOYEE") + @ TableName(logical = "従業員") +public class Employee { + + @Id + @ColumnName(logical = "従業員ID") + private Long employeeId; + + @Column(nullable = false) + @ColumnName(logical = "従業員名") + private String employeeName; + + @Column(nullable = false) + @ColumnName(logical = "部署ID") + private Long depertmentId; + + @Version + @Column(nullable = false) + @ColumnName(logical = "バージョン") + private Long version; + + @ManyToOne + @JoinColumn(name = "DEPERTMENT_ID", referencedColumnName = "DEPERTMENT_ID") + private Depertment depertment; + + + /** + * 部署を取得する。 + * + * @return 部署 + */ + public Depertment getDepertment() { + return depertment; + } + + /** + * 部署IDを取得する。 + * + * @return 部署ID + */ + public Long getDepertmentId() { + return depertmentId; + } + + /** + * 従業員IDを取得する。 + * + * @return 従業員ID + */ + public Long getEmployeeId() { + return employeeId; + } + + /** + * 従業員名を取得する。 + * + * @return 従業員名 + */ + public String getEmployeeName() { + return employeeName; + } + + /** + * バージョンを取得する。 + * + * @return バージョン + */ + public Long getVersion() { + return version; + } + + /** + * 部署を設定する。 + * + * @param depertment 部署 + */ + public void setDepertment(Depertment depertment) { + this.depertment = depertment; + } + + /** + * 部署IDを設定する。 + * + * @param depertmentId 部署ID + */ + public void setDepertmentId(Long depertmentId) { + this.depertmentId = depertmentId; + } + + /** + * 従業員IDを設定する。 + * + * @param employeeId 従業員ID + */ + public void setEmployeeId(Long employeeId) { + this.employeeId = employeeId; + } + + /** + * 従業員名を設定する。 + * + * @param employeeName 従業員名 + */ + public void setEmployeeName(String employeeName) { + this.employeeName = employeeName; + } + + /** + * バージョンを設定する。 + * + * @param version バージョン + */ + public void setVersion(Long version) { + this.version = version; + } +} Modified: charon/jiemamy-jpa-importer/trunk/src/test/java/org/jiemamy/composer/importer/JpaImporterTest.java =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/test/java/org/jiemamy/composer/importer/JpaImporterTest.java 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/test/java/org/jiemamy/composer/importer/JpaImporterTest.java 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,102 +1,102 @@ -/* - * Copyright 2007-2009 Jiemamy Project and the Others. - * Created on Apr 2, 2009 - * - * This file is part of Jiemamy. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.jiemamy.composer.importer; - -import java.io.File; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.io.IOUtils; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import org.jiemamy.Jiemamy; -import org.jiemamy.dialect.generic.GenericDialect; -import org.jiemamy.model.RootModel; -import org.jiemamy.serializer.JiemamySerializer; -import org.jiemamy.utils.FileOutputStreamUtil; -import org.jiemamy.utils.ResourceUtil; - -/** - * {@link JpaImporter}のテスト。 - * - * @author j5ik2o - */ -public class JpaImporterTest { - - private static final Logger LOG = LoggerFactory.getLogger(JpaImporterTest.class); - - private Jiemamy jiemamy; - - private JpaImporter jpaImporter; - - private RootModel rootModel; - - - /** - * テストを初期化する。 - * - * @throws Exception 例外が発生した場合 - */ - @Before - public void setUp() throws Exception { - jiemamy = Jiemamy.newInstance(); - rootModel = jiemamy.getFactory().getRootModel(); - rootModel.setDialectClassName(GenericDialect.class.getName()); - jpaImporter = new JpaImporter(); - } - - /** - * Test method for {@link org.jiemamy.composer.importer.JpaImporter#importModel(org.jiemamy.model.RootModel, org.jiemamy.composer.importer.JpaImportConfig)}. - * - * @throws Exception 例外が発生した場合 - */ - @Test - @Ignore - public void testImportModel() throws Exception { - File buildDirFile = ResourceUtil.getBuildDirNoException(example.entity.Employee.class); - DefaultJpaImportConfig config = new DefaultJpaImportConfig(); - List<String> classPathDirs = new ArrayList<String>(); - classPathDirs.add(buildDirFile.getCanonicalPath()); - config.setRootPackageName("example"); - config.setEntityPackageName("entity"); - config.setClassPathDirs(classPathDirs); - config.setJavaFileEncoding("UTF-8"); - config.setDialect(jiemamy.getDialect(rootModel)); - config.setApplyJavaComment(true); - List<String> javaSrcFileDirs = new ArrayList<String>(); - javaSrcFileDirs.add("src/test/java"); - config.setJavaSrcFileDirs(javaSrcFileDirs); - jpaImporter.importModel(rootModel, config); - - JiemamySerializer serializer = jiemamy.getSerializer(); - FileOutputStream fos = FileOutputStreamUtil.create(new File(buildDirFile, "text.xml")); - try { - serializer.serialize(rootModel, fos); - } finally { - IOUtils.closeQuietly(fos); - } - //String xml = fos.toString(CharEncoding.UTF_8); - //LOG.debug(xml); - } -} +/* + * Copyright 2007-2009 Jiemamy Project and the Others. + * Created on Apr 2, 2009 + * + * This file is part of Jiemamy. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.jiemamy.composer.importer; + +import java.io.File; +import java.io.FileOutputStream; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.io.IOUtils; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.jiemamy.Jiemamy; +import org.jiemamy.dialect.generic.GenericDialect; +import org.jiemamy.model.RootModel; +import org.jiemamy.serializer.JiemamySerializer; +import org.jiemamy.utils.FileOutputStreamUtil; +import org.jiemamy.utils.ResourceUtil; + +/** + * {@link JpaImporter}のテスト。 + * + * @author j5ik2o + */ +public class JpaImporterTest { + + private static final Logger LOG = LoggerFactory.getLogger(JpaImporterTest.class); + + private Jiemamy jiemamy; + + private JpaImporter jpaImporter; + + private RootModel rootModel; + + + /** + * テストを初期化する。 + * + * @throws Exception 例外が発生した場合 + */ + @Before + public void setUp() throws Exception { + jiemamy = Jiemamy.newInstance(); + rootModel = jiemamy.getFactory().getRootModel(); + rootModel.setDialectClassName(GenericDialect.class.getName()); + jpaImporter = new JpaImporter(); + } + + /** + * Test method for {@link org.jiemamy.composer.importer.JpaImporter#importModel(org.jiemamy.model.RootModel, org.jiemamy.composer.importer.JpaImportConfig)}. + * + * @throws Exception 例外が発生した場合 + */ + @Test + @Ignore + public void testImportModel() throws Exception { + File buildDirFile = ResourceUtil.getBuildDirNoException(example.entity.Employee.class); + DefaultJpaImportConfig config = new DefaultJpaImportConfig(); + List<String> classPathDirs = new ArrayList<String>(); + classPathDirs.add(buildDirFile.getCanonicalPath()); + config.setRootPackageName("example"); + config.setEntityPackageName("entity"); + config.setClassPathDirs(classPathDirs); + config.setJavaFileEncoding("UTF-8"); + config.setDialect(jiemamy.getDialect(rootModel)); + config.setApplyJavaComment(true); + List<String> javaSrcFileDirs = new ArrayList<String>(); + javaSrcFileDirs.add("src/test/java"); + config.setJavaSrcFileDirs(javaSrcFileDirs); + jpaImporter.importModel(rootModel, config); + + JiemamySerializer serializer = jiemamy.getSerializer(); + FileOutputStream fos = FileOutputStreamUtil.create(new File(buildDirFile, "text.xml")); + try { + serializer.serialize(rootModel, fos); + } finally { + IOUtils.closeQuietly(fos); + } + //String xml = fos.toString(CharEncoding.UTF_8); + //LOG.debug(xml); + } +} Modified: charon/jiemamy-jpa-importer/trunk/src/test/resources/logback.xml =================================================================== --- charon/jiemamy-jpa-importer/trunk/src/test/resources/logback.xml 2009-09-20 16:53:36 UTC (rev 3631) +++ charon/jiemamy-jpa-importer/trunk/src/test/resources/logback.xml 2009-09-20 16:56:14 UTC (rev 3632) @@ -1,26 +1,26 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <Target>System.out</Target> - <layout class="ch.qos.logback.classic.PatternLayout"> - <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> - </layout> - </appender> - - <root> - <level value="WARN" /> - <appender-ref ref="STDOUT" /> - </root> - - <logger name="org.jiemamy"> - <level value="INFO" /> - </logger> - - <logger name="org.jiemamy.utils.enhancer"> - <level value="WARN" /> - </logger> - - <logger name="org.jiemamy.composer"> - <level value="TRACE" /> - </logger> -</configuration> +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <Target>System.out</Target> + <layout class="ch.qos.logback.classic.PatternLayout"> + <Pattern>%d{HH:mm:ss.SSS z,JST} [%thread] %-5level %logger{36} - %msg%n</Pattern> + </layout> + </appender> + + <root> + <level value="WARN" /> + <appender-ref ref="STDOUT" /> + </root> + + <logger name="org.jiemamy"> + <level value="INFO" /> + </logger> + + <logger name="org.jiemamy.utils.enhancer"> + <level value="WARN" /> + </logger> + + <logger name="org.jiemamy.composer"> + <level value="TRACE" /> + </logger> +</configuration>