Have to remove lang-jruby and lang-beanshell due to Licensing restrictions of ASF.
Project: http://git-wip-us.apache.org/repos/asf/zest-qi4j/repo Commit: http://git-wip-us.apache.org/repos/asf/zest-qi4j/commit/060bb358 Tree: http://git-wip-us.apache.org/repos/asf/zest-qi4j/tree/060bb358 Diff: http://git-wip-us.apache.org/repos/asf/zest-qi4j/diff/060bb358 Branch: refs/heads/develop Commit: 060bb358521ff1a4e7c045b267a486f2358cc857 Parents: b4e655f Author: Niclas Hedhman <[email protected]> Authored: Fri Jun 12 10:20:47 2015 +0800 Committer: Niclas Hedhman <[email protected]> Committed: Fri Jun 12 10:20:47 2015 +0800 ---------------------------------------------------------------------- libraries.gradle | 10 - libraries/lang-beanshell/README.txt | 10 + libraries/lang-beanshell/build.gradle | 14 - libraries/lang-beanshell/dev-status.xml | 19 - libraries/lang-beanshell/licenses/lgpl.license | 321 --- libraries/lang-beanshell/licenses/spl.license | 472 ---- .../lang-beanshell/src/docs/lang-beanshell.txt | 37 - .../org/qi4j/lang/beanshell/BeanShellMixin.java | 223 -- .../java/org/qi4j/lang/beanshell/package.html | 5 - .../qi4j/lang/beanshell/BeanShellComposite.java | 23 - .../qi4j/lang/beanshell/BeanShellMixinTest.java | 47 - .../org/qi4j/lang/beanshell/HelloSpeaker.java | 24 - .../java/org/qi4j/lang/beanshell/Mixin1.java | 6 - .../qi4j/lang/beanshell/BeanShellComposite.bsh | 24 - libraries/lang-jruby/NOTICE | 2153 ------------------ libraries/lang-jruby/README.txt | 10 + libraries/lang-jruby/build.gradle | 15 - libraries/lang-jruby/dev-status.xml | 19 - libraries/lang-jruby/licenses/jruby.license | 60 - libraries/lang-jruby/src/docs/lang-jruby.txt | 29 - .../java/org/qi4j/lang/jruby/JRubyMixin.java | 258 --- .../main/java/org/qi4j/lang/jruby/package.html | 5 - .../java/org/qi4j/lang/jruby/HelloSpeaker.java | 24 - .../org/qi4j/lang/jruby/JRubyMixinTest.java | 41 - .../java/org/qi4j/lang/jruby/MyDomainType.java | 6 - .../org/qi4j/lang/jruby/MyDomainType.rb | 17 - settings.gradle | 2 - 27 files changed, 20 insertions(+), 3854 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries.gradle ---------------------------------------------------------------------- diff --git a/libraries.gradle b/libraries.gradle index 7903c59..008bf80 100644 --- a/libraries.gradle +++ b/libraries.gradle @@ -1,6 +1,5 @@ // Versions of Dependencies; def asmVersion = '5.0.3' -def beanshellVersion = '2.0b4' def bonecpVersion = '0.8.0.RELEASE' def bouncyVersion = '1.50' def c3p0Version = '0.9.1.2' @@ -31,7 +30,6 @@ def jettyVersion = '9.2.1.v20140609' def jgoodiesLooksVersion = '2.5.3' def jodaMoneyVersion = '0.9.1' def jodaTimeVersion = '2.3' -def jrubyVersion = '1.7.8' // 1.7.12 - Fails to run! def jtaVersion = '1.1' def leveldbVersion = '0.7' def leveldbJniVersion = '1.8' @@ -181,14 +179,6 @@ rootProject.ext { // Scripting groovy: "org.codehaus.groovy:groovy-all:$groovyVersion", - jruby: "org.jruby:jruby:$jrubyVersion", - - beanshell: [ "org.beanshell:bsh-core:$beanshellVersion", - "org.beanshell:bsh-classpath:$beanshellVersion", - "org.beanshell:bsh-classgen:$beanshellVersion", - "org.beanshell:bsh-reflect:$beanshellVersion" - - ], javascript: "org.mozilla:rhino:$javascriptVersion", // Wicket http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/README.txt ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/README.txt b/libraries/lang-beanshell/README.txt new file mode 100644 index 0000000..4cb1b55 --- /dev/null +++ b/libraries/lang-beanshell/README.txt @@ -0,0 +1,10 @@ + +BeanShell is licensed under LGPL, and Apache Software Foundation +doesn't allow the use of LGPL in Apache projects. + +Therefor, Apache Zest had to drop this library component, but +it is still available for separate download at + +https://github.com/Qi4j/qi4j-sdk + +in the libraries/lang-beanshell directory. http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/build.gradle ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/build.gradle b/libraries/lang-beanshell/build.gradle deleted file mode 100644 index 72eb3ba..0000000 --- a/libraries/lang-beanshell/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -description = "Qi4j BeanShell Library allows for Mixins to be implemented in BeanShell (Java) scripts instead of directly in compiled Java." - -jar { manifest { name = "Qi4j Library - Scripting - BeanShell" }} - -dependencies { - compile(project(":org.qi4j.core:org.qi4j.core.bootstrap")) - compile( project( ':org.qi4j.libraries:org.qi4j.library.scripting' )) - compile(libraries.beanshell) - - testCompile(project(":org.qi4j.core:org.qi4j.core.testsupport")) - - testRuntime(project(":org.qi4j.core:org.qi4j.core.runtime")) - testRuntime(libraries.logback) -} http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/dev-status.xml ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/dev-status.xml b/libraries/lang-beanshell/dev-status.xml deleted file mode 100644 index cefc98a..0000000 --- a/libraries/lang-beanshell/dev-status.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<module xmlns="http://www.qi4j.org/schemas/2008/dev-status/1" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.qi4j.org/schemas/2008/dev-status/1 - http://www.qi4j.org/schemas/2008/dev-status/1/dev-status.xsd"> - <status> - <!--none,early,beta,stable,mature--> - <codebase>beta</codebase> - - <!-- none, brief, good, complete --> - <documentation>brief</documentation> - - <!-- none, some, good, complete --> - <unittests>some</unittests> - </status> - <licenses> - <license>ALv2</license> - </licenses> -</module> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/licenses/lgpl.license ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/licenses/lgpl.license b/libraries/lang-beanshell/licenses/lgpl.license deleted file mode 100644 index 688e8a6..0000000 --- a/libraries/lang-beanshell/licenses/lgpl.license +++ /dev/null @@ -1,321 +0,0 @@ -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License Agreement applies to any software library or other program -which contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Lesser General -Public License (also called "this License"). Each licensee is addressed as -"you". - -A "library" means a collection of software functions and/or data prepared -so as to be conveniently linked with application programs (which use some -of those functions and data) to form executables. - -The "Library", below, refers to any such software library or work which -has been distributed under these terms. A "work based on the Library" -means either the Library or any derivative work under copyright law: that -is to say, a work containing the Library or a portion of it, either -verbatim or with modifications and/or translated straightforwardly into -another language. (Hereinafter, translation is included without limitation -in the term "modification".) - -"Source code" for a work means the preferred form of the work for making -modifications to it. For a library, complete source code means all the -source code for all modules it contains, plus any associated interface -definition files, plus the scripts used to control compilation and -installation of the library. - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of running a -program using the Library is not restricted, and output from such a -program is covered only if its contents constitute a work based on the -Library (independent of the use of the Library in a tool for writing it). -Whether that is true depends on what the Library does and what the program -that uses the Library does. - -1. You may copy and distribute verbatim copies of the Library's complete -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the notices -that refer to this License and to the absence of any warranty; and -distribute a copy of this License along with the Library. - -You may charge a fee for the physical act of transferring a copy, and you -may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Library or any portion of it, -thus forming a work based on the Library, and copy and distribute such -modifications or work under the terms of Section 1 above, provided that -you also meet all of these conditions: - - * a) The modified work must itself be a software library. - * b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - * c) You must cause the whole of the work to be licensed at no charge - to all third parties under the terms of this License. - * d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure - that, in the event an application does not supply such function - or table, the facility still operates, and performs whatever part - of its purpose remains meaningful. - - (For example, a function in a library to compute square roots has a - purpose that is entirely well-defined independent of the application. - Therefore, Subsection 2d requires that any application-supplied - function or table used by this function must be optional: if the - application does not supply it, the square root function must still - compute square roots.) - -These requirements apply to the modified work as a whole. If identifiable -sections of that work are not derived from the Library, and can be -reasonably considered independent and separate works in themselves, then -this License, and its terms, do not apply to those sections when you -distribute them as separate works. But when you distribute the same -sections as part of a whole which is a work based on the Library, the -distribution of the whole must be on the terms of this License, whose -permissions for other licensees extend to the entire whole, and thus to -each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your -rights to work written entirely by you; rather, the intent is to exercise -the right to control the distribution of derivative or collective works -based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of a -storage or distribution medium does not bring the other work under the -scope of this License. - -3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so that -they refer to the ordinary GNU General Public License, version 2, instead -of to this License. (If a newer version than version 2 of the ordinary GNU -General Public License has appeared, then you can specify that version -instead if you wish.) Do not make any other change in these notices. - -Once this change is made in a given copy, it is irreversible for that -copy, so the ordinary GNU General Public License applies to all subsequent -copies and derivative works made from that copy. - -This option is useful when you wish to copy part of the code of the -Library into a program that is not a library. - -4. You may copy and distribute the Library (or a portion or derivative of -it, under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you accompany it with the complete -corresponding machine-readable source code, which must be distributed -under the terms of Sections 1 and 2 above on a medium customarily used for -software interchange. - -If distribution of object code is made by offering access to copy from a -designated place, then offering equivalent access to copy the source code -from the same place satisfies the requirement to distribute the source -code, even though third parties are not compelled to copy the source along -with the object code. - -5. A program that contains no derivative of any portion of the Library, -but is designed to work with the Library by being compiled or linked with -it, is called a "work that uses the Library". Such a work, in isolation, -is not a derivative work of the Library, and therefore falls outside the -scope of this License. - -However, linking a "work that uses the Library" with the Library creates -an executable that is a derivative of the Library (because it contains -portions of the Library), rather than a "work that uses the library". The -executable is therefore covered by this License. Section 6 states terms -for distribution of such executables. - -When a "work that uses the Library" uses material from a header file that -is part of the Library, the object code for the work may be a derivative -work of the Library even though the source code is not. Whether this is -true is especially significant if the work can be linked without the -Library, or if the work is itself a library. The threshold for this to be -true is not precisely defined by law. - -If such an object file uses only numerical parameters, data structure -layouts and accessors, and small macros and small inline functions (ten -lines or less in length), then the use of the object file is unrestricted, -regardless of whether it is legally a derivative work. (Executables -containing this object code plus portions of the Library will still fall -under Section 6.) - -Otherwise, if the work is a derivative of the Library, you may distribute -the object code for the work under the terms of Section 6. Any executables -containing that work also fall under Section 6, whether or not they are -linked directly with the Library itself. - -6. As an exception to the Sections above, you may also combine or link a -"work that uses the Library" with the Library to produce a work containing -portions of the Library, and distribute that work under terms of your -choice, provided that the terms permit modification of the work for the -customer's own use and reverse engineering for debugging such -modifications. - -You must give prominent notice with each copy of the work that the Library -is used in it and that the Library and its use are covered by this -License. You must supply a copy of this License. If the work during -execution displays copyright notices, you must include the copyright -notice for the Library among them, as well as a reference directing the -user to the copy of this License. Also, you must do one of these things: - - * a) Accompany the work with the complete corresponding machine- - readable source code for the Library including whatever changes - were used in the work (which must be distributed under Sections 1 - and 2 above); and, if the work is an executable linked with the - Library, with the complete machine-readable "work that uses the - Library", as object code and/or source code, so that the user can - modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in - the Library will not necessarily be able to recompile the - application to use the modified definitions.) - * b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer - system, rather than copying library functions into the - executable, and (2) will operate properly with a modified - version of the library, if the user installs one, as long as the - modified version is interface-compatible with the version that - the work was made with. - * c) Accompany the work with a written offer, valid for at least three - years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. - * d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the - above specified materials from the same place. - * e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - -For an executable, the required form of the "work that uses the Library" -must include any data and utility programs needed for reproducing the -executable from it. However, as a special exception, the materials to be -distributed need not include anything that is normally distributed (in -either source or binary form) with the major components (compiler, kernel, -and so on) of the operating system on which the executable runs, unless -that component itself accompanies the executable. - -It may happen that this requirement contradicts the license restrictions -of other proprietary libraries that do not normally accompany the -operating system. Such a contradiction means you cannot use both them and -the Library together in an executable that you distribute. - -7. You may place library facilities that are a work based on the Library -side-by-side in a single library together with other library facilities -not covered by this License, and distribute such a combined library, -provided that the separate distribution of the work based on the Library -and of the other library facilities is otherwise permitted, and provided -that you do these two things: - - * a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities. - This must be distributed under the terms of the Sections above. - * b) Give prominent notice with the combined library of the fact that - part of it is a work based on the Library, and explaining where - to find the accompanying uncombined form of the same work. - -8. You may not copy, modify, sublicense, link with, or distribute the -Library except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, link with, or distribute the -Library is void, and will automatically terminate your rights under this -License. However, parties who have received copies, or rights, from you -under this License will not have their licenses terminated so long as such -parties remain in full compliance. - -9. You are not required to accept this License, since you have not signed -it. However, nothing else grants you permission to modify or distribute -the Library or its derivative works. These actions are prohibited by law -if you do not accept this License. Therefore, by modifying or distributing -the Library (or any work based on the Library), you indicate your -acceptance of this License to do so, and all its terms and conditions for -copying, distributing or modifying the Library or works based on it. - -10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the original -licensor to copy, distribute, link with or modify the Library subject to -these terms and conditions. You may not impose any further restrictions on -the recipients' exercise of the rights granted herein. You are not -responsible for enforcing compliance by third parties with this License. - -11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot distribute -so as to satisfy simultaneously your obligations under this License and -any other pertinent obligations, then as a consequence you may not -distribute the Library at all. For example, if a patent license would not -permit royalty-free redistribution of the Library by all those who receive -copies directly or indirectly through you, then the only way you could -satisfy both it and this License would be to refrain entirely from -distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any such -claims; this section has the sole purpose of protecting the integrity of -the free software distribution system which is implemented by public -license practices. Many people have made generous contributions to the -wide range of software distributed through that system in reliance on -consistent application of that system; it is up to the author/donor to -decide if he or she is willing to distribute software through any other -system and a licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a -consequence of the rest of this License. - -12. If the distribution and/or use of the Library is restricted in certain -countries either by patents or by copyrighted interfaces, the original -copyright holder who places the Library under this License may add an -explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - -13. The Free Software Foundation may publish revised and/or new versions -of the Lesser General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail -to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by the -Free Software Foundation. If the Library does not specify a license -version number, you may choose any version ever published by the Free -Software Foundation. - -14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, write -to the author to ask for permission. For software which is copyrighted by -the Free Software Foundation, write to the Free Software Foundation; we -sometimes make exceptions for this. Our decision will be guided by the two -goals of preserving the free status of all derivatives of our free -software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE -LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT -LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES -SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE -WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN -ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/licenses/spl.license ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/licenses/spl.license b/libraries/lang-beanshell/licenses/spl.license deleted file mode 100644 index 7e0dfa9..0000000 --- a/libraries/lang-beanshell/licenses/spl.license +++ /dev/null @@ -1,472 +0,0 @@ - SUN PUBLIC LICENSE Version 1.0 - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original Code, - prior Modifications used by a Contributor, and the Modifications made - by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof and corresponding documentation released - with the source code. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified as - the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - - A. Any addition to or deletion from the contents of a file containing - Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, and - apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated documentation, interface definition files, scripts used - to control compilation and installation of an Executable, or source - code differential comparisons against either the Original Code or - another well known, available Covered Code of the Contributor's - choice. The Source Code can be in a compressed or archival form, - provided the appropriate decompression or de-archiving software is - widely available for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, to - cause the direction or management of such entity, whether by contract - or otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - -2.1 The Initial Developer Grant. - - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, modify, - display, perform, sublicense and distribute the Original Code (or - portions thereof) with or without Modifications, and/or as part of a - Larger Work; and - - (b) under Patent Claims infringed by the making, using or selling of - Original Code, to make, have made, use, practice, sell, and offer for - sale, and/or otherwise dispose of the Original Code (or portions - thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are effective - on the date Initial Developer first distributes Original Code under - the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused by: - i) the modification of the Original Code or ii) the combination of the - Original Code with other software or devices. - -2.2. Contributor Grant. - - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications created - by such Contributor (or portions thereof) either on an unmodified - basis, with other Modifications, as Covered Code and/or as part of a - Larger Work; and - - (b) under Patent Claims infringed by the making, using, or selling of - Modifications made by that Contributor either alone and/or in - combination with its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, have made, and/or - otherwise dispose of: 1) Modifications made by that Contributor (or - portions thereof); and 2) the combination of Modifications made by - that Contributor with its Contributor Version (or portions of such - combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective - on the date Contributor first makes Commercial Use of the Covered - Code. - - (d) notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; 3) for - infringements caused by: i) third party modifications of Contributor - Version or ii) the combination of Modifications made by that - Contributor with other software (except as part of the Contributor - Version) or other devices; or 4) under Patent Claims infringed by - Covered Code in the absence of Modifications made by that Contributor. - -3. Distribution Obligations. - -3.1. Application of License. - - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - -3.2. Availability of Source Code. - - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - -3.3. Description of Modifications. - - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - -3.4. Intellectual Property Matters. - - (a) Third Party Claims. - - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, Contributor - must include a text file with the Source Code distribution titled - "LEGAL'' which describes the claim and the party making the claim in - sufficient detail that a recipient will know whom to contact. If - Contributor obtains such knowledge after the Modification is made - available as described in Section 3.2, Contributor shall promptly - modify the LEGAL file in all copies Contributor makes available - thereafter and shall take other steps (such as notifying appropriate - mailing lists or newsgroups) reasonably calculated to inform those who - received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - - If Contributor's Modifications include an application programming - interface ("API") and Contributor has knowledge of patent licenses - which are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - - Contributor represents that, except as disclosed pursuant to Section - 3.4(a) above, Contributor believes that Contributor's Modifications - are Contributor's original creation(s) and/or Contributor has - sufficient rights to grant the rights conveyed by this License. - -3.5. Required Notices. - - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - -3.6. Distribution of Executable Versions. - - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - -3.7. Larger Works. - - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - -6.1. New Versions. - - Sun Microsystems, Inc. ("Sun") may publish revised and/or new versions - of the License from time to time. Each version will be given a - distinguishing version number. - -6.2. Effect of New Versions. - - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Sun. No one - other than Sun has the right to modify the terms applicable to Covered - Code created under this License. - -6.3. Derivative Works. - - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must: (a) rename Your license so that - the phrases "Sun," "Sun Public License," or "SPL" or any confusingly - similar phrase do not appear in your license (except to note that your - license differs from this License) and (b) otherwise make it clear - that Your version of the license contains terms which differ from the - Sun Public License. (Filling in the name of the Initial Developer, - Original Code or Contributor in the notice described in Exhibit A - shall not of themselves be deemed to be modifications of this - License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declaratory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, all - end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in 48 - C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" - and "commercial computer software documentation," as such terms are - used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. - 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all - U.S. Government End Users acquire Covered Code with only those rights - set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the alternative licenses, if any, specified by the - Initial Developer in the file described in Exhibit A. - -Exhibit A -Sun Public License Notice. - - The contents of this file are subject to the Sun Public License - Version 1.0 (the "License"); you may not use this file except in - compliance with the License. A copy of the License is available at - http://www.sun.com/ - - The Original Code is _________________. The Initial Developer of the - Original Code is ___________. Portions created by ______ are Copyright - (C)_________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those above. - If you wish to allow use of your version of this file only under the - terms of the [____] License and not to allow others to use your - version of this file under the SPL, indicate your decision by deleting - the provisions above and replace them with the notice and other - provisions required by the [___] License. If you do not delete the - provisions above, a recipient may use your version of this file under - either the SPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/docs/lang-beanshell.txt ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/docs/lang-beanshell.txt b/libraries/lang-beanshell/src/docs/lang-beanshell.txt deleted file mode 100644 index 7a08f81..0000000 --- a/libraries/lang-beanshell/src/docs/lang-beanshell.txt +++ /dev/null @@ -1,37 +0,0 @@ -[[library-script-beanshell, Beanshell Scripting Library]] -= Beanshell Scripting = - -[devstatus] --------------- -source=libraries/lang-beanshell/dev-status.xml --------------- - -Beanshell Scripting Library - -NOTE: This Library has no documentation yet. Learn how to contribute in <<community-docs>>. - -include::../../build/docs/buildinfo/artifact.txt[] - - -The Beanshell Scripting Library is a Generic mixin that implements interfaces -by delegating to Beanshell method. Each method in an interface is declared by a -BeanShell method in a file located in classpath with the name _INTEFRACE_FQDN_.bsh, -where the INTEFRACE_FQDN includes the package, and has "." replaced with "/". - - Example: - org/qi4j/samples/hello/domain/HelloWorldSpeaker.bsh - -That means that the HelloWorldSpeaker.bsh file may be co-located with the -class files in the same package. It is currently not supported to place -the BeanShell implementation of the mixin in a different package than the -interface it implements. - -To use BeanShell to implement the Mixin functionality for a given interface, -simply declare the +BeanShellMixin+ like any other mixin, either in the interface -or at assembly time. - -[snippet,java] ----- -source=libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/HelloSpeaker.java -tag=mixin ----- http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/BeanShellMixin.java ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/BeanShellMixin.java b/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/BeanShellMixin.java deleted file mode 100644 index a276605..0000000 --- a/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/BeanShellMixin.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman - * Copyright 2007-2008 Rickard Ãberg - * 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.qi4j.lang.beanshell; - -import bsh.BshClassManager; -import bsh.EvalError; -import bsh.Interpreter; -import bsh.NameSpace; -import bsh.classpath.BshClassPath; -import bsh.classpath.ClassManagerImpl; -import java.io.*; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; -import org.qi4j.api.common.AppliesTo; -import org.qi4j.api.common.AppliesToFilter; -import org.qi4j.api.composite.Composite; -import org.qi4j.api.composite.TransientBuilderFactory; -import org.qi4j.api.injection.scope.Structure; -import org.qi4j.api.injection.scope.This; -import org.qi4j.api.structure.Module; -import org.qi4j.api.unitofwork.UnitOfWorkFactory; -import org.qi4j.library.scripting.ScriptException; -import org.qi4j.library.scripting.ScriptReloadable; - -/** - * Generic mixin that implements interfaces by delegating to BeanShell methods - * Each method in an interface is declared by a BeanShell method - * in a file located in classpath with the name "<interface>.bsh", - * where the interface name includes the package, and has "." replaced with "/". - * <p> - * Example: - * </p> - * <p> - * org/qi4j/samples/hello/domain/HelloWorldSpeaker.bsh - * </p> - */ -@AppliesTo( BeanShellMixin.AppliesTo.class ) -public class BeanShellMixin - implements InvocationHandler, ScriptReloadable -{ - private static HashMap<Module, Interpreter> runtimes; - - @This private Composite me; - @Structure private Module module; - @Structure private TransientBuilderFactory compositeBuilderFactory; - @Structure private UnitOfWorkFactory uowFactory; - private Map<Class, Object> mixins; - - public static class AppliesTo - implements AppliesToFilter - { - private static Interpreter runtime = new Interpreter(); - - @Override - public boolean appliesTo( Method method, Class mixin, Class compositeType, Class modelClass ) - { - // Need optimizations so that this method only build the namespace and extract the mixins - // once per composite. - try - { - - NameSpace namespace = buildNamespace( compositeType, runtime ); - if( namespace == null ) - { - return false; - } - runtime.setNameSpace( namespace ); - } - catch( IOException e ) - { - e.printStackTrace(); //TODO: Auto-generated, need attention. - } - Map<Class, Object> mixins = extractMixins( runtime.getClassManager() ); - return mixins.containsKey( method.getDeclaringClass() ); - } - } - - static - { - runtimes = new HashMap<Module, Interpreter>(); - } - - @Override - public Object invoke( Object proxy, Method method, Object[] args ) - throws Throwable - { - Interpreter runtime; - synchronized( BeanShellMixin.class ) - { - runtime = runtimes.get( module ); - } - if( runtime == null ) - { - runtime = new Interpreter(); - BshClassManager.createClassManager( runtime ); - Class compositeType = me.getClass().getInterfaces()[ 0 ]; - NameSpace namespace = buildNamespace( compositeType, runtime ); - runtime.setNameSpace( namespace ); - synchronized( BeanShellMixin.class ) - { - runtimes.put( module, runtime ); - } - runtime.set( "compositeBuilderFactory", compositeBuilderFactory ); - runtime.set( "unitOfWorkFactory", uowFactory ); - } - if( mixins == null ) - { - mixins = extractMixins( runtime.getClassManager() ); - } - Object instance = mixins.get( method.getDeclaringClass() ); - return method.invoke( instance, args ); - } - - private static NameSpace buildNamespace( Class compositeType, Interpreter runtime ) - throws IOException - { - ClassLoader loader = compositeType.getClassLoader(); - BshClassManager classManager = BshClassManager.createClassManager( runtime ); - classManager.setClassLoader( loader ); - NameSpace namespace = new NameSpace( classManager, compositeType.getName() ); - - URL scriptUrl = getFunctionResource( compositeType ); - if( scriptUrl == null ) - { - return null; - } - Reader source = getSource( compositeType, scriptUrl ); - try - { - runtime.eval( source, namespace, scriptUrl.toString() ); - } - catch( EvalError evalError ) - { - evalError.printStackTrace(); //TODO: Auto-generated, need attention. - } - return namespace; - } - - private static Map<Class, Object> extractMixins( BshClassManager classManager ) - { - Class mixinImpl = null; - try - { - Field field = ClassManagerImpl.class.getDeclaredField( "baseClassPath" ); - field.setAccessible( true ); - BshClassPath classpath = (BshClassPath) field.get( classManager ); - String[] scriptedMixinNames = classpath.getAllNames(); - Map<Class, Object> mixinTypes = new HashMap<Class, Object>(); - for( String mixinName : scriptedMixinNames ) - { - mixinImpl = classManager.classForName( mixinName ); - Class[] interfaces = mixinImpl.getInterfaces(); - Object mixinInstance = mixinImpl.newInstance(); - for( Class mixinType : interfaces ) - { - mixinTypes.put( mixinType, mixinInstance ); - } - } - return mixinTypes; - } - catch( IllegalAccessException e ) - { - // Can not happen. Accessible is set to true, and a SecurityException will be thrown - // if the security doesn't allow direct inspection. - return null; - } - catch( NoSuchFieldException e ) - { - throw new InternalError( "BeanShell version has been updated and is no longer compatible with this Qi4j version." ); - } - catch( InstantiationException e ) - { - throw new ScriptException( "Unable to instantiate BeanShell class: " + mixinImpl ); - } - } - - protected static Reader getSource( Class compositeType, URL scriptUrl ) - throws IOException - { - if( scriptUrl == null ) - { - throw new IOException( "No script found for method " + compositeType.getName() ); - } - InputStream in = scriptUrl.openStream(); - return new BufferedReader( new InputStreamReader( in ) ); - } - - private static URL getFunctionResource( Class compositeType ) - { - String scriptName = getScriptName( compositeType ); - ClassLoader loader = compositeType.getClassLoader(); - return loader.getResource( scriptName ); - } - - private static String getScriptName( Class compositeType ) - { - String classname = compositeType.getName(); - return classname.replace( '.', '/' ) + ".bsh"; - } - - @Override - public void reloadScripts() - { - synchronized( BeanShellMixin.class ) - { - runtimes.remove( module ); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/package.html ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/package.html b/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/package.html deleted file mode 100644 index 527017e..0000000 --- a/libraries/lang-beanshell/src/main/java/org/qi4j/lang/beanshell/package.html +++ /dev/null @@ -1,5 +0,0 @@ -<html> - <body> - <h2>BeanShell Language Support Library.</h2> - </body> -</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellComposite.java ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellComposite.java b/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellComposite.java deleted file mode 100644 index 9654be4..0000000 --- a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellComposite.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman - * 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.qi4j.lang.beanshell; - -import org.qi4j.api.composite.TransientComposite; -import org.qi4j.api.mixin.Mixins; - -/** - * JAVADOC - */ -@Mixins( BeanShellMixin.class ) -public interface BeanShellComposite extends Mixin1, TransientComposite -{ -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellMixinTest.java ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellMixinTest.java b/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellMixinTest.java deleted file mode 100644 index d616811..0000000 --- a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/BeanShellMixinTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2007-2008 Niclas Hedhman - * Copyright 2007-2008 Rickard Ãberg - * 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.qi4j.lang.beanshell; - -import org.junit.Assert; -import org.junit.Test; -import org.qi4j.bootstrap.AssemblyException; -import org.qi4j.bootstrap.ModuleAssembly; -import org.qi4j.test.AbstractQi4jTest; - -public class BeanShellMixinTest - extends AbstractQi4jTest -{ - public void assemble( ModuleAssembly module ) - throws AssemblyException - { - module.transients( BeanShellComposite.class ); - } - - @Test - public void testInvoke() throws Throwable - { - BeanShellComposite domain1 = module.newTransient( BeanShellComposite.class ); - BeanShellComposite domain2 = module.newTransient( BeanShellComposite.class ); - Assert.assertEquals( "do1() in Beanshell:1", domain1.do1() ); - Assert.assertEquals( "do1() in Beanshell:2", domain1.do1() ); - Assert.assertEquals( "do1() in Beanshell:3", domain1.do1() ); - Assert.assertEquals( "do1() in Beanshell:4", domain1.do1() ); - Assert.assertEquals( "do1() in Beanshell:1", domain2.do1() ); - Assert.assertEquals( "do1() in Beanshell:2", domain2.do1() ); - Assert.assertEquals( "do1() in Beanshell:3", domain2.do1() ); - Assert.assertEquals( "do1() in Beanshell:4", domain2.do1() ); - Assert.assertEquals( "do1() in Beanshell:5", domain2.do1() ); - Assert.assertEquals( "do1() in Beanshell:6", domain2.do1() ); - Assert.assertEquals( "do1() in Beanshell:5", domain1.do1() ); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/HelloSpeaker.java ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/HelloSpeaker.java b/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/HelloSpeaker.java deleted file mode 100644 index 893891e..0000000 --- a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/HelloSpeaker.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2007 Rickard Ãberg - * 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.qi4j.lang.beanshell; - -import org.qi4j.api.mixin.Mixins; - -// START SNIPPET: mixin -import org.qi4j.lang.beanshell.BeanShellMixin; - -@Mixins(BeanShellMixin.class) -public interface HelloSpeaker -{ - void sayHello(); -} -// END SNIPPET: mixin http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/Mixin1.java ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/Mixin1.java b/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/Mixin1.java deleted file mode 100644 index bab518a..0000000 --- a/libraries/lang-beanshell/src/test/java/org/qi4j/lang/beanshell/Mixin1.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.qi4j.lang.beanshell; - -public interface Mixin1 -{ - String do1(); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-qi4j/blob/060bb358/libraries/lang-beanshell/src/test/resources/org/qi4j/lang/beanshell/BeanShellComposite.bsh ---------------------------------------------------------------------- diff --git a/libraries/lang-beanshell/src/test/resources/org/qi4j/lang/beanshell/BeanShellComposite.bsh b/libraries/lang-beanshell/src/test/resources/org/qi4j/lang/beanshell/BeanShellComposite.bsh deleted file mode 100644 index fc2b16b..0000000 --- a/libraries/lang-beanshell/src/test/resources/org/qi4j/lang/beanshell/BeanShellComposite.bsh +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2007 Rickard Ãberg - * 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. -*/ -import org.qi4j.lang.beanshell.Mixin1; - -public class Mixin1Impl - implements Mixin1 -{ - private int counter; - - public String do1() - { - counter++; - return "do1() in Beanshell:" + counter; - } -} \ No newline at end of file
