Permalink
Browse files

attempt to integrate Activejdbc.

  • Loading branch information...
1 parent 4552ce6 commit e1aa808e63a19ce9c24897444a97b68162c58b7f @florinpatrascu committed Feb 9, 2013
Showing with 1,392 additions and 0 deletions.
  1. +7 −0 activejdbc_m.yml
  2. +207 −0 activejdbc_m/LICENSE
  3. +44 −0 activejdbc_m/README.md
  4. +26 −0 activejdbc_m/build.properties
  5. +230 −0 activejdbc_m/build.xml
  6. BIN activejdbc_m/build_time_libs/activejdbc-instrumentation-1.4.7-SNAPSHOT.jar
  7. BIN activejdbc_m/build_time_libs/javassist-3.17.1-GA.jar
  8. +207 −0 activejdbc_m/lib/LICENSE
  9. BIN activejdbc_m/lib/activejdbc-1.4.7-SNAPSHOT.jar
  10. BIN activejdbc_m/lib/activejdbc_m-0.1.1.jar
  11. BIN activejdbc_m/lib/guava-11.0.2.jar
  12. BIN activejdbc_m/lib/h2-1.3.170.jar
  13. BIN activejdbc_m/lib/javalite-common-1.4.7-SNAPSHOT.jar
  14. BIN activejdbc_m/lib/javassist-3.12.1.GA.jar
  15. BIN activejdbc_m/lib/models.jar
  16. BIN activejdbc_m/lib/reflections-0.9.8.jar
  17. +170 −0 activejdbc_m/src/ca/simplegames/micro/extensions/ActivejdbcExtension.java
  18. +50 −0 activejdbc_m/src/ca/simplegames/micro/extensions/activejdbc/ConnectionSpecWrapper.java
  19. +7 −0 activejdbc_m/test/create.sql
  20. +33 −0 activejdbc_m/test/files/README.md
  21. +31 −0 activejdbc_m/test/files/WEB-INF/classes/ehcache.xml
  22. +9 −0 activejdbc_m/test/files/WEB-INF/config/application.bsh
  23. +5 −0 activejdbc_m/test/files/WEB-INF/config/db.yml
  24. +7 −0 activejdbc_m/test/files/WEB-INF/config/extensions/i18N.yml
  25. +1 −0 activejdbc_m/test/files/WEB-INF/config/locales/messages_en.properties
  26. +1 −0 activejdbc_m/test/files/WEB-INF/config/locales/messages_fr.properties
  27. +26 −0 activejdbc_m/test/files/WEB-INF/config/micro-config.yml
  28. +13 −0 activejdbc_m/test/files/WEB-INF/config/routes.yml
  29. +34 −0 activejdbc_m/test/files/WEB-INF/controllers/FindArticles.bsh
  30. +29 −0 activejdbc_m/test/files/WEB-INF/models/ca/simplegames/micro/test/models/Article.java
  31. +5 −0 activejdbc_m/test/files/WEB-INF/views/content/config/index.yml
  32. +1 −0 activejdbc_m/test/files/WEB-INF/views/content/index.html
  33. +1 −0 activejdbc_m/test/files/WEB-INF/views/partials/footer.html
  34. +18 −0 activejdbc_m/test/files/WEB-INF/views/templates/404.html
  35. +16 −0 activejdbc_m/test/files/WEB-INF/views/templates/500.html
  36. +28 −0 activejdbc_m/test/files/WEB-INF/views/templates/default.html
  37. +47 −0 activejdbc_m/test/files/WEB-INF/web.xml
  38. BIN activejdbc_m/test/files/favicon.ico
  39. +7 −0 activejdbc_m/test/files/run.sh
  40. +40 −0 activejdbc_m/test/files/styles/main.css
  41. +84 −0 activejdbc_m/test/src/ActivejdbcTest.java
  42. BIN activejdbc_m/test/test.h2.db
  43. +8 −0 activejdbc_m/test/test.trace.db
View
@@ -0,0 +1,7 @@
+class: ca.simplegames.micro.extensions.ActivejdbcExtension
+options:
+ models: models # considering the app path, not config
+ debug: true
+ db: db.yml
+
+
View
@@ -0,0 +1,207 @@
+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:
+
+ 1. You must give any other recipients of the Work or Derivative Works a
+ copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating
+ that You changed the files; and
+
+ 3. 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
+
+ 4. 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 2013 Florin T.PATRASCU
+
+ 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.
View
@@ -0,0 +1,44 @@
+## `activejdbc` extension
+
+Extending Micro with support for the [Activejdbc](http://code.google.com/p/activejdbc/).
+
+### Build from source
+
+ # check if the `${MICRO_HOME}` environment variable is defined
+ # then:
+
+ $ cd st
+ $ ant clean; ant dist
+
+### Install and use
+Copy (or create symbolic links) the `activejdbc_m` folder and `activejdbc_m.yml` file to your application extensions folder. The `extensions` folder will contain at least the following:
+
+ extensions/
+ ├── activejdbc_m/
+ ├── activejdbc_m.yml
+ └── ...
+
+Create a databse connection configuration file: `config/db.yml`, example:
+
+ development:
+ driver: org.h2.Driver
+ url: jdbc:h2:~/test
+ user: sa
+ password:
+
+Create a new folder in your app path: `WEB-INF/models`, and add your model classes here. Then you will have to instrument them with the ANT task provided for your convenience:
+
+ $ cd config/extensions/activejdbc_m
+ $ ant instrument
+
+
+Edit the `application.bsh` startup controller and required the `st` extension, example:
+
+ site.ExtensionsManager
+ .require("i18N")
+ .require("activejdbc_m"); // <-- just added
+
+restart the app and go to: `http://localhost:8080/cache`. The following interface will be shown:
+
+### License
+**Apache License 2**, see the `LICENSE` file in this folder.
@@ -0,0 +1,26 @@
+#
+# Copyright (c)2013 Florin T.Pătraşcu
+#
+# 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.
+#
+
+copyright=Copyright (c)2012-2013, Florin T.PATRASCU. All Rights Reserved.
+
+name=activejdbc_m
+root.dir=.
+EXTENSIONS_FOLDER=../../
+test.dir=test
+src.dir=src
+#src.models=test/files/WEB-INF/models
+build.dir=${root.dir}/build
+build.dist=${root.dir}/lib
Oops, something went wrong.

0 comments on commit e1aa808

Please sign in to comment.