Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service #49

Merged
merged 27 commits into from
Jun 14, 2022

Conversation

vdedominicis-EH
Copy link
Contributor

No description provided.

@vdedominicis-EH vdedominicis-EH marked this pull request as ready for review June 10, 2022 08:50
@Weinschenk Weinschenk changed the title Oi4 57 OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service Jun 10, 2022
Copy link
Collaborator

@Weinschenk Weinschenk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see the comment about the switch statement...

@vdedominicis-EH vdedominicis-EH dismissed Weinschenk’s stale review June 10, 2022 14:07

All points highlighted has been discussed in person and addressed, now this branch has to be reviewed by Waldemar

@vdedominicis-EH
Copy link
Contributor Author

@WBorsych Here it is. thanks :)

@vdedominicis-EH
Copy link
Contributor Author

@Weinschenk I don't really know what happened, but apparently the comment you left here (#49 (review)) was seen from github as an open change request which was not possible to mark as resolved. Anyway, since I already addressed all your change request after discussing them in person, I dismissed your review. In this way, after @WBorsych reviews it, I will be able to merge it.

Copy link

@zkhadikov zkhadikov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good work

# Conflicts:
#	packages/oi4-oec-service-node/src/Utilities/Helpers/ClientPayloadHelper.ts
#	packages/oi4-oec-service-node/src/Utilities/Helpers/MqttMessageProcessor.ts
#	packages/oi4-oec-service-node/src/messageBus/OI4MessageBus.ts
#	packages/oi4-oec-service-node/tests/mqttSettingsHelper.test.ts
@vdedominicis-EH vdedominicis-EH merged commit 60587c5 into eh_rework Jun 14, 2022
@Weinschenk Weinschenk deleted the OI4-57 branch June 21, 2022 14:17
Weinschenk added a commit that referenced this pull request Aug 11, 2022
* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* 🔀 update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* ♻️ naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* ♻️ remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* ♻️ make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>
Weinschenk added a commit that referenced this pull request Oct 18, 2022
* changelog updated

* JSON schemas and AsyncAPI added

