Totally OK, just wondering where the "Forced Update!" marker is coming from.
Regards, Achim sent from mobile device Am 18.02.2016 6:55 nachm. schrieb "Christian Schneider" < [email protected]>: > Hi Achim, > > I was rebasing and pushing my branch DS-target with -f to avoid merge > commits. > I hope that is ok. > > Christian > > > On 18.02.2016 18:11, Achim Nierbeck wrote: > >> Did anyone realise why this commit is a forced update? >> I'm not opposing anything, just wondering what did lead to a forced >> update, >> which did get marked as such. >> >> Regards, Achim >> >> sent from mobile device >> Am 18.02.2016 5:07 nachm. schrieb <[email protected]>: >> >> Repository: karaf-decanter >>> Updated Branches: >>> refs/heads/DS-target 8c3e004aa -> 629395e78 (forced update) >>> >>> >>> KARAF-3773 - Add redis appender >>> >>> Thanks to mhautman for initial code >>> >>> >>> Project: http://git-wip-us.apache.org/repos/asf/karaf-decanter/repo >>> Commit: >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/commit/ae8d3973 >>> Tree: >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/tree/ae8d3973 >>> Diff: >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/diff/ae8d3973 >>> >>> Branch: refs/heads/DS-target >>> Commit: ae8d3973b1583b97d4bf74d5431b250246ab84d1 >>> Parents: aa0685b >>> Author: Jean-Baptiste Onofré <[email protected]> >>> Authored: Thu Feb 18 15:30:01 2016 +0100 >>> Committer: Jean-Baptiste Onofré <[email protected]> >>> Committed: Thu Feb 18 15:30:01 2016 +0100 >>> >>> ---------------------------------------------------------------------- >>> appender/pom.xml | 1 + >>> appender/redis/LICENSE | 475 >>> +++++++++++++++++++ >>> appender/redis/NOTICE | 32 ++ >>> appender/redis/pom.xml | 83 ++++ >>> ...org.apache.karaf.decanter.appender.redis.cfg | 42 ++ >>> .../decanter/appender/redis/RedisAppender.java | 98 ++++ >>> assembly/src/main/feature/feature.xml | 6 + >>> pom.xml | 1 + >>> 8 files changed, 738 insertions(+) >>> ---------------------------------------------------------------------- >>> >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/appender/pom.xml >>> ---------------------------------------------------------------------- >>> diff --git a/appender/pom.xml b/appender/pom.xml >>> index 65fe7b8..5d25b48 100644 >>> --- a/appender/pom.xml >>> +++ b/appender/pom.xml >>> @@ -44,6 +44,7 @@ >>> <module>kafka</module> >>> <module>mqtt</module> >>> <module>cassandra</module> >>> + <module>redis</module> >>> </modules> >>> >>> </project> >>> \ No newline at end of file >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/appender/redis/LICENSE >>> ---------------------------------------------------------------------- >>> diff --git a/appender/redis/LICENSE b/appender/redis/LICENSE >>> new file mode 100644 >>> index 0000000..b36a53d >>> --- /dev/null >>> +++ b/appender/redis/LICENSE >>> @@ -0,0 +1,475 @@ >>> + >>> + 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. >>> + >>> +For asm: >>> +Copyright (c) 2000-2011 INRIA, France Telecom >>> +All rights reserved. >>> + >>> +Redistribution and use in source and binary forms, with or without >>> +modification, are permitted provided that the following conditions >>> +are met: >>> + >>> +1. Redistributions of source code must retain the above copyright >>> + notice, this list of conditions and the following disclaimer. >>> + >>> +2. 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. >>> + >>> +3. Neither the name of the copyright holders 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. >>> + >>> +For equinox: >>> +Eclipse Public License - v 1.0 >>> + >>> +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE >>> PUBLIC LICENSE ("AGREEMENT"). >>> +ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES >>> RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. >>> + >>> +1. DEFINITIONS >>> + >>> +"Contribution" means: >>> + >>> +a) in the case of the initial Contributor, the initial code and >>> documentation distributed under this Agreement, and >>> + >>> +b) in the case of each subsequent Contributor: >>> + >>> +i) changes to the Program, and >>> + >>> +ii) additions to the Program; >>> + >>> +where such changes and/or additions to the Program originate from and >>> are >>> distributed by that particular Contributor. >>> +A Contribution 'originates' from a Contributor if it was added to the >>> Program by such Contributor itself or anyone >>> +acting on such Contributor's behalf. Contributions do not include >>> additions to the Program which: (i) are separate >>> +modules of software distributed in conjunction with the Program under >>> their own license agreement, and (ii) are not >>> +derivative works of the Program. >>> + >>> +"Contributor" means any person or entity that distributes the Program. >>> + >>> +"Licensed Patents" mean patent claims licensable by a Contributor which >>> are necessarily infringed by the use or sale >>> +of its Contribution alone or when combined with the Program. >>> + >>> +"Program" means the Contributions distributed in accordance with this >>> Agreement. >>> + >>> +"Recipient" means anyone who receives the Program under this Agreement, >>> including all Contributors. >>> + >>> +2. GRANT OF RIGHTS >>> + >>> +a) Subject to the terms of this Agreement, each Contributor hereby >>> grants >>> Recipient a non-exclusive, worldwide, >>> +royalty-free copyright license to reproduce, prepare derivative works >>> of, >>> publicly display, publicly perform, >>> +distribute and sublicense the Contribution of such Contributor, if any, >>> and such derivative works, in source code >>> +and object code form. >>> + >>> +b) Subject to the terms of this Agreement, each Contributor hereby >>> grants >>> Recipient a non-exclusive, worldwide, >>> +royalty-free patent license under Licensed Patents to make, use, sell, >>> offer to sell, import and otherwise transfer >>> +the Contribution of such Contributor, if any, in source code and object >>> code form. This patent license shall apply to >>> +the combination of the Contribution and the Program if, at the time the >>> Contribution is added by the Contributor, such >>> +addition of the Contribution causes such combination to be covered by >>> the >>> Licensed Patents. The patent license shall >>> +not apply to any other combinations which include the Contribution. No >>> hardware per se is licensed hereunder. >>> + >>> +c) Recipient understands that although each Contributor grants the >>> licenses to its Contributions set forth herein, no >>> +assurances are provided by any Contributor that the Program does not >>> infringe the patent or other intellectual property >>> +rights of any other entity. Each Contributor disclaims any liability to >>> Recipient for claims brought by any other entity >>> +based on infringement of intellectual property rights or otherwise. As a >>> condition to exercising the rights and licenses >>> +granted hereunder, each Recipient hereby assumes sole responsibility to >>> secure any other intellectual property rights >>> +needed, if any. For example, if a third party patent license is required >>> to allow Recipient to distribute the Program, >>> +it is Recipient's responsibility to acquire that license before >>> distributing the Program. >>> + >>> +d) Each Contributor represents that to its knowledge it has sufficient >>> copyright rights in its Contribution, if any, >>> +to grant the copyright license set forth in this Agreement. >>> + >>> +3. REQUIREMENTS >>> + >>> +A Contributor may choose to distribute the Program in object code form >>> under its own license agreement, provided that: >>> + >>> +a) it complies with the terms and conditions of this Agreement; and >>> + >>> +b) its license agreement: >>> + >>> +i) effectively disclaims on behalf of all Contributors all warranties >>> and >>> conditions, express and implied, including >>> +warranties or conditions of title and non-infringement, and implied >>> warranties or conditions of merchantability and >>> +fitness for a particular purpose; >>> + >>> +ii) effectively excludes on behalf of all Contributors all liability for >>> damages, including direct, indirect, special, >>> +incidental and consequential damages, such as lost profits; >>> + >>> +iii) states that any provisions which differ from this Agreement are >>> offered by that Contributor alone and not by any >>> +other party; and >>> + >>> +iv) states that source code for the Program is available from such >>> Contributor, and informs licensees how to obtain >>> +it in a reasonable manner on or through a medium customarily used for >>> software exchange. >>> + >>> +When the Program is made available in source code form: >>> + >>> +a) it must be made available under this Agreement; and >>> + >>> +b) a copy of this Agreement must be included with each copy of the >>> Program. >>> + >>> +Contributors may not remove or alter any copyright notices contained >>> within the Program. >>> + >>> +Each Contributor must identify itself as the originator of its >>> Contribution, if any, in a manner that reasonably >>> +allows subsequent Recipients to identify the originator of the >>> Contribution. >>> + >>> +4. COMMERCIAL DISTRIBUTION >>> + >>> +Commercial distributors of software may accept certain responsibilities >>> with respect to end users, business partners >>> +and the like. While this license is intended to facilitate the >>> commercial >>> use of the Program, the Contributor who >>> +includes the Program in a commercial product offering should do so in a >>> manner which does not create potential >>> +liability for other Contributors. Therefore, if a Contributor includes >>> the Program in a commercial product offering, >>> +such Contributor ("Commercial Contributor") hereby agrees to defend and >>> indemnify every other Contributor >>> +("Indemnified Contributor") against any losses, damages and costs >>> (collectively "Losses") arising from claims, >>> +lawsuits and other legal actions brought by a third party against the >>> Indemnified Contributor to the extent caused >>> +by the acts or omissions of such Commercial Contributor in connection >>> with its distribution of the Program in a >>> +commercial product offering. The obligations in this section do not >>> apply >>> to any claims or Losses relating to any >>> +actual or alleged intellectual property infringement. In order to >>> qualify, an Indemnified Contributor must: a) promptly >>> +notify the Commercial Contributor in writing of such claim, and b) allow >>> the Commercial Contributor to control, and >>> +cooperate with the Commercial Contributor in, the defense and any >>> related >>> settlement negotiations. The >>> +Indemnified Contributor may participate in any such claim at its own >>> expense. >>> + >>> +For example, a Contributor might include the Program in a commercial >>> product offering, Product X. That Contributor is >>> +then a Commercial Contributor. If that Commercial Contributor then makes >>> performance claims, or offers warranties >>> +related to Product X, those performance claims and warranties are such >>> Commercial Contributor's responsibility alone. >>> +Under this section, the Commercial Contributor would have to defend >>> claims against the other Contributors related to >>> +those performance claims and warranties, and if a court requires any >>> other Contributor to pay any damages as a result, >>> +the Commercial Contributor must pay those damages. >>> + >>> +5. NO WARRANTY >>> + >>> +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED >>> 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. >>> Each Recipient is solely responsible for >>> +determining the appropriateness of using and distributing the Program >>> and >>> assumes all risks associated with its >>> +exercise of rights under this Agreement , including but not limited to >>> the risks and costs of program errors, >>> +compliance with applicable laws, damage to or loss of data, programs or >>> equipment, and unavailability or interruption >>> +of operations. >>> + >>> +6. DISCLAIMER OF LIABILITY >>> + >>> +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR >>> ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR >>> +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >>> DAMAGES (INCLUDING WITHOUT LIMITATION LOST >>> +PROFITS), 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 OR >>> DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS >>> +GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. >>> + >>> +7. GENERAL >>> + >>> +If any provision of this Agreement is invalid or unenforceable under >>> applicable law, it shall not affect the validity >>> +or enforceability of the remainder of the terms of this Agreement, and >>> without further action by the parties hereto, >>> +such provision shall be reformed to the minimum extent necessary to make >>> such provision valid and enforceable. >>> + >>> +If Recipient institutes patent litigation against any entity (including >>> a >>> cross-claim or counterclaim in a lawsuit) >>> +alleging that the Program itself (excluding combinations of the Program >>> with other software or hardware) infringes >>> +such Recipient's patent(s), then such Recipient's rights granted under >>> Section 2(b) shall terminate as of the date >>> +such litigation is filed. >>> + >>> +All Recipient's rights under this Agreement shall terminate if it fails >>> to comply with any of the material terms or >>> +conditions of this Agreement and does not cure such failure in a >>> reasonable period of time after becoming aware of >>> +such noncompliance. If all Recipient's rights under this Agreement >>> terminate, Recipient agrees to cease use and >>> +distribution of the Program as soon as reasonably practicable. However, >>> Recipient's obligations under this Agreement >>> +and any licenses granted by Recipient relating to the Program shall >>> continue and survive. >>> + >>> +Everyone is permitted to copy and distribute copies of this Agreement, >>> but in order to avoid inconsistency the >>> +Agreement is copyrighted and may only be modified in the following >>> manner. The Agreement Steward reserves the right >>> +to publish new versions (including revisions) of this Agreement from >>> time >>> to time. No one other than the Agreement >>> +Steward has the right to modify this Agreement. The Eclipse Foundation >>> is >>> the initial Agreement Steward. The Eclipse >>> +Foundation may assign the responsibility to serve as the Agreement >>> Steward to a suitable separate entity. Each new >>> +version of the Agreement will be given a distinguishing version number. >>> The Program (including Contributions) may >>> +always be distributed subject to the version of the Agreement under >>> which >>> it was received. In addition, after a new >>> +version of the Agreement is published, Contributor may elect to >>> distribute the Program (including its Contributions) >>> +under the new version. Except as expressly stated in Sections 2(a) and >>> 2(b) above, Recipient receives no rights or >>> +licenses to the intellectual property of any Contributor under this >>> Agreement, whether expressly, by implication, >>> +estoppel or otherwise. All rights in the Program not expressly granted >>> under this Agreement are reserved. >>> + >>> +This Agreement is governed by the laws of the State of New York and the >>> intellectual property laws of the United States >>> +of America. No party to this Agreement will bring a legal action under >>> this Agreement more than one year after the >>> +cause of action arose. Each party waives its rights to a jury trial in >>> any resulting litigation. >>> + >>> +For Java Service Wrapper: >>> +Copyright (c) 1999, 2006 Tanuki Software, Inc. >>> + >>> +Permission is hereby granted, free of charge, to any person >>> +obtaining a copy of the Java Service Wrapper 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, sub-license, >>> +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 >>> +NON-INFRINGEMENT. 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. >>> + >>> + >>> +Portions of the Software have been derived from source code >>> +developed by Silver Egg Technology under the following license: >>> + >>> +BEGIN Silver Egg Techology License ----------------------------------- >>> + >>> + Copyright (c) 2001 Silver Egg Technology >>> + >>> + 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, sub-license, 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 >>> + NON-INFRINGEMENT. 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. >>> + >>> +END Silver Egg Techology License ------------------------------------- >>> + >>> +For slf4j >>> +Copyright (c) 2004-2011 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. >>> \ No newline at end of file >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/appender/redis/NOTICE >>> ---------------------------------------------------------------------- >>> diff --git a/appender/redis/NOTICE b/appender/redis/NOTICE >>> new file mode 100644 >>> index 0000000..3cf0a31 >>> --- /dev/null >>> +++ b/appender/redis/NOTICE >>> @@ -0,0 +1,32 @@ >>> +Apache Karaf Decanter >>> +Copyright 2015 The Apache Software Foundation >>> + >>> +I. Included Software >>> + >>> +This product includes software developed at >>> +The Apache Software Foundation (http://www.apache.org/). >>> +Licensed under the Apache License 2.0. >>> + >>> +II. Used Software >>> + >>> +This product uses software developed at >>> +The OSGi Alliance (http://www.osgi.org/). >>> +Copyright (c) OSGi Alliance (2000, 2010). >>> +Licensed under the Apache License 2.0. >>> + >>> +This product uses software developed at >>> +OPS4J (http://www.ops4j.org/). >>> +Licensed under the Apache License 2.0. >>> + >>> +This product uses software developed at >>> +SLF4J (http://www.slf4j.org/). >>> +Licensed under the MIT License. >>> + >>> +This product uses software developed at >>> +JUnit (http://www.junit.org/). >>> +Licensed under the Eclipse Public License 1.0. >>> + >>> +III. License Summary >>> +- Apache License 2.0 >>> +- MIT License >>> +- Eclipse Public License 1.0 >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/appender/redis/pom.xml >>> ---------------------------------------------------------------------- >>> diff --git a/appender/redis/pom.xml b/appender/redis/pom.xml >>> new file mode 100644 >>> index 0000000..54a0de4 >>> --- /dev/null >>> +++ b/appender/redis/pom.xml >>> @@ -0,0 +1,83 @@ >>> +<?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/xsd/maven-4.0.0.xsd"> >>> + >>> + <!-- >>> + >>> + Licensed to the Apache Software Foundation (ASF) under one or >>> more >>> + contributor license agreements. See the NOTICE file distributed >>> with >>> + this work for additional information regarding copyright >>> ownership. >>> + The ASF licenses this file to You 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. >>> + --> >>> + >>> + <modelVersion>4.0.0</modelVersion> >>> + >>> + <parent> >>> + <groupId>org.apache.karaf.decanter</groupId> >>> + <artifactId>appender</artifactId> >>> + <version>1.1.0-SNAPSHOT</version> >>> + <relativePath>../pom.xml</relativePath> >>> + </parent> >>> + >>> + <groupId>org.apache.karaf.decanter.appender</groupId> >>> + <artifactId>org.apache.karaf.decanter.appender.redis</artifactId> >>> + <packaging>bundle</packaging> >>> + <name>Apache Karaf :: Decanter :: Appender :: Redis</name> >>> + >>> + <dependencies> >>> + <dependency> >>> + <groupId>org.redisson</groupId> >>> + <artifactId>redisson</artifactId> >>> + <version>${redisson.version}</version> >>> + </dependency> >>> + </dependencies> >>> + >>> + <build> >>> + <plugins> >>> + <plugin> >>> + <groupId>org.apache.felix</groupId> >>> + <artifactId>maven-bundle-plugin</artifactId> >>> + <configuration> >>> + <instructions> >>> + <Import-Package> >>> + >>> com.esotericsoftware.kryo;resolution:=optional >>> + </Import-Package> >>> + <Private-Package> >>> + org.redisson*, >>> + </Private-Package> >>> + </instructions> >>> + </configuration> >>> + </plugin> >>> + <plugin> >>> + <groupId>org.codehaus.mojo</groupId> >>> + <artifactId>build-helper-maven-plugin</artifactId> >>> + <executions> >>> + <execution> >>> + <phase>package</phase> >>> + <goals> >>> + <goal>attach-artifact</goal> >>> + </goals> >>> + <configuration> >>> + <artifacts> >>> + <artifact> >>> + >>> <file>src/main/cfg/org.apache.karaf.decanter.appender.redis.cfg</file> >>> + <type>cfg</type> >>> + </artifact> >>> + </artifacts> >>> + </configuration> >>> + </execution> >>> + </executions> >>> + </plugin> >>> + </plugins> >>> + </build> >>> + >>> +</project> >>> \ No newline at end of file >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/appender/redis/src/main/cfg/org.apache.karaf.decanter.appender.redis.cfg >>> ---------------------------------------------------------------------- >>> diff --git >>> >>> a/appender/redis/src/main/cfg/org.apache.karaf.decanter.appender.redis.cfg >>> >>> b/appender/redis/src/main/cfg/org.apache.karaf.decanter.appender.redis.cfg >>> new file mode 100644 >>> index 0000000..5873708 >>> --- /dev/null >>> +++ >>> >>> b/appender/redis/src/main/cfg/org.apache.karaf.decanter.appender.redis.cfg >>> @@ -0,0 +1,42 @@ >>> +####################################### >>> +# Decanter Redis Appender Configuration >>> +####################################### >>> + >>> +# >>> +# Location of the Redis broker >>> +# It's possible to use a list of brokers, for instance: >>> +# host= locahost:6389,localhost:6332,localhost:6419 >>> +# >>> +# Default is localhost:6379 >>> +# >>> +address=localhost:6379 >>> + >>> +# >>> +# Define the connection mode. >>> +# Possible modes: Single (default), Master_Slave, Sentinel, Cluster >>> +# >>> +mode=Single >>> + >>> +# >>> +# Name of the Redis map >>> +# Default is Decanter >>> +# >>> +map=Decanter >>> + >>> +# >>> +# For Master_Slave mode, we define the location of the master >>> +# Default is localhost:6379 >>> +# >>> +#masterAddress=localhost:6379 >>> + >>> +# >>> +# For Sentinel model, define the name of the master >>> +# Default is myMaster >>> +# >>> +#masterName=myMaster >>> + >>> +# >>> +# For Cluster mode, define the scan interval of the nodes in the cluster >>> +# Default value is 2000 (2 seconds). >>> +# >>> +#scanInterval=2000 >>> \ No newline at end of file >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/appender/redis/src/main/java/org/apache/karaf/decanter/appender/redis/RedisAppender.java >>> ---------------------------------------------------------------------- >>> diff --git >>> >>> a/appender/redis/src/main/java/org/apache/karaf/decanter/appender/redis/RedisAppender.java >>> >>> b/appender/redis/src/main/java/org/apache/karaf/decanter/appender/redis/RedisAppender.java >>> new file mode 100644 >>> index 0000000..d38ebdb >>> --- /dev/null >>> +++ >>> >>> b/appender/redis/src/main/java/org/apache/karaf/decanter/appender/redis/RedisAppender.java >>> @@ -0,0 +1,98 @@ >>> +/* >>> + * Licensed to the Apache Software Foundation (ASF) under one or more >>> + * contributor license agreements. See the NOTICE file distributed with >>> + * this work for additional information regarding copyright ownership. >>> + * The ASF licenses this file to You 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.apache.karaf.decanter.appender.redis; >>> + >>> +import org.osgi.service.component.ComponentContext; >>> +import org.osgi.service.component.annotations.Activate; >>> +import org.osgi.service.component.annotations.Component; >>> +import org.osgi.service.component.annotations.Deactivate; >>> +import org.osgi.service.event.Event; >>> +import org.osgi.service.event.EventConstants; >>> +import org.osgi.service.event.EventHandler; >>> +import org.redisson.Config; >>> +import org.redisson.Redisson; >>> +import org.redisson.RedissonClient; >>> +import org.slf4j.Logger; >>> +import org.slf4j.LoggerFactory; >>> + >>> +import java.util.Dictionary; >>> +import java.util.Map; >>> + >>> +/** >>> + * Redis appender >>> + */ >>> +@Component( >>> + configurationPid = "org.apache.karaf.decanter.appender.redis", >>> + service = EventHandler.class, >>> + property = {EventConstants.EVENT_TOPIC + "=decanter/collect/*" } >>> +) >>> +public class RedisAppender implements EventHandler { >>> + >>> + private final static Logger LOGGER = >>> LoggerFactory.getLogger(RedisAppender.class); >>> + >>> + private String address; >>> + private String mode; >>> + private String map; >>> + private String masterAddress; >>> + private String masterName; >>> + private int scanInterval; >>> + >>> + private RedissonClient redissonClient; >>> + >>> + @Activate >>> + public void activate(ComponentContext componentContext) { >>> + Dictionary<String, Object> properties = >>> componentContext.getProperties(); >>> + address = getProperty(properties, "address", "localhost:6379"); >>> + mode = getProperty(properties, "mode", "Single"); >>> + map = getProperty(properties, "map", "Decanter"); >>> + masterAddress = getProperty(properties, "masterAddress", null); >>> + masterName = getProperty(properties, "masterName", null); >>> + scanInterval = Integer.parseInt(getProperty(properties, >>> "scanInterval", "2000")); >>> + >>> + Config config = new Config(); >>> + if (mode.equalsIgnoreCase("Single")) { >>> + config.useSingleServer().setAddress(address); >>> + } else if (mode.equalsIgnoreCase("Master_Slave")) { >>> + >>> >>> config.useMasterSlaveServers().setMasterAddress(masterAddress).addSlaveAddress(address); >>> + } else if (mode.equalsIgnoreCase("Sentinel")) { >>> + >>> >>> config.useSentinelServers().addSentinelAddress(masterName).addSentinelAddress(address); >>> + } else if (mode.equalsIgnoreCase("Cluster")) { >>> + >>> >>> config.useClusterServers().setScanInterval(scanInterval).addNodeAddress(address); >>> + } >>> + redissonClient = Redisson.create(config); >>> + } >>> + >>> + @Deactivate >>> + public void deactivate() { >>> + if (redissonClient != null && (!redissonClient.isShutdown() || >>> !redissonClient.isShuttingDown())) { >>> + redissonClient.shutdown(); >>> + } >>> + } >>> + >>> + @Override >>> + public void handleEvent(Event event) { >>> + Map<String, Object> redisMap = redissonClient.getMap(this.map); >>> + for (String name : event.getPropertyNames()) { >>> + redisMap.put(name, event.getProperty(name)); >>> + } >>> + } >>> + >>> + private String getProperty(Dictionary<String, Object> properties, >>> String key, String defaultValue) { >>> + return (properties.get(key) != null) ? (String) >>> properties.get(key) : defaultValue; >>> + } >>> + >>> +} >>> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/assembly/src/main/feature/feature.xml >>> ---------------------------------------------------------------------- >>> diff --git a/assembly/src/main/feature/feature.xml >>> b/assembly/src/main/feature/feature.xml >>> index 5d61000..55bf1f7 100644 >>> --- a/assembly/src/main/feature/feature.xml >>> +++ b/assembly/src/main/feature/feature.xml >>> @@ -167,6 +167,12 @@ >>> <configfile >>> >>> finalname="/etc/org.apache.karaf.decanter.appender.cassandra.cfg">mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.cassandra/${project.version}/cfg</configfile> >>> </feature> >>> >>> + <feature name="decanter-appender-redis" version="${project.version}" >>> description="Karaf Decanter Redis Appender"> >>> + <feature version="${project.version}">decanter-common</feature> >>> + >>> >>> <bundle>mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.redis/${project.version}</bundle> >>> + <configfile >>> >>> finalname="/etc/org.apache.karaf.decanter.appender.redis.cfg">mvn:org.apache.karaf.decanter.appender/org.apache.karaf.decanter.appender.redis/${project.version}/cfg</configfile> >>> + </feature> >>> + >>> <feature name="decanter-sla" version="${project.version}" >>> description="Karaf Decanter SLA support"> >>> <feature version="${project.version}">decanter-common</feature> >>> >>> >>> <bundle>mvn:org.apache.karaf.decanter.sla/org.apache.karaf.decanter.sla.checker/${project.version}</bundle> >>> >>> >>> http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/ae8d3973/pom.xml >>> ---------------------------------------------------------------------- >>> diff --git a/pom.xml b/pom.xml >>> index 9703e8a..2ec60bf 100644 >>> --- a/pom.xml >>> +++ b/pom.xml >>> @@ -45,6 +45,7 @@ >>> <kibana.version>3.1.1</kibana.version> >>> <kibana4.version>4.1.2</kibana4.version> >>> <paho.version>1.0.2</paho.version> >>> + <redisson.version>2.2.8</redisson.version> >>> <slf4j.version>1.7.7</slf4j.version> >>> </properties> >>> >>> >>> >>> > > -- > Christian Schneider > http://www.liquid-reality.de > > Open Source Architect > http://www.talend.com > > >
