Skip to content

Commit 7dd08d4

Browse files
committed
MINIFICPP-2587 Add Sparkplug support for ConsumeMQTT processor
1 parent 06aedaf commit 7dd08d4

File tree

20 files changed

+1104
-5
lines changed

20 files changed

+1104
-5
lines changed

CONTROLLERS.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ limitations under the License.
2929
- [PersistentMapStateStorage](#PersistentMapStateStorage)
3030
- [RocksDbStateStorage](#RocksDbStateStorage)
3131
- [SmbConnectionControllerService](#SmbConnectionControllerService)
32+
- [SparkplugBReader](#SparkplugBReader)
3233
- [SSLContextService](#SSLContextService)
3334
- [UpdatePolicyControllerService](#UpdatePolicyControllerService)
3435
- [VolatileMapStateStorage](#VolatileMapStateStorage)
@@ -280,6 +281,20 @@ In the list below, the names of required properties appear in bold. Any other pr
280281
| Password | | | The password used for authentication. Required if Username is set.<br/>**Sensitive Property: true** |
281282

282283

284+
## SparkplugBReader
285+
286+
### Description
287+
288+
Reads Sparkplug B messages and turns them into individual Record objects. The reader expects a single Sparkplug B payload in a read operation, which is a protobuf-encoded binary message. This reader is designed to be used with ConsumeMQTT, since Sparkplug B is an MQTT-based protocol.
289+
290+
### Properties
291+
292+
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
293+
294+
| Name | Default Value | Allowable Values | Description |
295+
|------|---------------|------------------|-------------|
296+
297+
283298
## SSLContextService
284299

285300
### Description

LICENSE

Lines changed: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3494,3 +3494,284 @@ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
34943494
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
34953495
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
34963496
DEALINGS IN THE SOFTWARE.
3497+
3498+
3499+
This product bundles 'Sparkplug B' protobuf file from the 'Eclipse Tahu' project which is available under the Eclipse Public License - v 2.0 license below.
3500+
3501+
Eclipse Public License - v 2.0
3502+
3503+
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
3504+
PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
3505+
OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
3506+
3507+
1. DEFINITIONS
3508+
3509+
"Contribution" means:
3510+
3511+
a) in the case of the initial Contributor, the initial content
3512+
Distributed under this Agreement, and
3513+
3514+
b) in the case of each subsequent Contributor:
3515+
i) changes to the Program, and
3516+
ii) additions to the Program;
3517+
where such changes and/or additions to the Program originate from
3518+
and are Distributed by that particular Contributor. A Contribution
3519+
"originates" from a Contributor if it was added to the Program by
3520+
such Contributor itself or anyone acting on such Contributor's behalf.
3521+
Contributions do not include changes or additions to the Program that
3522+
are not Modified Works.
3523+
3524+
"Contributor" means any person or entity that Distributes the Program.
3525+
3526+
"Licensed Patents" mean patent claims licensable by a Contributor which
3527+
are necessarily infringed by the use or sale of its Contribution alone
3528+
or when combined with the Program.
3529+
3530+
"Program" means the Contributions Distributed in accordance with this
3531+
Agreement.
3532+
3533+
"Recipient" means anyone who receives the Program under this Agreement
3534+
or any Secondary License (as applicable), including Contributors.
3535+
3536+
"Derivative Works" shall mean any work, whether in Source Code or other
3537+
form, that is based on (or derived from) the Program and for which the
3538+
editorial revisions, annotations, elaborations, or other modifications
3539+
represent, as a whole, an original work of authorship.
3540+
3541+
"Modified Works" shall mean any work in Source Code or other form that
3542+
results from an addition to, deletion from, or modification of the
3543+
contents of the Program, including, for purposes of clarity any new file
3544+
in Source Code form that contains any contents of the Program. Modified
3545+
Works shall not include works that contain only declarations,
3546+
interfaces, types, classes, structures, or files of the Program solely
3547+
in each case in order to link to, bind by name, or subclass the Program
3548+
or Modified Works thereof.
3549+
3550+
"Distribute" means the acts of a) distributing or b) making available
3551+
in any manner that enables the transfer of a copy.
3552+
3553+
"Source Code" means the form of a Program preferred for making
3554+
modifications, including but not limited to software source code,
3555+
documentation source, and configuration files.
3556+
3557+
"Secondary License" means either the GNU General Public License,
3558+
Version 2.0, or any later versions of that license, including any
3559+
exceptions or additional permissions as identified by the initial
3560+
Contributor.
3561+
3562+
2. GRANT OF RIGHTS
3563+
3564+
a) Subject to the terms of this Agreement, each Contributor hereby
3565+
grants Recipient a non-exclusive, worldwide, royalty-free copyright
3566+
license to reproduce, prepare Derivative Works of, publicly display,
3567+
publicly perform, Distribute and sublicense the Contribution of such
3568+
Contributor, if any, and such Derivative Works.
3569+
3570+
b) Subject to the terms of this Agreement, each Contributor hereby
3571+
grants Recipient a non-exclusive, worldwide, royalty-free patent
3572+
license under Licensed Patents to make, use, sell, offer to sell,
3573+
import and otherwise transfer the Contribution of such Contributor,
3574+
if any, in Source Code or other form. This patent license shall
3575+
apply to the combination of the Contribution and the Program if, at
3576+
the time the Contribution is added by the Contributor, such addition
3577+
of the Contribution causes such combination to be covered by the
3578+
Licensed Patents. The patent license shall not apply to any other
3579+
combinations which include the Contribution. No hardware per se is
3580+
licensed hereunder.
3581+
3582+
c) Recipient understands that although each Contributor grants the
3583+
licenses to its Contributions set forth herein, no assurances are
3584+
provided by any Contributor that the Program does not infringe the
3585+
patent or other intellectual property rights of any other entity.
3586+
Each Contributor disclaims any liability to Recipient for claims
3587+
brought by any other entity based on infringement of intellectual
3588+
property rights or otherwise. As a condition to exercising the
3589+
rights and licenses granted hereunder, each Recipient hereby
3590+
assumes sole responsibility to secure any other intellectual
3591+
property rights needed, if any. For example, if a third party
3592+
patent license is required to allow Recipient to Distribute the
3593+
Program, it is Recipient's responsibility to acquire that license
3594+
before distributing the Program.
3595+
3596+
d) Each Contributor represents that to its knowledge it has
3597+
sufficient copyright rights in its Contribution, if any, to grant
3598+
the copyright license set forth in this Agreement.
3599+
3600+
e) Notwithstanding the terms of any Secondary License, no
3601+
Contributor makes additional grants to any Recipient (other than
3602+
those set forth in this Agreement) as a result of such Recipient's
3603+
receipt of the Program under the terms of a Secondary License
3604+
(if permitted under the terms of Section 3).
3605+
3606+
3. REQUIREMENTS
3607+
3608+
3.1 If a Contributor Distributes the Program in any form, then:
3609+
3610+
a) the Program must also be made available as Source Code, in
3611+
accordance with section 3.2, and the Contributor must accompany
3612+
the Program with a statement that the Source Code for the Program
3613+
is available under this Agreement, and informs Recipients how to
3614+
obtain it in a reasonable manner on or through a medium customarily
3615+
used for software exchange; and
3616+
3617+
b) the Contributor may Distribute the Program under a license
3618+
different than this Agreement, provided that such license:
3619+
i) effectively disclaims on behalf of all other Contributors all
3620+
warranties and conditions, express and implied, including
3621+
warranties or conditions of title and non-infringement, and
3622+
implied warranties or conditions of merchantability and fitness
3623+
for a particular purpose;
3624+
3625+
ii) effectively excludes on behalf of all other Contributors all
3626+
liability for damages, including direct, indirect, special,
3627+
incidental and consequential damages, such as lost profits;
3628+
3629+
iii) does not attempt to limit or alter the recipients' rights
3630+
in the Source Code under section 3.2; and
3631+
3632+
iv) requires any subsequent distribution of the Program by any
3633+
party to be under a license that satisfies the requirements
3634+
of this section 3.
3635+
3636+
3.2 When the Program is Distributed as Source Code:
3637+
3638+
a) it must be made available under this Agreement, or if the
3639+
Program (i) is combined with other material in a separate file or
3640+
files made available under a Secondary License, and (ii) the initial
3641+
Contributor attached to the Source Code the notice described in
3642+
Exhibit A of this Agreement, then the Program may be made available
3643+
under the terms of such Secondary Licenses, and
3644+
3645+
b) a copy of this Agreement must be included with each copy of
3646+
the Program.
3647+
3648+
3.3 Contributors may not remove or alter any copyright, patent,
3649+
trademark, attribution notices, disclaimers of warranty, or limitations
3650+
of liability ("notices") contained within the Program from any copy of
3651+
the Program which they Distribute, provided that Contributors may add
3652+
their own appropriate notices.
3653+
3654+
4. COMMERCIAL DISTRIBUTION
3655+
3656+
Commercial distributors of software may accept certain responsibilities
3657+
with respect to end users, business partners and the like. While this
3658+
license is intended to facilitate the commercial use of the Program,
3659+
the Contributor who includes the Program in a commercial product
3660+
offering should do so in a manner which does not create potential
3661+
liability for other Contributors. Therefore, if a Contributor includes
3662+
the Program in a commercial product offering, such Contributor
3663+
("Commercial Contributor") hereby agrees to defend and indemnify every
3664+
other Contributor ("Indemnified Contributor") against any losses,
3665+
damages and costs (collectively "Losses") arising from claims, lawsuits
3666+
and other legal actions brought by a third party against the Indemnified
3667+
Contributor to the extent caused by the acts or omissions of such
3668+
Commercial Contributor in connection with its distribution of the Program
3669+
in a commercial product offering. The obligations in this section do not
3670+
apply to any claims or Losses relating to any actual or alleged
3671+
intellectual property infringement. In order to qualify, an Indemnified
3672+
Contributor must: a) promptly notify the Commercial Contributor in
3673+
writing of such claim, and b) allow the Commercial Contributor to control,
3674+
and cooperate with the Commercial Contributor in, the defense and any
3675+
related settlement negotiations. The Indemnified Contributor may
3676+
participate in any such claim at its own expense.
3677+
3678+
For example, a Contributor might include the Program in a commercial
3679+
product offering, Product X. That Contributor is then a Commercial
3680+
Contributor. If that Commercial Contributor then makes performance
3681+
claims, or offers warranties related to Product X, those performance
3682+
claims and warranties are such Commercial Contributor's responsibility
3683+
alone. Under this section, the Commercial Contributor would have to
3684+
defend claims against the other Contributors related to those performance
3685+
claims and warranties, and if a court requires any other Contributor to
3686+
pay any damages as a result, the Commercial Contributor must pay
3687+
those damages.
3688+
3689+
5. NO WARRANTY
3690+
3691+
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
3692+
PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
3693+
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
3694+
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
3695+
TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
3696+
PURPOSE. Each Recipient is solely responsible for determining the
3697+
appropriateness of using and distributing the Program and assumes all
3698+
risks associated with its exercise of rights under this Agreement,
3699+
including but not limited to the risks and costs of program errors,
3700+
compliance with applicable laws, damage to or loss of data, programs
3701+
or equipment, and unavailability or interruption of operations.
3702+
3703+
6. DISCLAIMER OF LIABILITY
3704+
3705+
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
3706+
PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
3707+
SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
3708+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
3709+
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
3710+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3711+
ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
3712+
EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
3713+
POSSIBILITY OF SUCH DAMAGES.
3714+
3715+
7. GENERAL
3716+
3717+
If any provision of this Agreement is invalid or unenforceable under
3718+
applicable law, it shall not affect the validity or enforceability of
3719+
the remainder of the terms of this Agreement, and without further
3720+
action by the parties hereto, such provision shall be reformed to the
3721+
minimum extent necessary to make such provision valid and enforceable.
3722+
3723+
If Recipient institutes patent litigation against any entity
3724+
(including a cross-claim or counterclaim in a lawsuit) alleging that the
3725+
Program itself (excluding combinations of the Program with other software
3726+
or hardware) infringes such Recipient's patent(s), then such Recipient's
3727+
rights granted under Section 2(b) shall terminate as of the date such
3728+
litigation is filed.
3729+
3730+
All Recipient's rights under this Agreement shall terminate if it
3731+
fails to comply with any of the material terms or conditions of this
3732+
Agreement and does not cure such failure in a reasonable period of
3733+
time after becoming aware of such noncompliance. If all Recipient's
3734+
rights under this Agreement terminate, Recipient agrees to cease use
3735+
and distribution of the Program as soon as reasonably practicable.
3736+
However, Recipient's obligations under this Agreement and any licenses
3737+
granted by Recipient relating to the Program shall continue and survive.
3738+
3739+
Everyone is permitted to copy and distribute copies of this Agreement,
3740+
but in order to avoid inconsistency the Agreement is copyrighted and
3741+
may only be modified in the following manner. The Agreement Steward
3742+
reserves the right to publish new versions (including revisions) of
3743+
this Agreement from time to time. No one other than the Agreement
3744+
Steward has the right to modify this Agreement. The Eclipse Foundation
3745+
is the initial Agreement Steward. The Eclipse Foundation may assign the
3746+
responsibility to serve as the Agreement Steward to a suitable separate
3747+
entity. Each new version of the Agreement will be given a distinguishing
3748+
version number. The Program (including Contributions) may always be
3749+
Distributed subject to the version of the Agreement under which it was
3750+
received. In addition, after a new version of the Agreement is published,
3751+
Contributor may elect to Distribute the Program (including its
3752+
Contributions) under the new version.
3753+
3754+
Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
3755+
receives no rights or licenses to the intellectual property of any
3756+
Contributor under this Agreement, whether expressly, by implication,
3757+
estoppel or otherwise. All rights in the Program not expressly granted
3758+
under this Agreement are reserved. Nothing in this Agreement is intended
3759+
to be enforceable by any entity that is not a Contributor or Recipient.
3760+
No third-party beneficiary rights are created under this Agreement.
3761+
3762+
Exhibit A - Form of Secondary Licenses Notice
3763+
3764+
"This Source Code may also be made available under the following
3765+
Secondary Licenses when the conditions for such availability set forth
3766+
in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
3767+
version(s), and exceptions or additional permissions here}."
3768+
3769+
Simply including a copy of this Agreement, including this Exhibit A
3770+
is not sufficient to license the Source Code under Secondary Licenses.
3771+
3772+
If it is not possible or desirable to put the notice in a particular
3773+
file, then You may include the notice in a location (such as a LICENSE
3774+
file in a relevant directory) where a recipient would be likely to
3775+
look for such a notice.
3776+
3777+
You may add additional accurate notices of copyright ownership.

NOTICE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ This software includes third party software subject to the following copyrights:
7979
- llama.cpp - Copyright (c) 2023-2024 The ggml authors
8080
- pugixml - Copyright (C) 2003, by Kristen Wegner (kristen@tima.net)
8181
- jsoncons - Copyright Daniel Parker 2013 - 2020.
82+
- Eclipse Tahu - Copyright (c) 2015, 2018 Cirrus Link Solutions and others
8283

8384
The licenses for these third party components are included in LICENSE.txt
8485

0 commit comments

Comments
 (0)