* Major rework on oi4-service to get it (more) compliant (#124)

* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* 🔀 update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* ♻️ naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* ♻️ remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* ♻️ make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* License and readme updated

* Docu updated

* Docu updated

* IOI4ApplicationFactory renamed

* Allow changing of profile resources without side-effects (#127)

* Removed dependency to lodash package (#126)

* Added setConfig method to IOI4ApplicationResources (#125)

* Prepare prerelease 1.0.0-preview.4

* yarn.lock removed

* Fixed allowed methods (#131)

* Removed lodash package (#130)

* added support for get/mam without subResource (#133)

* Filter must be '' for Health heartbeat (#132)

* Bugfix: NetworkMessage was used for 'get/metadata' instead of DataSetMetaData (#129)

* Prepare release

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>
Weinschenk added a commit that referenced this pull request Oct 18, 2022
* changelog updated

* JSON schemas and AsyncAPI added

* Major rework on oi4-service to get it (more) compliant (#124)

* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* 🔀 update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* ♻️ naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* ♻️ remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* ♻️ make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* License and readme updated

* Docu updated

* Docu updated

* IOI4ApplicationFactory renamed

* Allow changing of profile resources without side-effects (#127)

* Removed dependency to lodash package (#126)

* Added setConfig method to IOI4ApplicationResources (#125)

* Prepare prerelease 1.0.0-preview.4

* yarn.lock removed

* Fixed allowed methods (#131)

* Removed lodash package (#130)

* added support for get/mam without subResource (#133)

* Filter must be '' for Health heartbeat (#132)

* Bugfix: NetworkMessage was used for 'get/metadata' instead of DataSetMetaData (#129)

* Prepare release

* Prepare release

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>
Weinschenk added a commit that referenced this pull request Oct 18, 2022
* changelog updated

* JSON schemas and AsyncAPI added

* Major rework on oi4-service to get it (more) compliant (#124)

* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* 🔀 update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* ♻️ naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* ♻️ remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* ♻️ make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* License and readme updated

* Docu updated

* Docu updated

* IOI4ApplicationFactory renamed

* Allow changing of profile resources without side-effects (#127)

* Removed dependency to lodash package (#126)

* Added setConfig method to IOI4ApplicationResources (#125)

* Prepare prerelease 1.0.0-preview.4

* yarn.lock removed

* Fixed allowed methods (#131)

* Removed lodash package (#130)

* added support for get/mam without subResource (#133)

* Filter must be '' for Health heartbeat (#132)

* Bugfix: NetworkMessage was used for 'get/metadata' instead of DataSetMetaData (#129)

* Prepare release

* Prepare release

* Prepare release

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>
Weinschenk added a commit that referenced this pull request Oct 26, 2022
* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* 🔀 update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* ♻️ naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* ♻️ remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* ♻️ make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>
Weinschenk added a commit that referenced this pull request Oct 26, 2022
* Release of refactored version based on 0.12.1 (#4)

* Refactor to monorepo with validator (#3)

* Refactored

* Refactored

* Update README.md

* Release v.0.12.2-pre1 (#5)

* Refactor to monorepo with validator (#3)

* Refactored

* Refactored

* Update README.md

* Renamed GitHub action

* Started with PascalCase reworks. (#128)

* Started with PascalCase reworks.

Most JSON work should be done.
Work in TS not done yet - might be a mess at the moment.

* yarn.lock removed

Co-authored-by: OI4-Hilscher <55870966+OI4-Hilscher@users.noreply.github.com>

* Version bumped to 1.1.0-preview.1

* Changed to PascalCase and changed naming

* Prepare pre-release

* Refactored to get rid of too many helpers

* Fixed issues with PascalCase

* Fixed tests

* Release v1.0 (#134)

* changelog updated

* JSON schemas and AsyncAPI added

* Major rework on oi4-service to get it (more) compliant (#124)

* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* :twisted_rightwards_arrows: update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* :recycle: naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* :recycle: remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* :recycle: make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* License and readme updated

* Docu updated

* Docu updated

* IOI4ApplicationFactory renamed

* Allow changing of profile resources without side-effects (#127)

* Removed dependency to lodash package (#126)

* Added setConfig method to IOI4ApplicationResources (#125)

* Prepare prerelease 1.0.0-preview.4

* yarn.lock removed

* Fixed allowed methods (#131)

* Removed lodash package (#130)

* added support for get/mam without subResource (#133)

* Filter must be '' for Health heartbeat (#132)

* Bugfix: NetworkMessage was used for 'get/metadata' instead of DataSetMetaData (#129)

* Prepare release

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Prepare release v1.0 (#136)

* changelog updated

* JSON schemas and AsyncAPI added

* Major rework on oi4-service to get it (more) compliant (#124)

* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* :twisted_rightwards_arrows: update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* :recycle: naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* :recycle: remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* :recycle: make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed failing tests (#65)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* OI4-295 Refactor OI4IdManager to be more self explaining (#66)

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed issues with Logger singelton, fixed recursive calls

* Fixed problems in tests with logger

* Refactored OI4RegistryManager and adjusted tests

* Fixed test issues

* Fixed and extended tests

* Removed console output

* OI4-273 (#64)

* Tiny cleanup

* First draft of the code. need to implement the payload structure as well as the actual sending for the new event message

* First message draft

* Implemented the feature, end of the draft

* added a fixme

* removed useless method

* removed useless subresource

* changed the if-else cascade block with a switch

* Fixed tests according to new item structure

* fixed test accordingly with new item structure

* test refactoring, implemented some tests

* removed useless code, created other tests

* Applied fixme

* Changed event handling to be send by the application

* fixed a tiny fixme

* Corrected the code

* removed no more needed enum

* removed no more useful types

* Removed useless method

* Added some tests, test refactoring

* Added tests

* added tests

* Tiny change

* Fixed some after-merge problems

* Changed IEvent to use classes for the sub resources

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* Refactored use IOPCUADataSetMessage instead of IOPCUAPayload (#67)

* OI4-55 (#68)

* Update clientPayloadHelper regarding license payload

* updated the method for fetching the license payload

* Added some test for license, need to fix the other ones

* fixed tests

* code correction due to code review - part 1

* Introduced get license with filtering

* Introduced subResource into topicinfo

* get filtered license

* FIxed tests

* fixed code, added last tests

* Fixed test after merge

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 272 (#69)

* added implementation and test

* ÂÂfixed txypo

* tested get config

* adjusted merge

* adjusted according to comments

* adjusted according to comments

* adjusted event

* adjusted code again

* Implemented feature plus tests (#72)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* V1.0 schema update (#70)

* Merge schemas from branch 'eh_rework' into v1.0

* fixed fieldFlags and builtInType according OPC UA specification

* updated NodeId.schema.json

* fixed schemas

* fixed DataSetMetaDataType.schema.json

* fixed StructureDescription.schema.json

* updated configSet.schema.json

* added NodeId tests

* Fixed event.schema.json / added tests

(allOff and additionalProperties:false don't work together as expected)

* updated DataSetMetaData.schema

* fixed DataSetMetaData.schema

* Fixed ServiceNetworkMessage.schema

* Moved logic from NetworkMessageBase.schema to NetworkMessage.schema / added unit tests

* Exchange tslint with eslint (#75)

* OI4-275 Apply DataSetWriterId handling according to the OPC UA specification and OI4 guideline (#76)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 202.2 (#79)

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* Refactored DataSetWriterId handling and moved resources away from the IContainer

* Applied changes from remote

* Added eslint instead of tslint and applied it

* Fixed for resource Profile

* Refactored MAM to object, started adjusting the tests

* liters adjusted

* Fixed some tests

* Added publicationList handling and fixed some tests

* fixed networkmessage schema

* added sub resource functionality

* Tests updated

* fixed oi4application test

* Implemented getPublicationList function

* Fixed implementation and tests

* merged oi4 275 with oi4-202.2

* Âadded test for sub resource

* resolved merge conflicts

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-302 (#77)

* First draft of updated topicInfo

* Remvoed no more existing class

* updated snapshots

* fixed test

* test refactored and added a test

* test refactored

* code refactoring for flexibility

* added some tests

* added more tests

* ADDED OTHER TESTS

* tiny refactoring

* added some tests

* Fixed code

* added tests

* tiny refactoring and renaming

* Fixed the parser, reworked the tests

* FIXED SOME TESTS

* Added test and refactoring

* Fixed typo

* removed useless commented code, added test

* Fixed and refactored tests, resolved conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* fixed sub resource model (#80)

* fixed calling of processMqttMessage (#81)

* Fixed correlationId to be conform with the NetworkMessage.schema.json (#82)

* Build issues fixed

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Prepare release of 1.0.0-preview.1

* Use arrow function to call a function from another class (#83)

* Use arrow function to call a function from another class

* Fixed this-issue in callback-methods

* added TODO

* Fixed unit tests after introducing OnSendResource and OnSendMetaData

* build issues fixed

* Updated demo docker image

* Updated demo docker image

* Extended demo to be query openweather

* refactored credentialshelper class (#90)

* refactored credentialshelper class

* removed avro

* OI4-332-5 (#87)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed loading of mam object (#84)

* Fixed loading of mam object

* Updated extractMamFile method

* OI4-343 (#91)

* First draft, prework

* Added topic parser and draft of topic validator

* Updates the parser

* removed useless docu

* Added fixme

* Added the draft of the topic validation

* commented useless fields

* removed useless imports

* Implemented coherency check amonth topic ServiceType/AppId and Payload PublisherId

* Added clarification FIXME

* Fixed tests for MqttMessageprocessor

* Added tests for topicparser

* added more tests

* Added some tests

* Added other tests

* Fixed a couple of imports

* Refactored the code

* Fixed error messages

* fixed the tests

* Fixed the test against the topicParser

* Started writing tests for MessageValidator

* Refined the mockedLoggerFactory

* Fixed message validator and added tests

* Refactored the log factory, cleaned up the code

* Fixed the test, wrong change I've done before

* massive refactoring

* removed unused import

* extended the test on the LoggerFactory

* Fixed a probem on the BuilderFactory, extendsed the tests

* added tiny documentation

* removed useless method

* Completed the validator, refined and fixed the tests accordingly

* Removed useless feld, fixed code accordingly

* Adde hte last tests

* Removed no more used field

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Deleted IContainerConfig.ts (#97)

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* OI4-338 Extend oi4-oec-service-demo (#98)

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Extended demo to be query openweather

* Moved processing from OI4ApplicationResources to OI4Resource. Fixed failure in OI4 Registry handling. Fixed unit tests

* Fixed failing tests

* Add MAM for test assets

* Fixed some issues

* Removed ConfigParser

* Initialize _license with an empty array

* Anonymized credentials

* Added docker_configs to gitignore

* Validator (#92)

* added basic test environment (resource conformity test produces deadlock at the moment)

* Moved MQTT access logic to MessageBusLookup

* MessageBusLookup can handle that the first published response does not belong to the get-request

* fixed mam unit test

* added unit tests for health and profile / added mandatory device resource referenceDesignation

* fixed publicationList.schema.json and added unit tests / added unit tests for ConformityValidator

* Cleanup: moved all valid network messages to NetworkMessages_valid.json

* added support for topics without subResource / make unit test more stable by adjusting the correlationId (if necessary)

* Added support for metadata

* restructuring of tests / profile does not support filters

* updated validation of license texts / validation results are now more type-safe

* improved validation of resources / introduced interfaces-resource

* added more tests

* Extended implementation to be more useful

* Fixed naming of log levels

* Removed checkPayloadType (#103)

* Add possibility to add and remove additional subscriptions (#104)

* Abort sending in case of a know (but not yet implemented) resource (#106)

* Export topic parser (#101)

* Export TopicParser because it is useful for other components.

* export TopicMethods

* Adjust ProductIntanceUri directly when loading the mam file (#105)

* fixed PublicationList (#99)

* fixed PublicationList

# Conflicts:
#	packages/oi4-oec-service-node/tests/application/Oi4ApplicationResources.test.ts

* fixed tests

* OI4-363 (#110)

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* fixed tests

* Fixed method call and tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added MAM and Health auto publication

* Added MAM and Health auto publication

* Add possibility to process custom subscriptions

* Fixed method call

* Fixed method call and tests

* fixed tests

* ServiceTypes used instead of a string, started fixing tests

* fixed all tests

* Added IOI4Application to the exports

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* Oi4 340 (#109)

* fixed some tests

* fixed overflow

* changed counter logic

* adjusted code

* resolved merge

* refactored mqtt message processor (#111)

* refactored mqtt message processor

* fixed checkPayload

* resolved merge conflicts

* Introduced mam.getServiceType() (#100)

* Introduced method mam.getServiceType() and updated all usages

* replaced DeviceClass with getServiceType()

* fixed broken unit test (#114)

* removed wrong properties from 'buildPaginatedOPCUANetworkMessageArray' / fixed license payload (#113)

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* OI4-370 Add type for OI4 identifier instead of a string (#115)

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* Cfz/config (#116)

* createConfigSendResourcePayload now returns a valid payload

* fixed wrong filtering

* fixed publication of messages (#112)

* logged message

* Introduced Oi4Identifier class

* Introduced Oi4Identifier class

* Fixed some tests

* fixed all tests

* logged message

* Rebased and incorporated changes

* Fixed minor bugs

* Tests fixed

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Typo in enumeration (#118)

* Added send data to Demo Service

* Updated Dockerfile

* OPCUABuilder uses max_package_size from broker.json (#117)

* Removed process.env.OI4_EDGE_MQTT_MAX_MESSAGE_SIZE from OPCUABuilder

* Allow access to opcUaBuilder

* Oi4Identifier fixes (#119)

* Fixed: Callback uses wrong type in event argument

* Oi4Identifer: fixed equality handling and handling of special characters

* Optionally decode the constructor arguments

* Simplify fromString method

* Cfz/resource fix (#120)

* added support for license sub-resources / fixed wrong exception

* fixed equality-check

* fixed PublicationList JSON conversion (#121)

* Allow null for dataSetClassId and arrayDimensions (#123)

* Prepare release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Fix schema release of 1.0.0-preview.2

* Prepare release of 1.0.0-preview.3

* Removed demo service as it has been moved to separate repo

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* License and readme updated

* Docu updated

* Docu updated

* IOI4ApplicationFactory renamed

* Allow changing of profile resources without side-effects (#127)

* Removed dependency to lodash package (#126)

* Added setConfig method to IOI4ApplicationResources (#125)

* Prepare prerelease 1.0.0-preview.4

* yarn.lock removed

* Fixed allowed methods (#131)

* Removed lodash package (#130)

* added support for get/mam without subResource (#133)

* Filter must be '' for Health heartbeat (#132)

* Bugfix: NetworkMessage was used for 'get/metadata' instead of DataSetMetaData (#129)

* Prepare release

* Prepare release

Co-authored-by: Franz, Christian <cfz@mm-software.com>
Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>
Co-authored-by: Christian Franz <103026556+chrfranz@users.noreply.github.com>

* Release v1.0 (#137)

* changelog updated

* JSON schemas and AsyncAPI added

* Major rework on oi4-service to get it (more) compliant (#124)

* Prepare development on v1.0

* Json schemas updated

* OPC UA Json schemas updated

* OI4 schemas updated

* OI4 schemas updated

* additionalProperties does not work with allOf / added some basic regex patterns for MessageId and PublisherId

* updated config enumeration to 1.0.0

* Fix yarn install

* Use v1.0 json schemas

* Fixed failing build

* Decouple conformity validator from instantiating a mqtt client

* OI4-208-4 (#34)

* Implemented the functionality, need to fix one test

* now the test works, even if no changes. I'm perplexed. IntelliJ indexing problem maybe?

* Code correction due to code review, plus added a test, plus refactored the code. That's it for today

* Marked methods static, finalized and marked variable readonly

* code correction due to code review

* Code corrections due to code review

* Added username validation

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-198 (#36)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* removed token

* Âremoved ts-ignore

* remove unnecessary assignements

* extended test

* line

* removed eslint ignore

* adjusted code

* Oi4 200 (#41)

* added mam file storage and reading

* moved tests and documented

* changed file name

* Oi4 47 (#39)

* added test and functionality for ca

* implemented ca check and 100% coverage for checking mqttsettings

* Âremove todo

* adjusted will message and added close message. birth message already exists and checked

* adjusted code

* removed eslint ignore

* adjusted code

* removed unsecured broker

* adjusted health state

* moved tests outside of src and adjusted code according change request

* added doc

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* OI4-205 (#42)

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Migrated schemas for network and data set message to v1.0, added tests, fixed build and test problems

* Refactored json schema builders

* Oi4 201 (#44)

* First cleanup attempts

* Even more refactoring

* Fixed some code smells

* Fixed some code smells

* Big refactoring round, left some fixme to double check

* Implemented sending default health status

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Oi4 bug fix jest (#45)

* fixed tests

* snapshots

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 - Removed unused web proxy and refactored name. Removed obsolete test f… (#46)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added a break into a switch case which I forgot to add while refactoring the class (#47)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

Co-authored-by: vdedominicis-EH <91959293+vdedominicis-EH@users.noreply.github.com>
Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed a circular dependency in variable initialization (#50)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* Fixed some problems forgot in the previous branch (#53)

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* OI4-239 Blend and refactor MQTT settings handling with the help of a factory (#51)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* :twisted_rightwards_arrows: update with eh_rework

Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>
Co-authored-by: WBorsych <64781755+WBorsych@users.noreply.github.com>

* OI4-57 As an OI4 OEC service developer, I want to know how to address the registry, so that I can use in my service (#49)

* Tiny refactoring of message processor

* Implemented the functionality

* Starting to implement the tests

* cleaned up the logger factory

* created prototype factory

* Implemented a factory for the IContainerState items, sketched the first test

* Refined a bit the MockedIContainerStateFactory

* Added some eslint-ignore on the message processor

* Forgot a semicolon in the factory :)

* Finished to mock the IContanerStateInstance

* restored the old implementation of the loggerFactory, was the best one

* Created a factory for the OPCUABuilder

* Reorganized imports

* Improved the factory

* created test for the factories

* renamed the factory tests

* moved the test for the logger factory in the proper folder

* Fixed the enums, added export statement

* Implemented the test

* fixed a test on the factory

* Fixed a problem with the OCPUAFactory, refined the tests

* removed some ts-ignore

* Saved the oi4Id into a specific shared object. implemented tests

* Fixed imports

* Fixed import after solving conflicts

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>
Co-authored-by: RiccardoScuderi-EH <97168952+RiccardoScuderi-EH@users.noreply.github.com>

* :recycle: naming and imports (#55)

* Oi4 240 (#54)

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Removed package.json from include (for now) and fixed import

* Fixed merge problems

* splitted docker commands

* deployed fake service that is trying to connect to broker

* Added factory, fixed test, renamed OPC UA parameters

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* Added basic tests

* Removed unused web proxy and refactored name. Removed obsolete test folder in src

* Refactored class and adjusted tests

* Added factory, fixed test, renamed OPC UA parameters

* Added basic tests

* Rebased with eh_rework

* fixed building error

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* resolved merge

* resolved conflict

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* adjusted fake service

Co-authored-by: Thomas Weinschenk <thomas.weinschenk@endress.com>

* :recycle: remove unneeded layers and introduce Record instead of defining it over and over (#56)

* Oi4 260 (#57)

* commit merge

* created dockerfile and integrated in yarn

* excluded demo project from yarn

* splitted docker commands

* deployed fake service that is trying to connect to broker

* removed unecessary download

* mapping for mam and mqtt_credentials for container

* changed ip to hostname

* tested service with certs

* added read me

* added copy file script

* added copy file script

* added copy file script

* added copy file script

* exluded service demo from yarn build in root project

* removed useless folder

* adjusted description

* adjusted readme

* added merge

* covered whole messageBus with test

* renamed files and variables regarding to new refactoring

* Oi4-261-2 Implement test for helpers classes (#59)

* Removed MqttSettingHelper test because no more existing class, renamed the other one accordingly with the current naming

* Reorganized test folder structure and renamed some files

* fixed a bug, created some tests

* removed a comment, added some tests

* added some comments of a smelly parts of the code and even more tests

* added some tests

* added more tests

* test refactoring

* tests. again. getting sick of them.

* added the last tests for payload helper

* Implemented Mqtt.Asyncclient factory for test

* fixed import on ClientPayloadHelper

* Fixed clientCallbackHelper implementation

* created draft of clientCallbackHelperTest

* implemented test CallbackClient

* Code fixed afte rmerge and conflict resolution

Co-authored-by: vdedominicis <de.dominicis.valerio@gmail.com>

* :recycle: make logger a singleton (#60)

* OI4-239 removed web proxy as http should not be supported by default for security and performance reasons (#62)

* Refactored (#61)

* OI4-294 Fixed …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants