-
Notifications
You must be signed in to change notification settings - Fork 96
Added support for 2.7 Assets #582
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
Conversation
…nt to a table without capablity
…ed. Changed to FakeAsset
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request adds support for MTConnect 2.7 Assets, introducing six new asset types: Part, PartArchetype, Process, ProcessArchetype, Task, and TaskArchetype. The implementation includes comprehensive test coverage, validation logic, and integration with the existing asset system.
Key Changes
- Introduced new asset types with factory methods and registration mechanisms for Part, Process, and Task (both base and archetype variants)
- Added Target classes to support device targeting and requirement tables used by the new assets
- Enhanced the entity framework to support DataSet values and improved JSON printing for entity lists
- Updated version number to 2.7.0 RC1
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
src/mtconnect/asset/part.hpp/.cpp |
Implements Part and PartArchetype assets with customer and identifier support |
src/mtconnect/asset/process.hpp/.cpp |
Implements Process and ProcessArchetype assets with routing and activity group support |
src/mtconnect/asset/task.hpp/.cpp |
Implements Task and TaskArchetype assets with collaborator and coordinator support |
src/mtconnect/asset/target.hpp/.cpp |
Implements Target framework including device targets, groups, refs, and requirements |
src/mtconnect/agent.cpp |
Registers new asset types with the agent |
src/mtconnect/entity/xml_parser.cpp |
Adds support for parsing DataSet values |
src/mtconnect/entity/json_printer.hpp |
Improves entity list printing for version 2+ |
src/mtconnect/entity/factory.hpp |
Adds value DataSet and table detection methods |
test_package/part_test.cpp |
Comprehensive tests for Part assets (633 lines) |
test_package/process_test.cpp |
Comprehensive tests for Process assets (771 lines) |
test_package/task_test.cpp |
Comprehensive tests for Task assets (1298 lines) |
test_package/target_test.cpp |
Tests for Target framework (421 lines) |
test_package/CMakeLists.txt |
Adds new test executables |
agent_lib/CMakeLists.txt |
Includes new asset source files |
CMakeLists.txt |
Updates version to 2.7.0 RC1 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Added the following asset types, test, and validation: