├── .gitattributes
├── .github
├── dependabot.yml
└── workflows
│ └── maven-run-tests.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
├── README.md
├── basyx.aasWrapper
├── .gitignore
├── Dockerfile
├── build.bat
├── build.sh
├── docker-compose.yml
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── eclipse
│ │ │ │ └── basyx
│ │ │ │ └── wrapper
│ │ │ │ ├── AASWrapperExecutable.java
│ │ │ │ ├── exception
│ │ │ │ └── WrapperRequestException.java
│ │ │ │ ├── provider
│ │ │ │ ├── GenericHTTPInterface.java
│ │ │ │ ├── GenericWrapperProvider.java
│ │ │ │ ├── HTTPModelProvider.java
│ │ │ │ ├── IWrapperProvider.java
│ │ │ │ ├── JSONProvider.java
│ │ │ │ ├── aas
│ │ │ │ │ ├── AASWrapperProvider.java
│ │ │ │ │ ├── WrapperAsset.java
│ │ │ │ │ ├── WrapperAssetAdministrationShell.java
│ │ │ │ │ └── WrapperSubmodel.java
│ │ │ │ ├── grafana
│ │ │ │ │ ├── GrafanaProvider.java
│ │ │ │ │ └── GrafanaTimeseries.java
│ │ │ │ └── streamsheets
│ │ │ │ │ └── StreamsheetsProvider.java
│ │ │ │ └── receiver
│ │ │ │ ├── DataPoint.java
│ │ │ │ ├── IPropertyEndpoint.java
│ │ │ │ ├── IPropertyWrapperService.java
│ │ │ │ ├── IWrapperListener.java
│ │ │ │ ├── PropertyResult.java
│ │ │ │ ├── SeparateAASService.java
│ │ │ │ └── configuration
│ │ │ │ ├── AASPropertyConfiguration.java
│ │ │ │ └── PropertyConfiguration.java
│ │ └── resources
│ │ │ ├── context.properties
│ │ │ └── wrapper.properties
│ └── test
│ │ └── resources
│ │ └── .env
├── start.bat
├── start.sh
├── stop.bat
└── stop.sh
├── basyx.dashboardAAS
├── .gitignore
├── Dockerfile
├── build.bat
├── build.sh
├── docker-compose.yml
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── org
│ │ │ │ └── eclipse
│ │ │ │ └── basyx
│ │ │ │ └── dashboard
│ │ │ │ ├── AASExecutable.java
│ │ │ │ ├── DashboardAsset.java
│ │ │ │ ├── DashboardAssetAdministrationShell.java
│ │ │ │ ├── DashboardSubmodel.java
│ │ │ │ └── DashboardSubmodelConfiguration.java
│ │ └── resources
│ │ │ ├── context.properties
│ │ │ └── dashboardsubmodel.properties
│ └── test
│ │ └── resources
│ │ └── .env
├── start.bat
├── start.sh
├── stop.bat
└── stop.sh
├── basyx.docker
├── mongodb-deployment
│ └── compose.yaml
└── simple-deployment-with-gui
│ └── compose.yaml
├── basyx.examples.deviceintegration
├── .gitignore
├── Dockerfile
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── org
│ │ └── eclipse
│ │ └── basyx
│ │ └── examples
│ │ └── heater
│ │ ├── DeviceIntegrationScenario.java
│ │ ├── HeaterChangeListener.java
│ │ ├── HeaterDevice.java
│ │ ├── HeaterGateway.java
│ │ └── HeaterSmartAsset.java
│ └── resources
│ ├── aasServer
│ └── Heater_AAS.aasx
│ ├── compose.yaml
│ ├── databridge
│ ├── aasserver.json
│ ├── jsonatatransformer.json
│ ├── mqttconsumer.json
│ ├── routes.json
│ └── temperatureTransformer.jsonata
│ └── mosquitto
│ └── mosquitto.conf
├── basyx.examples.printdecoration
├── .gitignore
├── pom.xml
└── src
│ └── main
│ ├── java
│ ├── decoration
│ │ ├── PrintlnAASAPI.java
│ │ ├── PrintlnAASAggregator.java
│ │ ├── PrintlnSubmodelAPI.java
│ │ └── PrintlnSubmodelAggregator.java
│ ├── executables
│ │ └── Executable.java
│ ├── factories
│ │ ├── PrintlnDecoratingAASAPIFactory.java
│ │ ├── PrintlnDecoratingAASAggregatorFactory.java
│ │ ├── PrintlnDecoratingSubmodelAPIFactory.java
│ │ └── PrintlnDecoratingSubmodelAggregatorFactory.java
│ └── feature
│ │ ├── PrintlnAASServerDecorator.java
│ │ └── PrintlnAASServerFeature.java
│ └── resources
│ ├── aas.properties
│ ├── registry.properties
│ ├── registryContext.properties
│ └── serverContext.properties
├── basyx.examples.timeseries
├── .gitignore
├── Dockerfile
├── README.md
├── docker-compose.yaml
├── influxdb
│ ├── .env
│ ├── .gitignore
│ ├── data_scripts
│ │ ├── air-sensor-data.lp
│ │ └── client.py
│ ├── entrypoint.sh
│ └── scripts
│ │ └── influxdb-init.iql
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── org
│ │ └── eclipse
│ │ └── basyx
│ │ └── examples
│ │ └── timeseries
│ │ ├── AASXImporter.java
│ │ ├── AirSensor.java
│ │ ├── Executable.java
│ │ ├── influxdb
│ │ ├── InfluxDBConnection.java
│ │ └── QueryBuilder.java
│ │ └── time_series_submodel
│ │ ├── IQueryContainer.java
│ │ ├── InfluxDBInvokables.java
│ │ └── TimeSeriesSubmodelFactory.java
│ └── resources
│ └── admin-shells
│ └── AirSensor.aasx
├── basyx.examples
├── .gitignore
├── examples.txt
├── examples
│ └── org
│ │ └── eclipse
│ │ └── basyx
│ │ └── examples
│ │ └── snippets
│ │ └── undoc
│ │ └── aas
│ │ └── embedhttp
│ │ ├── EmbeddedHTTP.java
│ │ ├── EmbeddedHTTPServer.java
│ │ └── EmbeddedHTTPSubModelServer.java
├── pom.xml
├── postman collection
│ ├── 01_Festo.aasx
│ └── BaSyx_Scenarios.postman_collection.json
└── src
│ ├── main
│ ├── java
│ │ └── org
│ │ │ └── eclipse
│ │ │ └── basyx
│ │ │ └── examples
│ │ │ ├── scenarios
│ │ │ ├── authorization
│ │ │ │ ├── AuthorizationProvider.java
│ │ │ │ ├── AuthorizedComponentFactory.java
│ │ │ │ ├── AuthorizedRegistryScenario.java
│ │ │ │ ├── KeycloakServiceProvider.java
│ │ │ │ ├── ShutdownHookUtil.java
│ │ │ │ ├── combined
│ │ │ │ │ ├── AASServerTestClient.java
│ │ │ │ │ ├── AuthorizedAASServerAndRegistryUsingComponentsExecutable.java
│ │ │ │ │ ├── AuthorizedAASServerAndRegistryUsingSDKExecutable.java
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── RegistryTestClient.java
│ │ │ │ │ └── SetupKeycloak.java
│ │ │ │ ├── exception
│ │ │ │ │ ├── AddClientException.java
│ │ │ │ │ ├── RealmCreationException.java
│ │ │ │ │ └── RealmDeletionException.java
│ │ │ │ └── shared
│ │ │ │ │ ├── AuthorizedClient.java
│ │ │ │ │ ├── ExampleAssetFactory.java
│ │ │ │ │ ├── ExampleShellFactory.java
│ │ │ │ │ ├── ExampleSubmodelFactory.java
│ │ │ │ │ ├── SharedConfig.java
│ │ │ │ │ ├── UnauthenticatedClient.java
│ │ │ │ │ └── UnauthorizedClient.java
│ │ │ ├── cloudedgedeployment
│ │ │ │ ├── CloudEdgeDeploymentScenario.java
│ │ │ │ └── ComponentFactory.java
│ │ │ └── staticdynamic
│ │ │ │ ├── ExampleDynamicSubmodel.java
│ │ │ │ └── StaticDynamicScenario.java
│ │ │ ├── snippets
│ │ │ ├── aas
│ │ │ │ ├── AddSubmodelToAAS.java
│ │ │ │ ├── CreateAAS.java
│ │ │ │ ├── DeleteSubmodelFromAAS.java
│ │ │ │ └── RetrieveSubmodelFromAAS.java
│ │ │ ├── manager
│ │ │ │ ├── AddSubmodelToAAS.java
│ │ │ │ ├── DeleteAAS.java
│ │ │ │ ├── DeleteSubmodelFromAAS.java
│ │ │ │ ├── PushAASToServer.java
│ │ │ │ ├── RetrieveAAS.java
│ │ │ │ └── RetrieveSubmodelFromAAS.java
│ │ │ ├── property
│ │ │ │ └── CreateLambdaProperty.java
│ │ │ ├── registry
│ │ │ │ ├── DeregisterAAS.java
│ │ │ │ ├── DeregisterSubmodel.java
│ │ │ │ ├── LookupAAS.java
│ │ │ │ ├── LookupSubmodel.java
│ │ │ │ ├── RegisterAAS.java
│ │ │ │ └── RegisterSubmodel.java
│ │ │ └── submodel
│ │ │ │ ├── AddSubmodelElement.java
│ │ │ │ ├── CreateSubmodel.java
│ │ │ │ ├── DeleteSubmodelElement.java
│ │ │ │ ├── ExecuteOperation.java
│ │ │ │ ├── HostPreconfiguredSubmodel.java
│ │ │ │ └── RetrieveSubmodelElement.java
│ │ │ └── support
│ │ │ ├── ExampleAASComponent.java
│ │ │ ├── ExampleComponentBuilder.java
│ │ │ ├── ExampleRegistryComponent.java
│ │ │ └── directory
│ │ │ ├── ExampleAASRegistry.java
│ │ │ └── ExamplesPreconfiguredDirectory.java
│ └── resources
│ │ ├── AuthorizedRegistryContext.properties
│ │ ├── CloudEdgeDeploymentScenarioAASContext.properties
│ │ ├── RegistryContext.properties
│ │ ├── Test_client.json
│ │ ├── Test_realm.json
│ │ ├── combined
│ │ ├── aasServer.properties
│ │ ├── aasServer_context.properties
│ │ ├── rbac_rules.json
│ │ ├── registry.properties
│ │ ├── registry_context.properties
│ │ └── security.properties
│ │ ├── config
│ │ └── moquette.conf
│ │ └── logback.xml
│ └── test
│ ├── java
│ └── org
│ │ └── eclipse
│ │ └── basyx
│ │ └── examples
│ │ ├── ConstantinTest.java
│ │ ├── contexts
│ │ ├── BaSyxExamplesContext.java
│ │ └── BaSyxExamplesContext_Empty.java
│ │ ├── deployment
│ │ ├── BaSyxDeployment.java
│ │ └── UnknownContextComponentTypeException.java
│ │ ├── mockup
│ │ ├── application
│ │ │ ├── ReceiveDeviceDashboardStatusApplication.java
│ │ │ └── ReceiveDeviceMaintenanceApplication.java
│ │ ├── device
│ │ │ ├── ControllableTCPDeviceMockup.java
│ │ │ ├── SimpleTCPDeviceMockup.java
│ │ │ └── SmartBaSyxTCPDeviceMockup.java
│ │ ├── devicemanager
│ │ │ ├── BaSyxTCPControlManufacturingDeviceManager.java
│ │ │ ├── ManufacturingDeviceActiveAASManager.java
│ │ │ └── ManufacturingDeviceManager.java
│ │ └── servers
│ │ │ └── SupplierStatusServlet.java
│ │ ├── scenarios
│ │ ├── authorization
│ │ │ └── TestAuthorizedRegistryScenario.java
│ │ ├── cloudedgedeployment
│ │ │ └── TestCloudEdgeDeploymentScenario.java
│ │ ├── device
│ │ │ ├── BaSyxExampleScenario.java
│ │ │ ├── RunSimpleTCPDevice.java
│ │ │ ├── aas
│ │ │ │ └── RunAASDevice.java
│ │ │ └── controllable
│ │ │ │ ├── RunExampleSimpleControllableTCPDevice.java
│ │ │ │ └── RunExampleSimpleSmartDevice.java
│ │ └── staticdynamic
│ │ │ └── TestStaticDynamicScenario.java
│ │ └── snippets
│ │ ├── AbstractSnippetTest.java
│ │ ├── aas
│ │ ├── TestAddSubmodelToAAS.java
│ │ ├── TestCreateAAS.java
│ │ ├── TestDeleteSubmodelFromAAS.java
│ │ ├── TestRetrieveSubmodelFromAAS.java
│ │ └── active
│ │ │ ├── RunComposedActiveModelSnippet.java
│ │ │ ├── RunInfluxDBActiveModelSnippet.java
│ │ │ └── tasks
│ │ │ ├── AverageTask.java
│ │ │ ├── IncrementTask.java
│ │ │ └── InfluxDBTask.java
│ │ ├── manager
│ │ ├── TestAddSubmodelToAAS.java
│ │ ├── TestDeleteAAS.java
│ │ ├── TestDeleteSubmodelFromAAS.java
│ │ ├── TestPushAASToServer.java
│ │ ├── TestRetrieveAAS.java
│ │ └── TestRetrieveSubmodelFromAAS.java
│ │ ├── property
│ │ └── TestCreateLambdaProperty.java
│ │ ├── registry
│ │ ├── TestDeregisterAAS.java
│ │ ├── TestDeregisterSubmodel.java
│ │ ├── TestLookupAAS.java
│ │ ├── TestLookupSubmodel.java
│ │ ├── TestRegisterAAS.java
│ │ └── TestRegisterSubmodel.java
│ │ ├── submodel
│ │ ├── TestAddSubmodelElement.java
│ │ ├── TestCreateSubmodel.java
│ │ ├── TestDeleteSubmodelElement.java
│ │ ├── TestExecuteOperation.java
│ │ ├── TestHostPreconfiguredSubmodel.java
│ │ └── TestRetrieveSubmodelElement.java
│ │ ├── urn
│ │ └── ConstructURNs.java
│ │ └── vab
│ │ ├── CRUDOperations.java
│ │ ├── DynamicPropertyClass.java
│ │ ├── DynamicPropertyLambda.java
│ │ ├── ManualHTTPCalls.java
│ │ └── provider
│ │ ├── FileSystemProviderClass.java
│ │ ├── VABLambdaProviderClass.java
│ │ └── VABMapProviderClass.java
│ └── resources
│ ├── logback.xml
│ └── registry.properties
├── basyx.grafana
├── .gitignore
├── dashboard.json
├── docker-compose.yml
├── grafana.ini
├── lib
│ └── grafana.db
├── readme.txt
├── start.bat
├── start.sh
├── stop.bat
└── stop.sh
├── basyx.hello_world
├── .gitignore
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── org
│ │ └── eclipse
│ │ └── basyx
│ │ └── hello_world
│ │ ├── Client.java
│ │ └── HelloWorldServer.java
│ └── resources
│ ├── aas.properties
│ ├── config
│ └── moquette.conf
│ └── mqtt.properties
├── basyx.nodered
├── .gitignore
├── Dockerfile
├── build.bat
├── build.sh
├── docker-compose.yml
├── flows.json
├── mosquitto
│ └── config
│ │ └── mosquitto.conf
├── node-red-contrib-aas-connect
│ ├── get-aas-property.html
│ ├── get-aas-property.js
│ ├── icons
│ │ ├── logo-BaSys4.png
│ │ └── machine.png
│ ├── package.json
│ ├── set-aas-property.html
│ └── set-aas-property.js
├── node-red
│ ├── .config.json
│ ├── .dash
│ │ └── config_default.json
│ ├── flows.json
│ ├── flows_cred.json
│ ├── package.json
│ └── settings.js
├── package.json
├── readme.txt
├── settings.js
├── start.bat
├── start.sh
├── stop.bat
└── stop.sh
├── basyx.rosbridge
├── BasyxRosBridgeDemo
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── main
│ │ ├── CustIdentifier.java
│ │ ├── Main.java
│ │ └── TestSrvProcessor.java
├── Readme.md
├── basyx_ros_bridge
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── basyx_ros_bridge
│ │ └── components
│ │ ├── BasyxJavaTypeConverter.java
│ │ ├── MessagePublisherSMC.java
│ │ ├── MessageSubscriptionSMC.java
│ │ ├── RosToSubmodelConverter.java
│ │ ├── ServiceCallerSMC.java
│ │ └── ServicePublisherSMC.java
└── java_rosbridge_client
│ ├── java_rosbridge_client.communication
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ ├── actionlib_msgs
│ │ ├── GoalID.java
│ │ ├── GoalStatus.java
│ │ └── GoalStatusArray.java
│ │ ├── diagnostic_msgs
│ │ ├── AddDiagnostics.java
│ │ ├── AddDiagnosticsArgs.java
│ │ ├── AddDiagnosticsResp.java
│ │ ├── DiagnosticArray.java
│ │ ├── DiagnosticStatus.java
│ │ ├── KeyValue.java
│ │ ├── SelfTest.java
│ │ ├── SelfTestArgs.java
│ │ └── SelfTestResp.java
│ │ ├── geometry_msgs
│ │ ├── Accel.java
│ │ ├── AccelStamped.java
│ │ ├── AccelWithCovariance.java
│ │ ├── AccelWithCovarianceStamped.java
│ │ ├── Inertia.java
│ │ ├── InertiaStamped.java
│ │ ├── Point.java
│ │ ├── Point32.java
│ │ ├── PointStamped.java
│ │ ├── Polygon.java
│ │ ├── PolygonStamped.java
│ │ ├── Pose.java
│ │ ├── Pose2D.java
│ │ ├── PoseArray.java
│ │ ├── PoseStamped.java
│ │ ├── PoseWithCovariance.java
│ │ ├── PoseWithCovarianceStamped.java
│ │ ├── Quaternion.java
│ │ ├── QuaternionStamped.java
│ │ ├── Transform.java
│ │ ├── TransformStamped.java
│ │ ├── Twist.java
│ │ ├── TwistStamped.java
│ │ ├── TwistWithCovariance.java
│ │ ├── TwistWithCovarianceStamped.java
│ │ ├── Vector3.java
│ │ ├── Vector3Stamped.java
│ │ ├── Wrench.java
│ │ └── WrenchStamped.java
│ │ ├── msg_elements
│ │ ├── Duration.java
│ │ └── Time.java
│ │ ├── nav_msgs
│ │ ├── GetMap.java
│ │ ├── GetMapArgs.java
│ │ ├── GetMapResp.java
│ │ ├── GetPlan.java
│ │ ├── GetPlanArgs.java
│ │ ├── GetPlanResp.java
│ │ ├── GridCells.java
│ │ ├── LoadMap.java
│ │ ├── LoadMapArgs.java
│ │ ├── LoadMapResp.java
│ │ ├── MapMetaData.java
│ │ ├── OccupancyGrid.java
│ │ ├── Odometry.java
│ │ ├── Path.java
│ │ ├── SetMap.java
│ │ ├── SetMapArgs.java
│ │ └── SetMapResp.java
│ │ ├── sensor_msgs
│ │ ├── BatteryState.java
│ │ ├── CameraInfo.java
│ │ ├── ChannelFloat32.java
│ │ ├── CompressedImage.java
│ │ ├── FluidPressure.java
│ │ ├── Illuminance.java
│ │ ├── Image.java
│ │ ├── Imu.java
│ │ ├── JointState.java
│ │ ├── Joy.java
│ │ ├── JoyFeedback.java
│ │ ├── JoyFeedbackArray.java
│ │ ├── LaserEcho.java
│ │ ├── LaserScan.java
│ │ ├── MagneticField.java
│ │ ├── MultiDOFJointState.java
│ │ ├── MultiEchoLaserScan.java
│ │ ├── NavSatFix.java
│ │ ├── NavSatStatus.java
│ │ ├── PointCloud.java
│ │ ├── PointCloud2.java
│ │ ├── PointField.java
│ │ ├── Range.java
│ │ ├── RegionOfInterest.java
│ │ ├── RelativeHumidity.java
│ │ ├── SetCameraInfo.java
│ │ ├── SetCameraInfoArgs.java
│ │ ├── SetCameraInfoResp.java
│ │ ├── Temperature.java
│ │ └── TimeReference.java
│ │ ├── shape_msgs
│ │ ├── Mesh.java
│ │ ├── MeshTriangle.java
│ │ ├── Plane.java
│ │ └── SolidPrimitive.java
│ │ ├── std_msgs
│ │ ├── Bool.java
│ │ ├── Byte.java
│ │ ├── ByteMultiArray.java
│ │ ├── Char.java
│ │ ├── ColorRGBA.java
│ │ ├── Duration.java
│ │ ├── Empty.java
│ │ ├── Float32.java
│ │ ├── Float32MultiArray.java
│ │ ├── Float64.java
│ │ ├── Float64MultiArray.java
│ │ ├── Header.java
│ │ ├── Int16.java
│ │ ├── Int16MultiArray.java
│ │ ├── Int32.java
│ │ ├── Int32MultiArray.java
│ │ ├── Int64.java
│ │ ├── Int64MultiArray.java
│ │ ├── Int8.java
│ │ ├── Int8MultiArray.java
│ │ ├── MultiArrayDimension.java
│ │ ├── MultiArrayLayout.java
│ │ ├── String.java
│ │ ├── Time.java
│ │ ├── UInt16.java
│ │ ├── UInt16MultiArray.java
│ │ ├── UInt32.java
│ │ ├── UInt32MultiArray.java
│ │ ├── UInt64.java
│ │ ├── UInt64MultiArray.java
│ │ ├── UInt8.java
│ │ └── UInt8MultiArray.java
│ │ ├── std_srvs
│ │ ├── Empty.java
│ │ ├── EmptyArgs.java
│ │ ├── EmptyResp.java
│ │ ├── SetBool.java
│ │ ├── SetBoolArgs.java
│ │ ├── SetBoolResp.java
│ │ ├── Trigger.java
│ │ ├── TriggerArgs.java
│ │ └── TriggerResp.java
│ │ ├── stereo_msgs
│ │ └── DisparityImage.java
│ │ ├── trajectory_msgs
│ │ ├── JointTrajectory.java
│ │ ├── JointTrajectoryPoint.java
│ │ ├── MultiDOFJointTrajectory.java
│ │ └── MultiDOFJointTrajectoryPoint.java
│ │ └── visualization_msgs
│ │ ├── ImageMarker.java
│ │ ├── InteractiveMarker.java
│ │ ├── InteractiveMarkerControl.java
│ │ ├── InteractiveMarkerFeedback.java
│ │ ├── InteractiveMarkerInit.java
│ │ ├── InteractiveMarkerPose.java
│ │ ├── InteractiveMarkerUpdate.java
│ │ ├── Marker.java
│ │ ├── MarkerArray.java
│ │ └── MenuEntry.java
│ ├── java_rosbridge_client.core
│ ├── pom.xml
│ └── src
│ │ └── main
│ │ └── java
│ │ └── java_rosbridge_client
│ │ └── core
│ │ ├── rosbridge
│ │ ├── RosbridgeClient.java
│ │ ├── RosbridgeMessageHandler.java
│ │ ├── RosbridgeMessageListener.java
│ │ ├── RosbridgeMessagePublisher.java
│ │ ├── RosbridgeServiceCaller.java
│ │ ├── RosbridgeServicePublisher.java
│ │ ├── RosbridgeWebsocketEndpoint.java
│ │ ├── SimpleRosbridgeMessageListener.java
│ │ └── SimpleRosbridgeServicePublisher.java
│ │ └── utility
│ │ ├── Base64TypeAdapterFactory.java
│ │ ├── RosMessage.java
│ │ ├── RosMessageElement.java
│ │ ├── RosService.java
│ │ ├── RosServiceArgs.java
│ │ ├── RosServiceCallResponseAndResult.java
│ │ └── RosServiceResp.java
│ └── pom.xml
├── basyx.streamsheets
├── .gitignore
├── AAS Property Dashboard.json
├── docker-compose.yml
├── readme.txt
├── start.bat
├── start.sh
├── stop.bat
└── stop.sh
├── mvnw
└── mvnw.cmd
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5 |
6 | version: 2
7 | updates:
8 |
9 | # Maintain dependencies for GitHub Actions
10 | - package-ecosystem: "github-actions"
11 | directory: "/"
12 | schedule:
13 | interval: "daily"
14 | target-branch: "development"
15 |
16 | # Maintain dependencies for Maven
17 | - package-ecosystem: "maven"
18 | directory: "/basyx.aasWrapper/"
19 | schedule:
20 | interval: "daily"
21 | target-branch: "development"
22 |
23 | # Maintain dependencies for Maven
24 | - package-ecosystem: "maven"
25 | directory: "/basyx.dashboardAAS/"
26 | schedule:
27 | interval: "daily"
28 | target-branch: "development"
29 |
30 | # Maintain dependencies for Maven
31 | - package-ecosystem: "maven"
32 | directory: "/basyx.examples/"
33 | schedule:
34 | interval: "daily"
35 | target-branch: "development"
36 |
37 | # Maintain dependencies for Maven
38 | - package-ecosystem: "maven"
39 | directory: "/basyx.hello_world/"
40 | schedule:
41 | interval: "daily"
42 | target-branch: "development"
43 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Permission is hereby granted, free of charge, to any person obtaining
2 | a copy of this software and associated documentation files (the
3 | "Software"), to deal in the Software without restriction, including
4 | without limitation the rights to use, copy, modify, merge, publish,
5 | distribute, sublicense, and/or sell copies of the Software, and to
6 | permit persons to whom the Software is furnished to do so, subject to
7 | the following conditions:
8 |
9 | The above copyright notice and this permission notice shall be
10 | included in all copies or substantial portions of the Software.
11 |
12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
13 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
14 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
16 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
18 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/basyx.aasWrapper/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath
2 | .project
3 |
4 | regressiontest/
5 | target/
6 | pom.xml.tag
7 | pom.xml.releaseBackup
8 | pom.xml.versionsBackup
9 | pom.xml.next
10 | release.properties
11 | dependency-reduced-pom.xml
12 | buildNumber.properties
13 | .mvn/timing.properties
14 | .mvn/wrapper/maven-wrapper.jar
15 | .metadata
16 | bin/
17 | tmp/
18 | *.tmp
19 | *.bak
20 | *.swp
21 | *~.nib
22 | local.properties
23 | .settings/
24 | .loadpath
25 | .recommenders
26 |
27 | # External tool builders
28 | .externalToolBuilders/
29 |
30 | # Locally stored "Eclipse launch configurations"
31 | *.launch
32 |
33 | # PyDev specific (Python IDE for Eclipse)
34 | *.pydevproject
35 |
36 | # CDT-specific (C/C++ Development Tooling)
37 | .cproject
38 |
39 | # CDT- autotools
40 | .autotools
41 |
42 | # Java annotation processor (APT)
43 | .factorypath
44 |
45 | # PDT-specific (PHP Development Tools)
46 | .buildpath
47 |
48 | # sbteclipse plugin
49 | .target
50 |
51 | # Tern plugin
52 | .tern-project
53 |
54 | # TeXlipse plugin
55 | .texlipse
56 |
57 | # STS (Spring Tool Suite)
58 | .springBeans
59 |
60 | # Code Recommenders
61 | .recommenders/
62 |
63 | # Annotation Processing
64 | .apt_generated/
65 |
66 | # Scala IDE specific (Scala & Java development for Eclipse)
67 | .cache-main
68 | .scala_dependencies
69 | .worksheet
--------------------------------------------------------------------------------
/basyx.aasWrapper/Dockerfile:
--------------------------------------------------------------------------------
1 | # Add java runtime environment for execution
2 | FROM alpine
3 |
4 | RUN apk update && apk add openjdk8
5 |
6 | # Copy built jar to image using the jar name specified in the pom.xml (JAR_FILE)
7 | ARG JAR_FILE
8 | COPY target/${JAR_FILE} /usr/share/basyxExecutable.jar
9 | COPY target/lib /usr/share/lib
10 | COPY src/main/resources/context.properties /usr/share/config/context.properties
11 | COPY src/main/resources/wrapper.properties /usr/share/config/wrapper.properties
12 |
13 | # Expose the appropriate port. In case of Tomcat, this is 8080.
14 | ARG PORT
15 | EXPOSE ${PORT}
16 |
17 | # Set the path for the context configuration file
18 | ARG CONTEXT_CONFIG_KEY
19 | ENV ${CONTEXT_CONFIG_KEY} "/usr/share/config/context.properties"
20 |
21 | # Set the path for the context configuration file
22 | ENV BASYX_WRAPPER "/usr/share/config/wrapper.properties"
23 |
24 | # Start the jar
25 | CMD java -jar "/usr/share/basyxExecutable.jar"
--------------------------------------------------------------------------------
/basyx.aasWrapper/build.bat:
--------------------------------------------------------------------------------
1 | .././mvnw clean install -U -Pdocker
--------------------------------------------------------------------------------
/basyx.aasWrapper/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | .././mvnw clean install -U -Pdocker -DskipTests
--------------------------------------------------------------------------------
/basyx.aasWrapper/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 |
4 | registry:
5 | image: eclipsebasyx/aas-registry:1.0.1
6 | container_name: dashboard-registry
7 | ports:
8 | - 4000:4000
9 |
10 | dashboard-aas:
11 | image: eclipsebasyx/dashboard-aas:0.1.0-SNAPSHOT
12 | container_name: dashboard-aas
13 | environment:
14 | - BaSyxDashboardSubmodel_Min=15
15 | # - BaSyxDashboardSubmodel_Max=30
16 | ports:
17 | - 6400:6400
18 |
19 | aas-wrapper:
20 | image: eclipsebasyx/aas-wrapper:0.1.0-SNAPSHOT
21 | container_name: aas-wrapper
22 | ports:
23 | - 6500:6500
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/exception/WrapperRequestException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.exception;
26 |
27 | /**
28 | * Exception that is thrown when the wrapper cannot request a value from its datasource
29 | *
30 | * @author espen
31 | *
32 | */
33 | public class WrapperRequestException extends RuntimeException {
34 | private static final long serialVersionUID = 1L;
35 |
36 | public WrapperRequestException(String message) {
37 | super(message);
38 | }
39 |
40 | public WrapperRequestException(String message, Throwable error) {
41 | super(message, error);
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/provider/HTTPModelProvider.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.provider;
26 |
27 | /**
28 | * A simple, generic HTTP-REST model provider
29 | *
30 | * @author espen
31 | *
32 | */
33 | public interface HTTPModelProvider {
34 | public Object get(String path);
35 |
36 | public Object delete(String path);
37 |
38 | public Object put(String path, Object data);
39 |
40 | public Object post(String path, Object data);
41 |
42 | public Object patch(String path, Object data);
43 | }
44 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/provider/aas/WrapperAsset.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.provider.aas;
26 |
27 | import org.eclipse.basyx.aas.metamodel.api.parts.asset.AssetKind;
28 | import org.eclipse.basyx.aas.metamodel.map.parts.Asset;
29 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
30 |
31 | /**
32 | * Dummy asset for the wrapper AAS interface
33 | *
34 | * @author espen
35 | *
36 | */
37 | public class WrapperAsset extends Asset {
38 | public WrapperAsset() {
39 | setIdShort("WrapperAsset");
40 | setIdentification(IdentifierType.CUSTOM, "WrapperAsset");
41 | setAssetKind(AssetKind.INSTANCE);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/provider/aas/WrapperAssetAdministrationShell.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.provider.aas;
26 |
27 | import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
28 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
29 |
30 | /**
31 | * Dummy AAS for the wrapper AAS interface
32 | *
33 | * @author espen
34 | *
35 | */
36 | public class WrapperAssetAdministrationShell extends AssetAdministrationShell {
37 | public WrapperAssetAdministrationShell() {
38 | setIdShort("WrapperAAS");
39 | setIdentification(IdentifierType.CUSTOM, "WrapperAAS");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/provider/streamsheets/StreamsheetsProvider.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.provider.streamsheets;
26 |
27 | import org.eclipse.basyx.wrapper.provider.GenericWrapperProvider;
28 |
29 | /**
30 | * Streamsheets-specific proxy provider
31 | *
32 | * @author espen
33 | */
34 | public class StreamsheetsProvider extends GenericWrapperProvider {
35 | public static final String TYPE = "STREAMSHEETS";
36 |
37 | public StreamsheetsProvider() {
38 | this.providerPath = "/streamsheets";
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/receiver/IPropertyEndpoint.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.receiver;
26 |
27 | /**
28 | * Represents a single property endpoint
29 | *
30 | * @author espen
31 | *
32 | */
33 | public interface IPropertyEndpoint {
34 | public DataPoint retrieveValue();
35 |
36 | public void setValue(Object newValue);
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/java/org/eclipse/basyx/wrapper/receiver/IWrapperListener.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.wrapper.receiver;
26 |
27 | /**
28 | * A listener for values that have been generated by the wrapper
29 | *
30 | * @author espen
31 | *
32 | */
33 | public interface IWrapperListener {
34 | /**
35 | * Informs the listener about a new value that has been generated
36 | *
37 | * @param result
38 | */
39 | public void newValue(String propId, PropertyResult result);
40 | }
41 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/resources/context.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/
11 |
12 | # ###############################
13 | # Port
14 | # ###############################
15 | # Specifies the port for this server context
16 |
17 | contextPort=6500
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/main/resources/wrapper.properties:
--------------------------------------------------------------------------------
1 | registry.endpoint=http://registry:4000/registry/
2 |
3 | properties.temp.type=AAS
4 | properties.temp.active=true
5 | properties.temp.aas=DashboardAAS
6 | properties.temp.submodel=DashboardSubmodel
7 | properties.temp.shortId=temperature
8 | properties.temp.interval=1000
9 | properties.temp.maxValues=10
10 |
11 | properties.dummy.type=AAS
12 | properties.dummy.active=false
13 | properties.dummy.aas=DashboardAAS
14 | properties.dummy.submodel=DashboardSubmodel
15 | properties.dummy.shortId=dummy
16 | properties.dummy.maxValues=3
17 |
18 | providers.simplified.type=STREAMSHEETS
19 | providers.simplified.path=/streamsheets
20 |
21 | providers.aas.type=AAS
22 | providers.aas.path=/proxyAAS
23 |
24 | providers.asdf.type=GRAFANA
25 | providers.asdf.path=/grafana
26 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/src/test/resources/.env:
--------------------------------------------------------------------------------
1 | # ##################
2 | # Docker Environment
3 | # ##################
4 |
5 | # ##################
6 | # Host Port
7 | # ##################
8 | # Specifies the port for the Docker HOST the container port is mapped to
9 |
10 | BASYX_HOST_PORT=6500
11 |
12 | # ##################
13 | # Container Port
14 | # ##################
15 | # Specifies the port for the Docker CONTAINER that is be mapped for the host
16 |
17 | BASYX_CONTAINER_PORT=6500
18 |
19 | # ##################
20 | # Image Name
21 | # ##################
22 | # The image of the image that is build for this component
23 |
24 | BASYX_IMAGE_NAME=eclipsebasyx/aas-wrapper
25 |
26 | # ##################
27 | # Image Tag
28 | # ##################
29 | # The image tag of the image that is build for this component
30 |
31 | BASYX_IMAGE_TAG=1.1.0-SNAPSHOT
32 |
33 | # ##################
34 | # Container Name
35 | # ##################
36 | # The name of the container used for the default environment
37 |
38 | BASYX_CONTAINER_NAME=aas-wrapper
39 |
40 |
--------------------------------------------------------------------------------
/basyx.aasWrapper/start.bat:
--------------------------------------------------------------------------------
1 | docker-compose up
--------------------------------------------------------------------------------
/basyx.aasWrapper/start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose up
--------------------------------------------------------------------------------
/basyx.aasWrapper/stop.bat:
--------------------------------------------------------------------------------
1 | docker-compose down
--------------------------------------------------------------------------------
/basyx.aasWrapper/stop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose down
--------------------------------------------------------------------------------
/basyx.dashboardAAS/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath
2 | .project
3 |
4 | regressiontest/
5 | target/
6 | pom.xml.tag
7 | pom.xml.releaseBackup
8 | pom.xml.versionsBackup
9 | pom.xml.next
10 | release.properties
11 | dependency-reduced-pom.xml
12 | buildNumber.properties
13 | .mvn/timing.properties
14 | .mvn/wrapper/maven-wrapper.jar
15 | .metadata
16 | bin/
17 | tmp/
18 | *.tmp
19 | *.bak
20 | *.swp
21 | *~.nib
22 | local.properties
23 | .settings/
24 | .loadpath
25 | .recommenders
26 |
27 | # External tool builders
28 | .externalToolBuilders/
29 |
30 | # Locally stored "Eclipse launch configurations"
31 | *.launch
32 |
33 | # PyDev specific (Python IDE for Eclipse)
34 | *.pydevproject
35 |
36 | # CDT-specific (C/C++ Development Tooling)
37 | .cproject
38 |
39 | # CDT- autotools
40 | .autotools
41 |
42 | # Java annotation processor (APT)
43 | .factorypath
44 |
45 | # PDT-specific (PHP Development Tools)
46 | .buildpath
47 |
48 | # sbteclipse plugin
49 | .target
50 |
51 | # Tern plugin
52 | .tern-project
53 |
54 | # TeXlipse plugin
55 | .texlipse
56 |
57 | # STS (Spring Tool Suite)
58 | .springBeans
59 |
60 | # Code Recommenders
61 | .recommenders/
62 |
63 | # Annotation Processing
64 | .apt_generated/
65 |
66 | # Scala IDE specific (Scala & Java development for Eclipse)
67 | .cache-main
68 | .scala_dependencies
69 | .worksheet
--------------------------------------------------------------------------------
/basyx.dashboardAAS/Dockerfile:
--------------------------------------------------------------------------------
1 | # Add java runtime environment for execution
2 | FROM alpine
3 |
4 | RUN apk update && apk add openjdk8
5 |
6 | # Copy built jar to image using the jar name specified in the pom.xml (JAR_FILE)
7 | ARG JAR_FILE
8 | COPY target/${JAR_FILE} /usr/share/basyxExecutable.jar
9 | COPY target/lib /usr/share/lib
10 | COPY src/main/resources/context.properties /usr/share/config/context.properties
11 | COPY src/main/resources/dashboardsubmodel.properties /usr/share/config/dashboardsubmodel.properties
12 |
13 | # Expose the appropriate port. In case of Tomcat, this is 8080.
14 | ARG PORT
15 | EXPOSE ${PORT}
16 |
17 | # Set the path for the context configuration file
18 | ARG CONTEXT_CONFIG_KEY
19 | ENV ${CONTEXT_CONFIG_KEY} "/usr/share/config/context.properties"
20 |
21 | # Set the path for the submodel config
22 | ENV BASYX_DASHBOARDSUBMODEL "/usr/share/config/dashboardsubmodel.properties"
23 |
24 | # Start the jar
25 | CMD java -jar "/usr/share/basyxExecutable.jar"
--------------------------------------------------------------------------------
/basyx.dashboardAAS/build.bat:
--------------------------------------------------------------------------------
1 | .././mvnw clean install -U -Pdocker
--------------------------------------------------------------------------------
/basyx.dashboardAAS/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | .././mvnw clean install -U -Pdocker -DskipTests
--------------------------------------------------------------------------------
/basyx.dashboardAAS/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 |
4 | registry:
5 | image: eclipsebasyx/aas-registry:1.0.1
6 | container_name: dashboard-registry
7 | ports:
8 | - 4000:4000
9 |
10 | dashboard-aas:
11 | image: eclipsebasyx/dashboard-aas:0.1.0-SNAPSHOT
12 | container_name: dashboard-aas
13 | environment:
14 | - BaSyxDashboardSubmodel_Min=15
15 | # - BaSyxDashboardSubmodel_Max=30
16 | ports:
17 | - 6400:6400
--------------------------------------------------------------------------------
/basyx.dashboardAAS/src/main/java/org/eclipse/basyx/dashboard/DashboardAsset.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.dashboard;
26 |
27 | import org.eclipse.basyx.aas.metamodel.api.parts.asset.AssetKind;
28 | import org.eclipse.basyx.aas.metamodel.map.parts.Asset;
29 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
30 |
31 | /**
32 | * A dummy Asset for the dashboar AAS
33 | *
34 | * @author espen
35 | *
36 | */
37 | public class DashboardAsset extends Asset {
38 | public DashboardAsset() {
39 | setIdShort("DashboardAsset");
40 | setIdentification(IdentifierType.CUSTOM, "DashboardAsset");
41 | setAssetKind(AssetKind.INSTANCE);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/basyx.dashboardAAS/src/main/java/org/eclipse/basyx/dashboard/DashboardAssetAdministrationShell.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.dashboard;
26 |
27 | import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
28 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
29 |
30 | /**
31 | * A minimal AAS header for the dashboard AAS
32 | *
33 | * @author espen
34 | *
35 | */
36 | public class DashboardAssetAdministrationShell extends AssetAdministrationShell {
37 | public DashboardAssetAdministrationShell() {
38 | setIdShort("DashboardAAS");
39 | setIdentification(IdentifierType.CUSTOM, "DashboardAAS");
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/basyx.dashboardAAS/src/main/resources/context.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/
11 |
12 | # ###############################
13 | # Port
14 | # ###############################
15 | # Specifies the port for this server context
16 |
17 | contextPort=6400
--------------------------------------------------------------------------------
/basyx.dashboardAAS/src/main/resources/dashboardsubmodel.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # Dashboard submodel configuration
3 | # ###############################
4 |
5 | # ###############################
6 | # Min temperature value
7 | # ###############################
8 | # Specifies the min value for the dynamic random temperature
9 |
10 | Min=10
11 |
12 | # ###############################
13 | # Max temperature value
14 | # ###############################
15 | # Specifies the max value for the dynamic random temperature
16 |
17 | Max=30
--------------------------------------------------------------------------------
/basyx.dashboardAAS/src/test/resources/.env:
--------------------------------------------------------------------------------
1 | # ##################
2 | # Docker Environment
3 | # ##################
4 |
5 | # ##################
6 | # Host Port
7 | # ##################
8 | # Specifies the port for the Docker HOST the container port is mapped to
9 |
10 | BASYX_HOST_PORT=6400
11 |
12 | # ##################
13 | # Container Port
14 | # ##################
15 | # Specifies the port for the Docker CONTAINER that is be mapped for the host
16 |
17 | BASYX_CONTAINER_PORT=6400
18 |
19 | # ##################
20 | # Image Name
21 | # ##################
22 | # The image of the image that is build for this component
23 |
24 | BASYX_IMAGE_NAME=eclipsebasyx/dashboard-aas
25 |
26 | # ##################
27 | # Image Tag
28 | # ##################
29 | # The image tag of the image that is build for this component
30 |
31 | BASYX_IMAGE_TAG=1.1.0-SNAPSHOT
32 |
33 | # ##################
34 | # Container Name
35 | # ##################
36 | # The name of the container used for the default environment
37 |
38 | BASYX_CONTAINER_NAME=dashboard-aas
39 |
40 |
--------------------------------------------------------------------------------
/basyx.dashboardAAS/start.bat:
--------------------------------------------------------------------------------
1 | docker-compose up
--------------------------------------------------------------------------------
/basyx.dashboardAAS/start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose up
--------------------------------------------------------------------------------
/basyx.dashboardAAS/stop.bat:
--------------------------------------------------------------------------------
1 | docker-compose down
--------------------------------------------------------------------------------
/basyx.dashboardAAS/stop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose down
--------------------------------------------------------------------------------
/basyx.docker/mongodb-deployment/compose.yaml:
--------------------------------------------------------------------------------
1 | services:
2 | registry:
3 | image: eclipsebasyx/aas-registry:1.4.0
4 | container_name: mongo-deployment-registry
5 | ports:
6 | - 8082:4000
7 | environment:
8 | - basyxregistry_registry_backend=MongoDB
9 | - basyxcontext_contextpath=/registry
10 | - basyxcontext_contextport=4000
11 | - basyxcontext_accesscontrolalloworigin=*
12 | - basyxmongodb_dbname=admin
13 | - basyxmongodb_dbconnectionstring=mongodb://mongo:27017/
14 | - basyxmongodb_dbcollectionregistry=basyxregistry
15 | depends_on:
16 | mongo:
17 | condition: service_healthy
18 |
19 | mongo:
20 | image: mongo:5.0.10
21 | container_name: mongo-deployment-mongo
22 | environment:
23 | - ME_CONFIG_MONGODB_ADMINUSERNAME=admin
24 | - ME_CONFIG_MONGODB_ADMINPASSWORD= admin
25 | - ME_CONFIG_MONGODB_URL= mongodb://admin:admin@mongo:27017/
26 | healthcheck:
27 | test: mongo
28 | interval: 10s
29 | retries: 5
30 | start_period: 1s
31 | timeout: 5s
32 | ports:
33 | - 27017:27017
34 |
35 | aas:
36 | image: eclipsebasyx/aas-server:1.4.0
37 | container_name: mongo-deployment-aas
38 | ports:
39 | - 4001:4001
40 | environment:
41 | - basyxaas_registry_path=http://registry:4000/registry/
42 | - basyxaas_aas_backend=MongoDB
43 | - basyxcontext_contextpath=/aasServer
44 | - basyxcontext_contextport=4001
45 | - basyxaas_aas_source=aasx/01_Festo.aasx
46 | - waiting_for=[{"host":"registry","port":"4000"}]
47 | - basyxcontext_accesscontrolalloworigin=*
48 | - basyxmongodb_dbname=admin
49 | - basyxmongodb_dbconnectionstring=mongodb://mongo:27017/
50 | - basyxmongodb_dbcollectionaas=basyxaas
51 | - basyxmongodb_dbcollectionsubmodels=basyxsubmodel
52 | depends_on:
53 | mongo:
54 | condition: service_healthy
55 |
--------------------------------------------------------------------------------
/basyx.docker/simple-deployment-with-gui/compose.yaml:
--------------------------------------------------------------------------------
1 | services:
2 | registry:
3 | container_name: example-registry
4 | image: eclipsebasyx/aas-registry:1.4.0
5 | ports:
6 | - 4000:4000
7 | environment:
8 | - basyxregistry_registry_backend=InMemory
9 | - basyxcontext_contextpath=/registry
10 | - basyxcontext_contextport=4000
11 | - basyxcontext_accesscontrolalloworigin=*
12 |
13 | aas:
14 | image: eclipsebasyx/aas-server:1.4.0
15 | container_name: simple-deployment-aas
16 | ports:
17 | - 4001:4001
18 | environment:
19 | - basyxaas_registry_path=http://registry:4000/registry/
20 | - basyxaas_aas_backend=InMemory
21 | - basyxcontext_contextpath=/aasServer
22 | - basyxcontext_contextport=4001
23 | - basyxaas_aas_source=aasx/01_Festo.aasx
24 | - waiting_for=[{"host":"registry","port":"4000"}]
25 | - basyxcontext_accesscontrolalloworigin=*
26 |
27 | gui:
28 | image: eclipsebasyx/aas-gui:v230703
29 | container_name: simple-deployment-aasGui
30 | ports:
31 | - 3000:3000
32 | environment:
33 | - VITE_REGISTRY_PATH="http://localhost:4000/registry"
34 |
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 |
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openjdk:11-slim-bullseye
2 |
3 | # Install dependency for wait-for-it-env.sh & wget for health check
4 | RUN apt update && apt install -y jq && apt clean
5 | RUN apt install -y wget
6 |
7 | # Copy built jar to image using the jar name specified in the pom.xml (JAR_FILE)
8 | ARG JAR_FILE
9 |
10 | COPY target/basyx.examples.deviceintegration-0.0.1-SNAPSHOT.jar /usr/share/basyxExecutable.jar
11 | COPY target/lib /usr/share/lib
12 |
13 | EXPOSE 8082
14 |
15 | # Start the jar
16 | CMD java -jar "/usr/share/basyxExecutable.jar"
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/java/org/eclipse/basyx/examples/heater/HeaterChangeListener.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 |
27 | package org.eclipse.basyx.examples.heater;
28 |
29 | /**
30 | * ChangeListener interface for listening for the current temperature of the
31 | * heater device
32 | *
33 | * @author schnicke
34 | *
35 | */
36 | public interface HeaterChangeListener {
37 | public void currentTemperature(int temperature);
38 | }
39 |
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/aasServer/Heater_AAS.aasx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-basyx/basyx-java-examples/4256b7d4d6b32f0239b76376056a5810f8972799/basyx.examples.deviceintegration/src/main/resources/aasServer/Heater_AAS.aasx
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/databridge/aasserver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "uniqueId": "TemperatureSubmodel",
4 | "submodelEndpoint": "http://host.docker.internal:4001/aasServer/shells/heaterAAS/aas/submodels/temperatureSensor/submodel",
5 | "idShortPath": "currentTemperature"
6 | }
7 | ]
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/databridge/jsonatatransformer.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "uniqueId": "temperatureTransformer",
4 | "queryPath": "temperatureTransformer.jsonata",
5 | "inputType": "JsonString",
6 | "outputType": "JsonString"
7 | }
8 | ]
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/databridge/mqttconsumer.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "uniqueId": "temperatureSensor",
4 | "serverUrl": "host.docker.internal",
5 | "serverPort": 1884,
6 | "topic": "heater/temperature"
7 | }
8 | ]
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/databridge/routes.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "datasource": "temperatureSensor",
4 | "transformers": ["temperatureTransformer"],
5 | "datasinks": ["TemperatureSubmodel"],
6 | "trigger": "event"
7 | }
8 | ]
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/databridge/temperatureTransformer.jsonata:
--------------------------------------------------------------------------------
1 | $floor((temperature - 32) * 5 / 9)
--------------------------------------------------------------------------------
/basyx.examples.deviceintegration/src/main/resources/mosquitto/mosquitto.conf:
--------------------------------------------------------------------------------
1 | ##############################################
2 | # Moquette configuration file.
3 | #
4 | # The synthax is equals to mosquitto.conf
5 | #
6 | ##############################################
7 |
8 | listener 1884 0.0.0.0
9 | allow_anonymous true
10 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | org.eclipse.basyx
4 | basyx.examples.printdecoration
5 | 0.0.1-SNAPSHOT
6 |
7 |
8 | org.eclipse.basyx
9 | basyx.components.AASServer
10 | 1.3.1
11 |
12 |
13 | org.eclipse.basyx
14 | basyx.components.registry
15 | 1.3.1
16 |
17 |
18 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/decoration/PrintlnAASAPI.java:
--------------------------------------------------------------------------------
1 | package decoration;
2 |
3 | import org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell;
4 | import org.eclipse.basyx.aas.restapi.api.IAASAPI;
5 | import org.eclipse.basyx.submodel.metamodel.api.reference.IReference;
6 |
7 | public class PrintlnAASAPI implements IAASAPI {
8 | private IAASAPI api;
9 |
10 | public PrintlnAASAPI(IAASAPI api) {
11 | this.api = api;
12 | }
13 |
14 | public IAssetAdministrationShell getAAS() {
15 | IAssetAdministrationShell aas = api.getAAS();
16 | System.out.println("Get AAS: " + aas.getIdShort());
17 | return aas;
18 | }
19 |
20 | public void addSubmodel(IReference submodel) {
21 | System.out.println("Add submodel: " + submodel);
22 | api.addSubmodel(submodel);
23 | }
24 |
25 | public void removeSubmodel(String idShort) {
26 | System.out.println("Remove submodel: " + idShort);
27 | api.removeSubmodel(idShort);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/decoration/PrintlnAASAggregator.java:
--------------------------------------------------------------------------------
1 | package decoration;
2 |
3 | import java.util.Collection;
4 |
5 | import org.eclipse.basyx.aas.aggregator.api.IAASAggregator;
6 | import org.eclipse.basyx.aas.metamodel.api.IAssetAdministrationShell;
7 | import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
8 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier;
9 | import org.eclipse.basyx.vab.exception.provider.ResourceNotFoundException;
10 | import org.eclipse.basyx.vab.modelprovider.api.IModelProvider;
11 |
12 | public class PrintlnAASAggregator implements IAASAggregator {
13 | private IAASAggregator aggregator;
14 |
15 | public PrintlnAASAggregator(IAASAggregator aggregator) {
16 | this.aggregator = aggregator;
17 | }
18 |
19 | public Collection getAASList() {
20 | System.out.println("Get AAS list");
21 | return aggregator.getAASList();
22 | }
23 |
24 | public IAssetAdministrationShell getAAS(IIdentifier aasId) throws ResourceNotFoundException {
25 | System.out.println("Get AAS: " + aasId);
26 | return aggregator.getAAS(aasId);
27 | }
28 |
29 | public IModelProvider getAASProvider(IIdentifier aasId) throws ResourceNotFoundException {
30 | System.out.println("Get AASProvider: " + aasId);
31 | return aggregator.getAASProvider(aasId);
32 | }
33 |
34 | public void createAAS(AssetAdministrationShell aas) {
35 | System.out.println("Create AAS: " + aas.getIdentification().getId());
36 | aggregator.createAAS(aas);
37 | }
38 |
39 | public void updateAAS(AssetAdministrationShell aas) throws ResourceNotFoundException {
40 | System.out.println("Update AAS: " + aas.getIdentification().getId());
41 | aggregator.updateAAS(aas);
42 | }
43 |
44 | public void deleteAAS(IIdentifier aasId) {
45 | System.out.println("Delete AAS: " + aasId);
46 | aggregator.deleteAAS(aasId);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/executables/Executable.java:
--------------------------------------------------------------------------------
1 | package executables;
2 |
3 | import org.eclipse.basyx.components.aas.AASServerComponent;
4 | import org.eclipse.basyx.components.aas.aascomponent.IAASServerFeature;
5 | import org.eclipse.basyx.components.aas.configuration.BaSyxAASServerConfiguration;
6 | import org.eclipse.basyx.components.configuration.BaSyxContextConfiguration;
7 | import org.eclipse.basyx.components.registry.RegistryComponent;
8 | import org.eclipse.basyx.components.registry.configuration.BaSyxRegistryConfiguration;
9 |
10 | import feature.PrintlnAASServerFeature;
11 |
12 | public class Executable {
13 | public static void main(String[] args) {
14 | startRegistry();
15 | startAASServer();
16 | }
17 |
18 | private static void startAASServer() {
19 | BaSyxContextConfiguration config = new BaSyxContextConfiguration();
20 | config.loadFromResource("./serverContext.properties");
21 |
22 | BaSyxAASServerConfiguration aasConfig = new BaSyxAASServerConfiguration();
23 | aasConfig.loadFromDefaultSource();
24 |
25 | AASServerComponent server = new AASServerComponent(config, aasConfig);
26 | server.addAASServerFeature(createPrintlnFeature());
27 | server.startComponent();
28 | }
29 |
30 | private static void startRegistry() {
31 | BaSyxContextConfiguration config = new BaSyxContextConfiguration();
32 | config.loadFromResource("./registryContext.properties");
33 |
34 | BaSyxRegistryConfiguration registryConfig = new BaSyxRegistryConfiguration();
35 | registryConfig.loadFromDefaultSource();
36 |
37 | RegistryComponent registry = new RegistryComponent(config, registryConfig);
38 | registry.startComponent();
39 | }
40 |
41 | private static IAASServerFeature createPrintlnFeature() {
42 | return new PrintlnAASServerFeature();
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/factories/PrintlnDecoratingAASAPIFactory.java:
--------------------------------------------------------------------------------
1 | package factories;
2 |
3 | import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
4 | import org.eclipse.basyx.aas.restapi.api.IAASAPI;
5 | import org.eclipse.basyx.aas.restapi.api.IAASAPIFactory;
6 |
7 | import decoration.PrintlnAASAPI;
8 |
9 | public class PrintlnDecoratingAASAPIFactory implements IAASAPIFactory {
10 | private IAASAPIFactory apiFactory;
11 |
12 | public PrintlnDecoratingAASAPIFactory(IAASAPIFactory factoryToBeDecorated) {
13 | this.apiFactory = factoryToBeDecorated;
14 | }
15 |
16 | public IAASAPI getAASApi(AssetAdministrationShell aas) {
17 | IAASAPI api = apiFactory.create(aas);
18 | return new PrintlnAASAPI(api);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/factories/PrintlnDecoratingAASAggregatorFactory.java:
--------------------------------------------------------------------------------
1 | package factories;
2 |
3 | import org.eclipse.basyx.aas.aggregator.api.IAASAggregator;
4 | import org.eclipse.basyx.aas.aggregator.api.IAASAggregatorFactory;
5 |
6 | import decoration.PrintlnAASAggregator;
7 |
8 | public class PrintlnDecoratingAASAggregatorFactory implements IAASAggregatorFactory {
9 | private IAASAggregatorFactory aggregatorFactory;
10 |
11 | public PrintlnDecoratingAASAggregatorFactory(IAASAggregatorFactory factoryToBeDecorated) {
12 | this.aggregatorFactory = factoryToBeDecorated;
13 | }
14 |
15 | public IAASAggregator create() {
16 | IAASAggregator aggregator = aggregatorFactory.create();
17 | return new PrintlnAASAggregator(aggregator);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/factories/PrintlnDecoratingSubmodelAPIFactory.java:
--------------------------------------------------------------------------------
1 | package factories;
2 |
3 | import org.eclipse.basyx.submodel.metamodel.map.Submodel;
4 | import org.eclipse.basyx.submodel.restapi.api.ISubmodelAPI;
5 | import org.eclipse.basyx.submodel.restapi.api.ISubmodelAPIFactory;
6 |
7 | import decoration.PrintlnSubmodelAPI;
8 |
9 | public class PrintlnDecoratingSubmodelAPIFactory implements ISubmodelAPIFactory {
10 | private ISubmodelAPIFactory apiFactory;
11 |
12 | public PrintlnDecoratingSubmodelAPIFactory(ISubmodelAPIFactory factoryToBeDecorated) {
13 | this.apiFactory = factoryToBeDecorated;
14 | }
15 |
16 | public ISubmodelAPI getSubmodelAPI(Submodel submodel) {
17 | ISubmodelAPI api = apiFactory.create(submodel);
18 | return new PrintlnSubmodelAPI(api);
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/factories/PrintlnDecoratingSubmodelAggregatorFactory.java:
--------------------------------------------------------------------------------
1 | package factories;
2 |
3 | import org.eclipse.basyx.submodel.aggregator.api.ISubmodelAggregator;
4 | import org.eclipse.basyx.submodel.aggregator.api.ISubmodelAggregatorFactory;
5 |
6 | import decoration.PrintlnSubmodelAggregator;
7 |
8 | public class PrintlnDecoratingSubmodelAggregatorFactory implements ISubmodelAggregatorFactory {
9 | private ISubmodelAggregatorFactory aggregatorFactory;
10 |
11 | public PrintlnDecoratingSubmodelAggregatorFactory(ISubmodelAggregatorFactory factoryToBeDecorated) {
12 | this.aggregatorFactory = factoryToBeDecorated;
13 | }
14 |
15 | public ISubmodelAggregator create() {
16 | ISubmodelAggregator aggregator = aggregatorFactory.create();
17 | return new PrintlnSubmodelAggregator(aggregator);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/feature/PrintlnAASServerDecorator.java:
--------------------------------------------------------------------------------
1 | package feature;
2 |
3 | import org.eclipse.basyx.aas.aggregator.api.IAASAggregatorFactory;
4 | import org.eclipse.basyx.aas.restapi.api.IAASAPIFactory;
5 | import org.eclipse.basyx.components.aas.aascomponent.IAASServerDecorator;
6 | import org.eclipse.basyx.submodel.aggregator.api.ISubmodelAggregatorFactory;
7 | import org.eclipse.basyx.submodel.restapi.api.ISubmodelAPIFactory;
8 |
9 | import factories.PrintlnDecoratingAASAPIFactory;
10 | import factories.PrintlnDecoratingAASAggregatorFactory;
11 | import factories.PrintlnDecoratingSubmodelAPIFactory;
12 | import factories.PrintlnDecoratingSubmodelAggregatorFactory;
13 |
14 | public class PrintlnAASServerDecorator implements IAASServerDecorator {
15 |
16 | public ISubmodelAPIFactory decorateSubmodelAPIFactory(ISubmodelAPIFactory submodelAPIFactory) {
17 | return new PrintlnDecoratingSubmodelAPIFactory(submodelAPIFactory);
18 | }
19 |
20 | public ISubmodelAggregatorFactory decorateSubmodelAggregatorFactory(
21 | ISubmodelAggregatorFactory submodelAggregatorFactory) {
22 | return new PrintlnDecoratingSubmodelAggregatorFactory(submodelAggregatorFactory);
23 | }
24 |
25 | public IAASAPIFactory decorateAASAPIFactory(IAASAPIFactory aasAPIFactory) {
26 | return new PrintlnDecoratingAASAPIFactory(aasAPIFactory);
27 | }
28 |
29 | public IAASAggregatorFactory decorateAASAggregatorFactory(IAASAggregatorFactory aasAggregatorFactory) {
30 | return new PrintlnDecoratingAASAggregatorFactory(aasAggregatorFactory);
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/java/feature/PrintlnAASServerFeature.java:
--------------------------------------------------------------------------------
1 | package feature;
2 |
3 | import org.eclipse.basyx.components.aas.aascomponent.IAASServerDecorator;
4 | import org.eclipse.basyx.components.aas.aascomponent.IAASServerFeature;
5 |
6 | public class PrintlnAASServerFeature implements IAASServerFeature {
7 | public void initialize() {
8 | // Code to create the context of the feature
9 | }
10 |
11 | public void cleanUp() {
12 | // Code to close the context of the feature
13 | }
14 |
15 | public IAASServerDecorator getDecorator() {
16 | return new PrintlnAASServerDecorator();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/resources/registry.properties:
--------------------------------------------------------------------------------
1 | # ###########################
2 | # Registry configuration file
3 | # ###########################
4 |
5 | # ###########################
6 | # Backend
7 | # ###########################
8 | # Specifies the backend that loads the AAS and Submodels
9 |
10 | # InMemory - does not persist AAS or submodels
11 |
12 | registry.backend=InMemory
13 |
14 | # MongoDB - persists data within a MongoDB
15 | # See connection configuration in mongodb.properties
16 |
17 | # registry.backend=MongoDB
18 |
19 | # SQL - persists data within an SQL database
20 | # See connection configuration in sql.properties
21 |
22 | # registry.backend=SQL
23 |
24 | # ###########################
25 | # Event-Backend
26 | # ###########################
27 | # MQTT - MQTT events are fired for various registry operations
28 | registry.events=NONE
29 | # registry.events=MQTT
30 | # registry.events=MQTTV2
31 | # registry.events=MQTTV2_SIMPLE_ENCODING
32 |
33 | # Id that is used in e.g. mqtt topics to enable multiple registries connected to one broker
34 | registry.id=aas-registry
35 |
36 |
37 |
38 | # ###########################
39 | # Authorization
40 | # ###########################
41 | # registry.authorization=Enabled
42 | registry.authorization=Disabled
43 |
44 | # ###########################
45 | # TaggedDirectory
46 | # ###########################
47 | # registry.taggedDirectory=Enabled
48 | registry.taggedDirectory=Disabled
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/resources/registryContext.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/registry
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=4000
25 |
26 | # ###############################
27 | # JWT Bearer Token Authentication
28 | # ###############################
29 | # jwtBearerTokenAuthenticationIssuerUri=http://localhost:9005/auth/realms/basyx-demo
30 | # jwtBearerTokenAuthenticationJwkSetUri=http://localhost:9005/auth/realms/basyx-demo/protocol/openid-connect/certs
31 | # jwtBearerTokenAuthenticationRequiredAud=aas-registry
32 |
33 | # ###############################
34 | # HTTPS configuration
35 | # ###############################
36 | # Specifies the HTTPS configuration for this server context
37 | # Will be enabled if both sslKeyPath and sslKeyPass are set
38 | # The key references the SSL certificate
39 |
40 | # sslKeyStoreLocation=resources/basyxtest.jks
41 | # sslKeyPass=pass123
42 |
43 | # ###############################
44 | # Cross-origin resource sharing
45 | # ###############################
46 | # CORS can be configured by defining the origin
47 | # Use wildcard (*) to indicate that the requests from all domains are allowed
48 |
49 | # accessControlAllowOrigin=http://www.example.com
--------------------------------------------------------------------------------
/basyx.examples.printdecoration/src/main/resources/serverContext.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/aasServer
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=4001
25 |
26 | # ###############################
27 | # HTTPS configuration
28 | # ###############################
29 | # Specifies the HTTPS configuration for this server context
30 | # Will be enabled if both sslKeyPath and sslKeyPass are set
31 | # The key references the SSL certificate
32 |
33 | # sslKeyStoreLocation=resources/basyxtest.jks
34 | # sslKeyPass=pass123
35 |
36 | # ###############################
37 | # Cross-origin resource sharing
38 | # ###############################
39 | # CORS can be configured by defining the origin
40 | # Use wildcard (*) to indicate that the requests from all domains are allowed
41 |
42 | # accessControlAllowOrigin=http://www.example.com
--------------------------------------------------------------------------------
/basyx.examples.timeseries/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 |
--------------------------------------------------------------------------------
/basyx.examples.timeseries/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM maven:3-openjdk-17 AS build
2 | COPY src /usr/src/app/src
3 | COPY pom.xml /usr/src/app
4 | RUN cd /usr/src/app/ && \
5 | mvn clean install
6 |
7 | FROM gcr.io/distroless/java17-debian11
8 | COPY --from=build /usr/src/app/target/timeseriessubmodel.jar /usr/app/timeseriessubmodel.jar
9 | COPY --from=build /usr/src/app/target/lib /usr/app/lib
10 | ENTRYPOINT ["java","-jar","/usr/app/timeseriessubmodel.jar"]
11 |
--------------------------------------------------------------------------------
/basyx.examples.timeseries/docker-compose.yaml:
--------------------------------------------------------------------------------
1 | version: "3.8"
2 | services:
3 | # AAS Server
4 | aas:
5 | image: eclipsebasyx/aas-server:1.5.1
6 | container_name: aas-timeseries
7 | ports:
8 | - 4001:4001
9 |
10 | ## AAS Registry
11 | registry:
12 | image: eclipsebasyx/aas-registry:1.5.1
13 | container_name: registry-timeseries
14 | ports:
15 | - 4000:4000
16 |
17 | ## InfluxDB
18 | influxdb:
19 | image: influxdb:2.6-alpine
20 | container_name: influxdb
21 | volumes:
22 | - ./influxdb/var/lib/influxdb2:/var/lib/influxdb2:rw
23 | - ./influxdb/config.yml:/etc/influxdb2/config.yml:rw
24 | - ./influxdb/scripts:/docker-entrypoint-initdb.d:rw
25 | env_file:
26 | - ./influxdb/.env
27 | entrypoint: [ "./entrypoint.sh" ]
28 | ports:
29 | - 8086:8086
30 |
31 | ## data uploader
32 | dlsdata:
33 | image: python:3.8-alpine
34 | container_name: airsensordata
35 | volumes:
36 | - ./influxdb/data_scripts:/usr/src/influxdbclient
37 | command: sh -c "echo 'hello' && pip install influxdb-client && cd /usr/src/influxdbclient && python3 client.py"
38 | depends_on:
39 | - influxdb
40 |
41 | # Time series submode
42 | timeseries_submodel:
43 | image: eclipsebasyx/timeseries-example:0.1.0
44 | container_name: timeseries-submodel
45 | build:
46 | context: .
47 | ports:
48 | - 8002:8002
49 | depends_on:
50 | - aas
51 | - registry
52 | - influxdb
53 |
--------------------------------------------------------------------------------
/basyx.examples.timeseries/influxdb/.env:
--------------------------------------------------------------------------------
1 | DOCKER_INFLUXDB_INIT_MODE=setup
2 |
3 | ## Environment variables used during the setup and operation of the stack
4 | #
5 |
6 | # Primary InfluxDB admin/superuser credentials
7 | #
8 | DOCKER_INFLUXDB_INIT_USERNAME=admin
9 | DOCKER_INFLUXDB_INIT_PASSWORD=password
10 | DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=d28e8bebb73e59c0cd88e8a1ac7855aa
11 |
12 | # Primary InfluxDB organization & bucket definitions
13 | #
14 | DOCKER_INFLUXDB_INIT_ORG=basyx
15 | DOCKER_INFLUXDB_INIT_BUCKET=airsensors
16 |
17 |
18 | # InfluxDB port & hostname definitions
19 | #
20 | DOCKER_INFLUXDB_INIT_PORT=8086
21 | DOCKER_INFLUXDB_INIT_HOST=influxdb
--------------------------------------------------------------------------------
/basyx.examples.timeseries/influxdb/.gitignore:
--------------------------------------------------------------------------------
1 | var/
--------------------------------------------------------------------------------
/basyx.examples.timeseries/influxdb/data_scripts/client.py:
--------------------------------------------------------------------------------
1 | from influxdb_client import InfluxDBClient, Point
2 | from influxdb_client.client.write_api import SYNCHRONOUS
3 | import json
4 |
5 | bucket = "airsensors"
6 |
7 | client = InfluxDBClient(url="http://influxdb:8086", token="d28e8bebb73e59c0cd88e8a1ac7855aa", org="basyx")
8 |
9 | write_api = client.write_api(write_options=SYNCHRONOUS)
10 | query_api = client.query_api()
11 |
12 | f = open('air-sensor-data.lp')
13 | f.readlines
14 | for measurement in f.readlines():
15 | write_api.write(bucket=bucket, org='basyx', record=measurement)
--------------------------------------------------------------------------------
/basyx.examples.timeseries/influxdb/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Protects script from continuing with an error
4 | set -eu -o pipefail
5 |
6 | # Ensures environment variables are set
7 | export DOCKER_INFLUXDB_INIT_MODE=$DOCKER_INFLUXDB_INIT_MODE
8 | export DOCKER_INFLUXDB_INIT_USERNAME=$DOCKER_INFLUXDB_INIT_USERNAME
9 | export DOCKER_INFLUXDB_INIT_PASSWORD=$DOCKER_INFLUXDB_INIT_PASSWORD
10 | export DOCKER_INFLUXDB_INIT_ORG=$DOCKER_INFLUXDB_INIT_ORG
11 | export DOCKER_INFLUXDB_INIT_BUCKET=$DOCKER_INFLUXDB_INIT_BUCKET
12 | export DOCKER_INFLUXDB_INIT_RETENTION=$DOCKER_INFLUXDB_INIT_RETENTION
13 | export DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=$DOCKER_INFLUXDB_INIT_ADMIN_TOKEN
14 | export DOCKER_INFLUXDB_INIT_PORT=$DOCKER_INFLUXDB_INIT_PORT
15 | export DOCKER_INFLUXDB_INIT_HOST=$DOCKER_INFLUXDB_INIT_HOST
16 |
17 | # Conducts initial InfluxDB using the CLI
18 | chmod +x /docker-entrypoint-initdb.d/init.sh
19 | influx setup --skip-verify --bucket ${DOCKER_INFLUXDB_INIT_BUCKET} --retention ${DOCKER_INFLUXDB_INIT_RETENTION} --token ${DOCKER_INFLUXDB_INIT_ADMIN_TOKEN} --org ${DOCKER_INFLUXDB_INIT_ORG} --username ${DOCKER_INFLUXDB_INIT_USERNAME} --password ${DOCKER_INFLUXDB_INIT_PASSWORD} --host http://${DOCKER_INFLUXDB_INIT_HOST}:8086 --force
--------------------------------------------------------------------------------
/basyx.examples.timeseries/influxdb/scripts/influxdb-init.iql:
--------------------------------------------------------------------------------
1 | CREATE DATABASE basyx;
--------------------------------------------------------------------------------
/basyx.examples.timeseries/src/main/java/org/eclipse/basyx/examples/timeseries/time_series_submodel/IQueryContainer.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package org.eclipse.basyx.examples.timeseries.time_series_submodel;
27 |
28 | import java.time.Instant;
29 | import java.util.HashMap;
30 |
31 | /*
32 | * A Class that implements this interface
33 | * can act as a container of influxDB queried data
34 | *
35 | * author Al-Obaidi
36 | */
37 | public interface IQueryContainer {
38 | public Instant getTime();
39 |
40 | public HashMap getFieldsMap() throws IllegalArgumentException, IllegalAccessException;
41 | }
42 |
--------------------------------------------------------------------------------
/basyx.examples.timeseries/src/main/resources/admin-shells/AirSensor.aasx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-basyx/basyx-java-examples/4256b7d4d6b32f0239b76376056a5810f8972799/basyx.examples.timeseries/src/main/resources/admin-shells/AirSensor.aasx
--------------------------------------------------------------------------------
/basyx.examples/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath
2 | .project
3 |
4 | regressiontest/
5 | target/
6 | pom.xml.tag
7 | pom.xml.releaseBackup
8 | pom.xml.versionsBackup
9 | pom.xml.next
10 | release.properties
11 | dependency-reduced-pom.xml
12 | buildNumber.properties
13 | .mvn/timing.properties
14 | .mvn/wrapper/maven-wrapper.jar
15 | .metadata
16 | bin/
17 | tmp/
18 | *.tmp
19 | *.bak
20 | *.swp
21 | *~.nib
22 | local.properties
23 | .settings/
24 | .loadpath
25 | .recommenders
26 |
27 | # External tool builders
28 | .externalToolBuilders/
29 |
30 | # Locally stored "Eclipse launch configurations"
31 | *.launch
32 |
33 | # PyDev specific (Python IDE for Eclipse)
34 | *.pydevproject
35 |
36 | # CDT-specific (C/C++ Development Tooling)
37 | .cproject
38 |
39 | # CDT- autotools
40 | .autotools
41 |
42 | # Java annotation processor (APT)
43 | .factorypath
44 |
45 | # PDT-specific (PHP Development Tools)
46 | .buildpath
47 |
48 | # sbteclipse plugin
49 | .target
50 |
51 | # Tern plugin
52 | .tern-project
53 |
54 | # TeXlipse plugin
55 | .texlipse
56 |
57 | # STS (Spring Tool Suite)
58 | .springBeans
59 |
60 | # Code Recommenders
61 | .recommenders/
62 |
63 | # Annotation Processing
64 | .apt_generated/
65 |
66 | # Scala IDE specific (Scala & Java development for Eclipse)
67 | .cache-main
68 | .scala_dependencies
69 | .worksheet
--------------------------------------------------------------------------------
/basyx.examples/postman collection/01_Festo.aasx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-basyx/basyx-java-examples/4256b7d4d6b32f0239b76376056a5810f8972799/basyx.examples/postman collection/01_Festo.aasx
--------------------------------------------------------------------------------
/basyx.examples/src/main/java/org/eclipse/basyx/examples/scenarios/authorization/exception/AddClientException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2022 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.scenarios.authorization.exception;
26 |
27 | /**
28 | * Used to indicate that the operation to add a client to the Realm has been
29 | * failed.
30 | *
31 | * @author danish
32 | *
33 | */
34 | public class AddClientException extends Exception {
35 | private static final long serialVersionUID = 1L;
36 |
37 | public AddClientException(String message) {
38 | super(message);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/java/org/eclipse/basyx/examples/scenarios/authorization/exception/RealmCreationException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2022 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.scenarios.authorization.exception;
26 |
27 | /**
28 | * Used to indicate that the operation to create a Realm on the KeyCloak server
29 | * has been failed.
30 | *
31 | * @author danish
32 | *
33 | */
34 | public class RealmCreationException extends Exception {
35 | private static final long serialVersionUID = 1L;
36 |
37 | public RealmCreationException(String message) {
38 | super(message);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/java/org/eclipse/basyx/examples/scenarios/authorization/exception/RealmDeletionException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2022 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.scenarios.authorization.exception;
26 |
27 | /**
28 | * Used to indicate that the operation to delete a specific Realm from the
29 | * KeyCloak server has been failed.
30 | *
31 | * @author danish
32 | *
33 | */
34 | public class RealmDeletionException extends Exception {
35 | private static final long serialVersionUID = 1L;
36 |
37 | public RealmDeletionException(String message) {
38 | super(message);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/java/org/eclipse/basyx/examples/scenarios/authorization/shared/ExampleAssetFactory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2022 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.scenarios.authorization.shared;
26 |
27 | import org.eclipse.basyx.aas.metamodel.api.parts.asset.AssetKind;
28 | import org.eclipse.basyx.aas.metamodel.map.descriptor.CustomId;
29 | import org.eclipse.basyx.aas.metamodel.map.parts.Asset;
30 |
31 | /**
32 | * Factory to create an example {@link Asset}.
33 | *
34 | * @author wege
35 | */
36 | public class ExampleAssetFactory {
37 | public Asset create() {
38 | return new Asset("exampleAsset", new CustomId("asset.example"), AssetKind.INSTANCE);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/java/org/eclipse/basyx/examples/scenarios/authorization/shared/ExampleShellFactory.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2022 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.scenarios.authorization.shared;
26 |
27 | import org.eclipse.basyx.aas.metamodel.map.AssetAdministrationShell;
28 | import org.eclipse.basyx.aas.metamodel.map.descriptor.CustomId;
29 |
30 | /**
31 | * Factory to create an example {@link AssetAdministrationShell}.
32 | *
33 | * @author wege
34 | */
35 | public class ExampleShellFactory {
36 | public AssetAdministrationShell create() {
37 | return new AssetAdministrationShell("exampleShell", new CustomId("shell.example"), new ExampleAssetFactory().create());
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/AuthorizedRegistryContext.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/registry
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=8080
25 |
26 | # ###############################
27 | # JWT Bearer Token Authentication
28 | # ###############################
29 | jwtBearerTokenAuthenticationIssuerUri=http://127.0.0.1:9006/auth/realms/basyx-demo
30 | jwtBearerTokenAuthenticationJwkSetUri=http://127.0.0.1:9006/auth/realms/basyx-demo/protocol/openid-connect/certs
31 | jwtBearerTokenAuthenticationRequiredAud=basyx-demo
32 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/CloudEdgeDeploymentScenarioAASContext.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/cloud
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=8081
25 |
26 | # ###############################
27 | # JWT Bearer Token Authentication
28 | # ###############################
29 | jwtBearerTokenAuthenticationIssuerUri=http://127.0.0.1:9006/auth/realms/basyx-demo
30 | jwtBearerTokenAuthenticationJwkSetUri=http://127.0.0.1:9006/auth/realms/basyx-demo/protocol/openid-connect/certs
31 | jwtBearerTokenAuthenticationRequiredAud=basyx-demo
32 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/RegistryContext.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/registry
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=4000
25 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/combined/aasServer_context.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/aasServer
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=4003
25 |
26 | # ###############################
27 | # HTTPS configuration
28 | # ###############################
29 | # Specifies the HTTPS configuration for this server context
30 | # Will be enabled if both sslKeyPath and sslKeyPass are set
31 | # The key references the SSL certificate
32 |
33 | # sslKeyStoreLocation=resources/basyxtest.jks
34 | # sslKeyPass=pass123
35 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/combined/registry.properties:
--------------------------------------------------------------------------------
1 | # ###########################
2 | # Registry configuration file
3 | # ###########################
4 |
5 | # ###########################
6 | # Backend
7 | # ###########################
8 | # Specifies the backend that loads the AAS and Submodels
9 |
10 | # InMemory - does not persist AAS or submodels
11 |
12 | registry.backend=InMemory
13 |
14 | # MongoDB - persists data within a MongoDB
15 | # See connection configuration in mongodb.properties
16 |
17 | # registry.backend=MongoDB
18 |
19 | # SQL - persists data within an SQL database
20 | # See connection configuration in sql.properties
21 |
22 | # registry.backend=SQL
23 |
24 | # ###########################
25 | # Event-Backend
26 | # ###########################
27 | # MQTT - MQTT events are fired for various registry operations
28 | registry.events=NONE
29 | # registry.events=MQTT
30 | # registry.events=MQTTV2
31 | # registry.events=MQTTV2_SIMPLE_ENCODING
32 |
33 | # Id that is used in e.g. mqtt topics to enable multiple registries connected to one broker
34 | registry.id=aas-registry
35 |
36 |
37 | # ###########################
38 | # TaggedDirectory
39 | # ###########################
40 | # registry.taggedDirectory=Enabled
41 | registry.taggedDirectory=Disabled
42 |
43 | # ###########################
44 | # Authorization
45 | # ###########################
46 | # Enables Authorization via OAuth2, disabled by default
47 | registry.authorization=Enabled
48 | # registry.authorization=Disabled
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/combined/registry_context.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # HTTP Context configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Context Path
7 | # ###############################
8 | # Specifies the subpath in the url for this server context
9 |
10 | contextPath=/registry
11 |
12 | # ###############################
13 | # Hostname
14 | # ###############################
15 | # Specifies the hostname for this server context
16 |
17 | contextHostname=localhost
18 |
19 | # ###############################
20 | # Port
21 | # ###############################
22 | # Specifies the port for this server context
23 |
24 | contextPort=4000
25 |
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/combined/security.properties:
--------------------------------------------------------------------------------
1 | # ###########################
2 | # Authorization
3 | # ###########################
4 | # authorization.strategy=SimpleRbac
5 | authorization.strategy=GrantedAuthority
6 | authorization.strategy.jwtBearerTokenAuthenticationConfigurationProvider=org.eclipse.basyx.components.security.authorization.internal.KeycloakJwtBearerTokenAuthenticationConfigurationProvider
7 | authorization.strategy.jwtBearerTokenAuthenticationConfigurationProvider.keycloak.serverUrl=http://localhost:9007
8 | authorization.strategy.jwtBearerTokenAuthenticationConfigurationProvider.keycloak.realm=basyx-demo
9 | authorization.strategy.simpleRbac.rulesFilePath=/combined/rbac_rules.json
10 | authorization.strategy.simpleRbac.subjectInformationProvider=org.eclipse.basyx.extensions.shared.authorization.internal.JWTAuthenticationContextProvider
11 | authorization.strategy.simpleRbac.roleAuthenticator=org.eclipse.basyx.extensions.shared.authorization.internal.KeycloakRoleAuthenticator
12 | authorization.strategy.grantedAuthority.subjectInformationProvider=org.eclipse.basyx.extensions.shared.authorization.internal.AuthenticationContextProvider
13 | authorization.strategy.grantedAuthority.grantedAuthorityAuthenticator=org.eclipse.basyx.extensions.shared.authorization.internal.AuthenticationGrantedAuthorityAuthenticator
14 | authorization.strategy.custom.authorizersProvider=
15 | authorization.strategy.custom.subjectInformationProvider=
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/config/moquette.conf:
--------------------------------------------------------------------------------
1 | # Moquette Java Broker configuration file for testing
2 |
3 | # Do not use the default 1883 port
4 | port 1884
5 | host 0.0.0.0
6 | allow_anonymous true
--------------------------------------------------------------------------------
/basyx.examples/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
16 |
17 |
18 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/basyx.examples/src/test/java/org/eclipse/basyx/examples/deployment/UnknownContextComponentTypeException.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.deployment;
26 |
27 | /**
28 | * This exception indicates the presence of an unknown component type in a BaSyx
29 | * context
30 | *
31 | * @author kuhn
32 | *
33 | */
34 | public class UnknownContextComponentTypeException extends RuntimeException {
35 |
36 | /**
37 | * Version information for serialized instances
38 | */
39 | private static final long serialVersionUID = 1L;
40 | }
41 |
--------------------------------------------------------------------------------
/basyx.examples/src/test/java/org/eclipse/basyx/examples/mockup/device/SimpleTCPDeviceMockup.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.mockup.device;
26 |
27 | import org.eclipse.basyx.components.device.BaseTCPDeviceAdapter;
28 |
29 | /**
30 | * This class implements a mockup of a simple manufacturing device.
31 | *
32 | * All device interface functions that are called from native code in real
33 | * deployments are to be called from the test script.
34 | *
35 | * @author kuhn
36 | *
37 | */
38 | public class SimpleTCPDeviceMockup extends BaseTCPDeviceAdapter {
39 |
40 | /**
41 | * Constructor
42 | */
43 | public SimpleTCPDeviceMockup(int port) {
44 | // Invoke base implementation
45 | super(port);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/basyx.examples/src/test/java/org/eclipse/basyx/examples/scenarios/device/BaSyxExampleScenario.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2021 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 | package org.eclipse.basyx.examples.scenarios.device;
26 |
27 | import java.util.function.Supplier;
28 |
29 | /**
30 | * Base class for all BaSyx examples
31 | *
32 | * @author kuhn
33 | */
34 | public class BaSyxExampleScenario {
35 |
36 | /**
37 | * Wait for a condition
38 | */
39 | protected void waitfor(Supplier function) {
40 | while (!function.get())
41 | Thread.yield();
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/basyx.examples/src/test/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
16 |
17 |
18 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/basyx.examples/src/test/resources/registry.properties:
--------------------------------------------------------------------------------
1 | # ###############################
2 | # SQL database configuration file
3 | # ###############################
4 |
5 | # ###############################
6 | # Credentials
7 | # ###############################
8 | # Specifies the credentials for connecting to the SQL database
9 |
10 | dbuser=postgres
11 | dbpass=admin
12 |
13 | # ###############################
14 | # Database URL
15 | # ###############################
16 | # The direct SQL database url for connection
17 |
18 | dburl=//localhost:5432/basyx-directory?
19 |
20 | # ###############################
21 | # SQL driver information
22 | # ###############################
23 | # Java Driver and connection prefix for using the driver
24 |
25 | sqlDriver=org.postgresql.Driver
26 | sqlPrefix=jdbc:postgresql:
27 |
28 |
29 | # ###############################
30 | # Microsoft SQL Server Example
31 | # ###############################
32 | # dburl=//localhost:1234;databaseName=mydb
33 | # sqlDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver
34 | # sqlPrefix=jdbc:sqlserver:
35 |
36 |
--------------------------------------------------------------------------------
/basyx.grafana/.gitignore:
--------------------------------------------------------------------------------
1 | /lib/plugins/*
--------------------------------------------------------------------------------
/basyx.grafana/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2.1'
2 | services:
3 |
4 | registry:
5 | image: eclipsebasyx/aas-registry:1.0.1
6 | container_name: dashboard-registry
7 | ports:
8 | - 4000:4000
9 |
10 | dashboard-aas:
11 | image: eclipsebasyx/dashboard-aas:0.1.0-SNAPSHOT
12 | container_name: dashboard-aas
13 | environment:
14 | - BaSyxDashboardSubmodel_Min=15
15 | # - BaSyxDashboardSubmodel_Max=30
16 | ports:
17 | - 6400:6400
18 |
19 | aas-wrapper:
20 | image: eclipsebasyx/aas-wrapper:0.1.0-SNAPSHOT
21 | container_name: aas-wrapper
22 | ports:
23 | - 6500:6500
24 |
25 | grafana:
26 | image: grafana/grafana:7.4.0
27 | container_name: grafana
28 | ports:
29 | - 3000:3000
30 | volumes:
31 | - ./lib:/var/lib/grafana
32 | - ./grafana.ini:/etc/grafana/grafana.ini
--------------------------------------------------------------------------------
/basyx.grafana/lib/grafana.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-basyx/basyx-java-examples/4256b7d4d6b32f0239b76376056a5810f8972799/basyx.grafana/lib/grafana.db
--------------------------------------------------------------------------------
/basyx.grafana/readme.txt:
--------------------------------------------------------------------------------
1 | HowTo: First Setup
2 | ------------------
3 |
4 | 1. Download SimpleJSON datasource from Grafana
5 | - Download .zip-file at
6 | https://grafana.com/grafana/plugins/grafana-simple-json-datasource/installation
7 | - Unzip it in /lib/plugins:
8 | /lib/plugins/grafana-simple-json-datasource/ should directly contain its files (e.g. package.json)
9 |
10 | 2. Start docker-compose
11 | - Run "docker-compose up" in the /grafana/ folder
12 |
13 | 3. Login (admin/admin)
14 | - http://localhost:3000/
15 |
16 | 4. Add datasource
17 | - Configuration -> Datasources -> Add datasource -> Others: SimpleJson
18 |
19 | 5. Set URL Configuration in SimpleJson Datasource:
20 | URL -> http://aas-wrapper:6500/grafana/
21 |
22 | 6. Import Dashboard
23 | - Dashboards -> Manage -> Import -> Upload dashboard.json
24 |
25 | 7. Open BaSyx Dashboard
26 | - Dashboards -> Manage -> BaSyx Temperature
27 | - Optional: Set auto-refresh to 1s
28 |
29 | HINT
30 | ----
31 | - if you get a conflict when starting the containers,
32 | make sure any other monitoring examples and their containers are shut down
33 | (run the stop.bat/stop.sh command in the respective example folder)
34 |
35 |
--------------------------------------------------------------------------------
/basyx.grafana/start.bat:
--------------------------------------------------------------------------------
1 | docker-compose up
--------------------------------------------------------------------------------
/basyx.grafana/start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose up
--------------------------------------------------------------------------------
/basyx.grafana/stop.bat:
--------------------------------------------------------------------------------
1 | docker-compose down
--------------------------------------------------------------------------------
/basyx.grafana/stop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose down
--------------------------------------------------------------------------------
/basyx.hello_world/.gitignore:
--------------------------------------------------------------------------------
1 | .classpath
2 | .project
3 |
4 | regressiontest/
5 | target/
6 | pom.xml.tag
7 | pom.xml.releaseBackup
8 | pom.xml.versionsBackup
9 | pom.xml.next
10 | release.properties
11 | dependency-reduced-pom.xml
12 | buildNumber.properties
13 | .mvn/timing.properties
14 | .mvn/wrapper/maven-wrapper.jar
15 | .metadata
16 | bin/
17 | tmp/
18 | *.tmp
19 | *.bak
20 | *.swp
21 | *~.nib
22 | local.properties
23 | .settings/
24 | .loadpath
25 | .recommenders
26 |
27 | # External tool builders
28 | .externalToolBuilders/
29 |
30 | # Locally stored "Eclipse launch configurations"
31 | *.launch
32 |
33 | # PyDev specific (Python IDE for Eclipse)
34 | *.pydevproject
35 |
36 | # CDT-specific (C/C++ Development Tooling)
37 | .cproject
38 |
39 | # CDT- autotools
40 | .autotools
41 |
42 | # Java annotation processor (APT)
43 | .factorypath
44 |
45 | # PDT-specific (PHP Development Tools)
46 | .buildpath
47 |
48 | # sbteclipse plugin
49 | .target
50 |
51 | # Tern plugin
52 | .tern-project
53 |
54 | # TeXlipse plugin
55 | .texlipse
56 |
57 | # STS (Spring Tool Suite)
58 | .springBeans
59 |
60 | # Code Recommenders
61 | .recommenders/
62 |
63 | # Annotation Processing
64 | .apt_generated/
65 |
66 | # Scala IDE specific (Scala & Java development for Eclipse)
67 | .cache-main
68 | .scala_dependencies
69 | .worksheet
--------------------------------------------------------------------------------
/basyx.hello_world/src/main/resources/config/moquette.conf:
--------------------------------------------------------------------------------
1 | # Moquette Java Broker configuration file for testing
2 | port 1884
3 | websocket_port 8080
4 | host 0.0.0.0
5 | persistence false
6 |
7 | # false to accept only client connections with credentials
8 | # true to accept client connection without credentials, validating only the one that provides credentials
9 | allow_anonymous true
10 |
11 | # false to prohibit clients from connecting without a clientid.
12 | # true to allow clients to connect without a clientid. One will be generated for them.
13 | allow_zero_byte_client_id false
--------------------------------------------------------------------------------
/basyx.hello_world/src/main/resources/mqtt.properties:
--------------------------------------------------------------------------------
1 | # ##################
2 | # MQTT configuration
3 | # ##################
4 |
5 | # ##################
6 | # Credentials
7 | # ##################
8 | # The credentials for connecting to the MQTT broker
9 |
10 | # user=
11 | # pass=
12 |
13 | # ##################
14 | # Server location
15 | # ##################
16 | # Broker address to connect to
17 |
18 | server=tcp://localhost:1884
19 |
20 | # ##################
21 | # QoS
22 | # ##################
23 | # !! This configuration is currently unused and will be introduced with a later release !!
24 | # QoS level for the mqtt messages (0, 1 or 2). Default is 1.
25 |
26 | # qos=2
27 |
28 | # ##################
29 | # Persistence
30 | # ##################
31 | # Persistence strategy for mqtt client
32 |
33 | # Type of persistency strategy for mqtt client (File or InMemory)
34 | # persistence=File
35 |
36 | # Folder path to directory for mqtt client file persistency
37 | # persistencePath=
38 |
39 | # ##################
40 | # Filtered whitelist
41 | # ##################
42 | # Whitelist for filtering mqtt events for specific submodels / submodelelements
43 |
44 | whitelist.patientTemplate=true
45 | whitelist.element.patientTemplate.active=true
46 | # whitelist.element.{mySmIdentifier}.{elementIdShort}=true
47 |
48 | # ##################
49 | # Client id
50 | # ##################
51 | # ClientId for aasServer enabling connection of multiple aasServers to same broker
52 |
53 | clientId=aasServerClientId
--------------------------------------------------------------------------------
/basyx.nodered/.gitignore:
--------------------------------------------------------------------------------
1 | /mosquitto/log/mosquitto.log
2 | /node-red/.flows.json.backup
3 | /node-red/.flows_cred.json.backup
--------------------------------------------------------------------------------
/basyx.nodered/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nodered/node-red
2 | USER root
3 |
4 | # Copy package.json to the WORKDIR so npm builds all
5 | # of your added nodes modules for Node-RED
6 | COPY package.json .
7 | COPY ./node-red-contrib-aas-connect ./node-red-contrib-aas-connect
8 | RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production --quiet
9 | RUN npm install ./node-red-contrib-aas-connect
10 |
11 | # Copy _your_ Node-RED project files into place
12 | # NOTE: This will only work if you DO NOT later mount /data as an external volume.
13 | # If you need to use an external volume for persistence then
14 | # copy your settings and flows files to that volume instead.
15 | COPY settings.js /data/settings.js
16 | # COPY flows_cred.json /data/flows_cred.json
17 | COPY flows.json /data/flows.json
--------------------------------------------------------------------------------
/basyx.nodered/build.bat:
--------------------------------------------------------------------------------
1 | docker build -t eclipsebasyx/examples-dataflow-nodered:1.1.0-SNAPSHOT .
--------------------------------------------------------------------------------
/basyx.nodered/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker build -t eclipsebasyx/examples-dataflow-nodered:1.1.0-SNAPSHOT .
--------------------------------------------------------------------------------
/basyx.nodered/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 |
4 | registry:
5 | image: eclipsebasyx/aas-registry:1.0.1
6 | container_name: dashboard-registry
7 | ports:
8 | - 4000:4000
9 |
10 | dashboard-aas:
11 | image: eclipsebasyx/dashboard-aas:0.1.0-SNAPSHOT
12 | container_name: dashboard-aas
13 | environment:
14 | - BaSyxDashboardSubmodel_Min=15
15 | # - BaSyxDashboardSubmodel_Max=30
16 | ports:
17 | - 6400:6400
18 |
19 | aas-wrapper:
20 | image: eclipsebasyx/aas-wrapper:0.1.0-SNAPSHOT
21 | container_name: aas-wrapper
22 | ports:
23 | - 6500:6500
24 |
25 | node-red:
26 | image: eclipsebasyx/examples-dataflow-nodered:0.1.0-SNAPSHOT
27 | container_name: node-red
28 | ports:
29 | - 1880:1880
30 | volumes:
31 | - ./node-red:/data
32 |
33 | mosquitto:
34 | image: eclipse-mosquitto:latest
35 | container_name: mosquitto
36 | ports:
37 | - 1883:1883
38 | - 9001:9001
39 | volumes:
40 | - ./mosquitto/config:/mosquitto/config
41 | - ./mosquitto/log:/mosquitto/log
--------------------------------------------------------------------------------
/basyx.nodered/node-red-contrib-aas-connect/get-aas-property.html:
--------------------------------------------------------------------------------
1 |
22 |
23 |
40 |
41 |
--------------------------------------------------------------------------------
/basyx.nodered/node-red-contrib-aas-connect/icons/logo-BaSys4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-basyx/basyx-java-examples/4256b7d4d6b32f0239b76376056a5810f8972799/basyx.nodered/node-red-contrib-aas-connect/icons/logo-BaSys4.png
--------------------------------------------------------------------------------
/basyx.nodered/node-red-contrib-aas-connect/icons/machine.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/eclipse-basyx/basyx-java-examples/4256b7d4d6b32f0239b76376056a5810f8972799/basyx.nodered/node-red-contrib-aas-connect/icons/machine.png
--------------------------------------------------------------------------------
/basyx.nodered/node-red-contrib-aas-connect/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "node-red-contrib-aas-connect",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "get-aas-property.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "node-red": {
10 | "nodes": {
11 | "get-aas-property": "get-aas-property.js",
12 | "set-aas-property": "set-aas-property.js"
13 | }
14 | },
15 | "author": "",
16 | "license": "ISC",
17 | "dependencies": {
18 | "request": "^2.88.2"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/basyx.nodered/node-red-contrib-aas-connect/set-aas-property.html:
--------------------------------------------------------------------------------
1 |
21 |
22 |
33 |
34 |
--------------------------------------------------------------------------------
/basyx.nodered/node-red-contrib-aas-connect/set-aas-property.js:
--------------------------------------------------------------------------------
1 | module.exports = function(RED) {
2 |
3 | const request = require('request');
4 |
5 | function SetAASProperty(config) {
6 | let property = config.property || 'temp';
7 | let endpoint = `http://aas-wrapper:6500/streamsheets/${property}`;
8 |
9 | RED.nodes.createNode(this, config);
10 |
11 | let node = this;
12 | node.on('input', function(msg, send, done) {
13 | let newValue = msg.payload;
14 |
15 | request({
16 | uri: endpoint,
17 | method: 'POST',
18 | json: true,
19 | body: { value: newValue }
20 | }, (err, res, body) => {
21 | if (err) {
22 | node.error(err);
23 | if (done) done(err);
24 | return;
25 | }
26 |
27 | if (!body.success) {
28 | node.error(body.error);
29 | if (done) done(body.error);
30 | return;
31 | }
32 |
33 | if (done) done();
34 | });
35 | });
36 | }
37 |
38 | RED.nodes.registerType('set-aas-property', SetAASProperty);
39 |
40 | }
--------------------------------------------------------------------------------
/basyx.nodered/node-red/.dash/config_default.json:
--------------------------------------------------------------------------------
1 | {
2 | "dashboards": []
3 | }
--------------------------------------------------------------------------------
/basyx.nodered/node-red/flows_cred.json:
--------------------------------------------------------------------------------
1 | {"$":"c868da21da8ba53a0c91801df18843d0H2SPE/Z3kkH48hmjwFw92jPiFRST"}
--------------------------------------------------------------------------------
/basyx.nodered/node-red/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "node-red-project",
3 | "description": "A Node-RED Project",
4 | "version": "0.0.1",
5 | "private": true
6 | }
--------------------------------------------------------------------------------
/basyx.nodered/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "node-red-docker",
3 | "version": "1.1.2",
4 | "description": "Low-code programming for event-driven applications",
5 | "homepage": "http://nodered.org",
6 | "license": "Apache-2.0",
7 | "repository": {
8 | "type": "git",
9 | "url": "https://github.com/node-red/node-red-docker.git"
10 | },
11 | "main": "node_modules/node-red/red/red.js",
12 | "scripts": {
13 | "start": "node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS",
14 | "debug": "node --inspect=0.0.0.0:9229 $NODE_OPTIONS node_modules/node-red/red.js $FLOWS",
15 | "debug_brk": "node --inspect=0.0.0.0:9229 --inspect-brk $NODE_OPTIONS node_modules/node-red/red.js $FLOWS"
16 | },
17 | "contributors": [
18 | {
19 | "name": "Dave Conway-Jones"
20 | },
21 | {
22 | "name": "Nick O'Leary"
23 | },
24 | {
25 | "name": "James Thomas"
26 | },
27 | { "name": "Raymond Mouthaan" } ],
28 | "dependencies": {
29 | "node-red": "1.1.2",
30 | "node-red-contrib-graphs": "0.3.5"
31 | },
32 | "engines": {
33 | "node": ">=10"
34 | }
35 | }
--------------------------------------------------------------------------------
/basyx.nodered/readme.txt:
--------------------------------------------------------------------------------
1 | HowTo: First Setup
2 | ------------------
3 |
4 | 1. Start docker-compose
5 | - Run "docker-compose up" in the /basyx.nodered/ folder
6 | or
7 | - Run /basyx.nodered/start.sh (start.bat)
8 |
9 | 2. Open in Browser
10 | - http://localhost:1880
11 |
12 |
13 | HINTS
14 | -----
15 | - if you get a message that the nodes MQTT are disconnected:
16 | a. Go to folder \examples\basyx.nodered\mosquitto\config
17 | b. Open the mosquitto.conf, locate and uncomment the following lines:
18 | allow_anonymous true
19 | port 1883
20 |
21 | - if you get a conflict when starting the containers,
22 | make sure any other monitoring examples and their containers are shut down
23 | (run the stop.bat/stop.sh command in the respective example folder)
24 |
--------------------------------------------------------------------------------
/basyx.nodered/start.bat:
--------------------------------------------------------------------------------
1 | docker-compose up
2 |
--------------------------------------------------------------------------------
/basyx.nodered/start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose up
--------------------------------------------------------------------------------
/basyx.nodered/stop.bat:
--------------------------------------------------------------------------------
1 | docker-compose down
--------------------------------------------------------------------------------
/basyx.nodered/stop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose down
--------------------------------------------------------------------------------
/basyx.rosbridge/BasyxRosBridgeDemo/src/main/java/main/CustIdentifier.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package main;
27 |
28 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier;
29 | import org.eclipse.basyx.submodel.metamodel.api.identifier.IdentifierType;
30 |
31 |
32 | public class CustIdentifier implements IIdentifier {
33 |
34 | private String id;
35 |
36 | public CustIdentifier(String id) {
37 | this.id = id;
38 | }
39 |
40 | public IdentifierType getIdType() {
41 | return IdentifierType.CUSTOM;
42 | }
43 |
44 |
45 | public String getId() {
46 | return this.id;
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/BasyxRosBridgeDemo/src/main/java/main/TestSrvProcessor.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package main;
27 | import std_srvs.SetBoolArgs;
28 | import std_srvs.SetBoolResp;
29 |
30 | public class TestSrvProcessor {
31 | public TestSrvProcessor() {
32 |
33 | }
34 |
35 | public SetBoolResp processBool(SetBoolArgs args) {
36 | System.out.println(args.isData());
37 | return new SetBoolResp(true, "Everything is fine");
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 |
4 | org.ipr.fabos
5 | java-rosbridge-client
6 | 0.0.1-SNAPSHOT
7 |
8 | java_rosbridge_client.communication
9 |
10 |
11 | org.ipr.fabos
12 | java_rosbridge_client.core
13 | 0.0.1-SNAPSHOT
14 |
15 |
16 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/diagnostic_msgs/AddDiagnostics.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package diagnostic_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class AddDiagnostics extends RosService{
31 |
32 | public AddDiagnostics() {
33 | this.setArgClass(AddDiagnosticsArgs.class);
34 | this.setRespClass(AddDiagnosticsResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/diagnostic_msgs/AddDiagnosticsArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package diagnostic_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class AddDiagnosticsArgs extends RosServiceArgs{
31 |
32 | private String load_namespace;
33 |
34 | public AddDiagnosticsArgs() {
35 |
36 | }
37 |
38 | public AddDiagnosticsArgs(String load_namespace) {
39 | this.setLoad_namespace(load_namespace);
40 | }
41 |
42 | public String getLoad_namespace() {
43 | return load_namespace;
44 | }
45 |
46 | public void setLoad_namespace(String load_namespace) {
47 | this.load_namespace = load_namespace;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/diagnostic_msgs/SelfTest.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package diagnostic_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 | import std_srvs.SetBoolArgs;
30 | import std_srvs.SetBoolResp;
31 |
32 | public class SelfTest extends RosService{
33 |
34 | public SelfTest() {
35 | this.setArgClass(SelfTestArgs.class);
36 | this.setRespClass(SelfTestResp.class);
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/diagnostic_msgs/SelfTestArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package diagnostic_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class SelfTestArgs extends RosServiceArgs {
31 |
32 | public SelfTestArgs() {
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/geometry_msgs/Polygon.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package geometry_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Polygon extends RosMessage{
31 | private Point32[] points;
32 |
33 | public Polygon() {
34 |
35 | }
36 |
37 | public Polygon(Point32[] points) {
38 | this.setPoints(points);
39 | }
40 |
41 | public Point32[] getPoints() {
42 | return points;
43 | }
44 |
45 | public void setPoints(Point32[] points) {
46 | this.points = points;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/GetMap.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 |
29 | import java_rosbridge_client.core.utility.RosService;
30 |
31 | public class GetMap extends RosService{
32 |
33 | public GetMap() {
34 | this.setArgClass(GetMapArgs.class);
35 | this.setRespClass(GetMapResp.class);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/GetMapArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class GetMapArgs extends RosServiceArgs{
31 |
32 | public GetMapArgs() {
33 |
34 | }
35 |
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/GetMapResp.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceResp;
29 |
30 | public class GetMapResp extends RosServiceResp{
31 | private OccupancyGrid map;
32 |
33 | public GetMapResp() {
34 |
35 | }
36 |
37 | public GetMapResp(OccupancyGrid map) {
38 | this.setMap(map);
39 | }
40 |
41 | public OccupancyGrid getMap() {
42 | return map;
43 | }
44 |
45 | public void setMap(OccupancyGrid map) {
46 | this.map = map;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/GetPlan.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class GetPlan extends RosService{
31 |
32 | public GetPlan() {
33 | this.setArgClass(GetPlanArgs.class);
34 | this.setRespClass(GetPlanResp.class);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/GetPlanResp.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceResp;
29 |
30 | public class GetPlanResp extends RosServiceResp{
31 | private Path plan;
32 |
33 | public GetPlanResp() {
34 |
35 | }
36 |
37 | public GetPlanResp(Path plan) {
38 | this.setPlan(plan);
39 | }
40 |
41 | public Path getPlan() {
42 | return plan;
43 | }
44 |
45 | public void setPlan(Path plan) {
46 | this.plan = plan;
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/LoadMap.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class LoadMap extends RosService{
31 |
32 | public LoadMap() {
33 | this.setArgClass(LoadMapArgs.class);
34 | this.setRespClass(LoadMapResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/LoadMapArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class LoadMapArgs extends RosServiceArgs{
31 |
32 | private String map_url;
33 |
34 | public LoadMapArgs() {
35 |
36 | }
37 |
38 | public LoadMapArgs(String map_url) {
39 | this.setMap_url(map_url);
40 | }
41 |
42 | public String getMap_url() {
43 | return map_url;
44 | }
45 |
46 | public void setMap_url(String map_url) {
47 | this.map_url = map_url;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/SetMap.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class SetMap extends RosService{
31 |
32 | public SetMap() {
33 | this.setArgClass(SetMapArgs.class);
34 | this.setRespClass(SetMapResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/nav_msgs/SetMapResp.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package nav_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceResp;
29 |
30 | public class SetMapResp extends RosServiceResp{
31 |
32 | private Boolean success;
33 |
34 | public SetMapResp() {
35 |
36 | }
37 |
38 | public SetMapResp(Boolean success) {
39 | this.setSuccess(success);
40 | }
41 |
42 | public Boolean getSuccess() {
43 | return success;
44 | }
45 |
46 | public void setSuccess(Boolean success) {
47 | this.success = success;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/sensor_msgs/JoyFeedbackArray.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package sensor_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class JoyFeedbackArray extends RosMessage{
31 |
32 | private JoyFeedback[] array;
33 |
34 | public JoyFeedbackArray() {
35 |
36 | }
37 |
38 | public JoyFeedbackArray(JoyFeedback[] array) {
39 | this.array = array;
40 | }
41 |
42 | public JoyFeedback[] getArray() {
43 | return array;
44 | }
45 |
46 | public void setArray(JoyFeedback[] array) {
47 | this.array = array;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/sensor_msgs/LaserEcho.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package sensor_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class LaserEcho extends RosMessage{
31 |
32 | private Float[] echoes;
33 |
34 | public LaserEcho() {
35 |
36 | }
37 |
38 | public LaserEcho(Float[] echoes) {
39 | this.echoes = echoes;
40 | }
41 |
42 | public Float[] getEchoes() {
43 | return echoes;
44 | }
45 |
46 | public void setEchoes(Float[] echoes) {
47 | this.echoes = echoes;
48 | }
49 |
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/sensor_msgs/SetCameraInfo.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package sensor_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class SetCameraInfo extends RosService {
31 |
32 | public SetCameraInfo() {
33 | this.setArgClass(SetCameraInfoArgs.class);
34 | this.setRespClass(SetCameraInfoResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/sensor_msgs/SetCameraInfoArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package sensor_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class SetCameraInfoArgs extends RosServiceArgs{
31 |
32 | private CameraInfo camera_info;
33 |
34 | public SetCameraInfoArgs() {
35 |
36 | }
37 |
38 | public SetCameraInfoArgs(CameraInfo camera_info) {
39 | this.camera_info = camera_info;
40 | }
41 |
42 | public CameraInfo getCamera_info() {
43 | return camera_info;
44 | }
45 |
46 | public void setCamera_info(CameraInfo camera_info) {
47 | this.camera_info = camera_info;
48 | }
49 |
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/shape_msgs/MeshTriangle.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package shape_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class MeshTriangle extends RosMessage{
31 | private Long[] vertex_indices;
32 |
33 | public MeshTriangle() {
34 |
35 | }
36 |
37 | public MeshTriangle(Long[] vertex_indices) {
38 | this.setVertex_indices(vertex_indices);
39 | }
40 |
41 | public Long[] getVertex_indices() {
42 | return vertex_indices;
43 | }
44 |
45 | public void setVertex_indices(Long[] vertex_indices) {
46 | this.vertex_indices = vertex_indices;
47 | }
48 |
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/shape_msgs/Plane.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package shape_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Plane extends RosMessage{
31 | private Double[] coef;
32 |
33 | public Plane() {
34 |
35 | }
36 |
37 | public Plane(Double[] coef) {
38 | this.setCoef(coef);
39 | }
40 |
41 | public Double[] getCoef() {
42 | return coef;
43 | }
44 |
45 | public void setCoef(Double[] coef) {
46 | this.coef = coef;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Bool.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Bool extends RosMessage{
31 |
32 | private Boolean data;
33 |
34 | public Bool() {
35 |
36 | }
37 |
38 | public Bool(Boolean data) {
39 | this.setData(data);
40 | }
41 |
42 | public Boolean getData() {
43 | return data;
44 | }
45 |
46 | public void setData(Boolean data) {
47 | this.data = data;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Byte.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Byte extends RosMessage{
31 | private java.lang.Byte data;
32 |
33 | public Byte() {
34 |
35 | }
36 |
37 | public Byte(java.lang.Byte data) {
38 | this.setData(data);
39 | }
40 |
41 | public java.lang.Byte getData() {
42 | return data;
43 | }
44 |
45 | public void setData(java.lang.Byte data) {
46 | this.data = data;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Char.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Char extends RosMessage{
31 | private Short data;
32 |
33 | public Char() {
34 |
35 | }
36 |
37 | public Char(Short data) {
38 | this.setData(data);
39 | }
40 |
41 | public Short getData() {
42 | return data;
43 | }
44 |
45 | public void setData(Short data) {
46 | this.data = data;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Duration.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Duration extends RosMessage{
31 | private msg_elements.Duration data;
32 |
33 | public Duration() {
34 |
35 | }
36 |
37 | public Duration(msg_elements.Duration data) {
38 | this.setData(data);
39 | }
40 |
41 | public msg_elements.Duration getData() {
42 | return data;
43 | }
44 |
45 | public void setData(msg_elements.Duration data) {
46 | this.data = data;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Empty.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Empty extends RosMessage{
31 |
32 | public Empty() {
33 |
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Float32.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Float32 extends RosMessage{
31 |
32 | private Float data;
33 |
34 | public Float32() {
35 |
36 | }
37 |
38 | public Float32(Float data) {
39 | this.setData(data);
40 | }
41 |
42 | public Float getData() {
43 | return data;
44 | }
45 |
46 | public void setData(Float data) {
47 | this.data = data;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Float64.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Float64 extends RosMessage{
31 | private Double data;
32 |
33 | public Float64() {
34 |
35 | }
36 |
37 | public Float64(Double data) {
38 | this.setData(data);
39 | }
40 |
41 | public Double getData() {
42 | return data;
43 | }
44 |
45 | public void setData(Double data) {
46 | this.data = data;
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Int16.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Int16 extends RosMessage {
31 | private Short data;
32 |
33 | public Int16() {
34 |
35 | }
36 |
37 | public Int16(Short data) {
38 | this.setData(data); }
39 |
40 | public Short getData() {
41 | return data;
42 | }
43 |
44 | public void setData(Short data) {
45 | this.data = data;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Int32.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Int32 extends RosMessage {
31 |
32 | private Integer data;
33 |
34 | public Int32() {
35 |
36 | }
37 |
38 | public Int32(Integer data) {
39 | this.setData(data);
40 | }
41 |
42 | public Integer getData() {
43 | return data;
44 | }
45 |
46 | public void setData(Integer data) {
47 | this.data = data;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Int64.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Int64 extends RosMessage{
31 |
32 | private Long data;
33 |
34 | public Int64() {
35 |
36 | }
37 |
38 | public Int64(Long data) {
39 | this.setData(data);
40 | }
41 |
42 | public Long getData() {
43 | return data;
44 | }
45 |
46 | public void setData(Long data) {
47 | this.data = data;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Int8.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Int8 extends RosMessage{
31 | private java.lang.Byte data;
32 |
33 | public Int8() {
34 |
35 | }
36 |
37 | public Int8(java.lang.Byte data) {
38 | this.setData(data);
39 | }
40 |
41 | public java.lang.Byte getData() {
42 | return data;
43 | }
44 |
45 | public void setData(java.lang.Byte data) {
46 | this.data = data;
47 | }
48 |
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/String.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class String extends RosMessage{
31 | private java.lang.String data;
32 |
33 | public java.lang.String getData() {
34 | return data;
35 | }
36 |
37 | public void setData(java.lang.String data) {
38 | this.data = data;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/Time.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class Time extends RosMessage{
31 | private msg_elements.Time data;
32 |
33 | public Time() {
34 |
35 | }
36 |
37 | public Time(msg_elements.Time data) {
38 | this.setData(data);
39 | }
40 |
41 | public msg_elements.Time getData() {
42 | return data;
43 | }
44 |
45 | public void setData(msg_elements.Time data) {
46 | this.data = data;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/UInt16.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class UInt16 extends RosMessage{
31 | private Integer data;
32 |
33 | public UInt16() {
34 |
35 | }
36 |
37 | public UInt16(Integer data) {
38 | this.setData(data);
39 | }
40 |
41 | public Integer getData() {
42 | return data;
43 | }
44 |
45 | public void setData(Integer data) {
46 | this.data = data;
47 | }
48 |
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/UInt32.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class UInt32 extends RosMessage{
31 |
32 | private Long data;
33 |
34 | public UInt32() {
35 |
36 | }
37 |
38 | public UInt32(Long data) {
39 | this.setData(data);
40 | }
41 |
42 | public Long getData() {
43 | return data;
44 | }
45 |
46 | public void setData(Long data) {
47 | this.data = data;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/UInt64.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java.math.BigInteger;
29 |
30 | import java_rosbridge_client.core.utility.RosMessage;
31 |
32 | public class UInt64 extends RosMessage{
33 |
34 | private BigInteger data;
35 |
36 | public UInt64() {
37 |
38 | }
39 |
40 | public UInt64(BigInteger data) {
41 | this.setData(data);
42 | }
43 |
44 | public BigInteger getData() {
45 | return data;
46 | }
47 |
48 | public void setData(BigInteger data) {
49 | this.data = data;
50 | }
51 |
52 |
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_msgs/UInt8.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class UInt8 extends RosMessage{
31 | private Short data;
32 |
33 | private UInt8() {
34 |
35 | }
36 |
37 | private UInt8(Short data) {
38 | this.setData(data);
39 | }
40 |
41 | public short getData() {
42 | return data;
43 | }
44 |
45 | public void setData(Short data) {
46 | this.data = data;
47 | }
48 |
49 |
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/Empty.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class Empty extends RosService{
31 |
32 | public Empty() {
33 | this.setArgClass(EmptyArgs.class);
34 | this.setRespClass(EmptyResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/EmptyArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class EmptyArgs extends RosServiceArgs{
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/EmptyResp.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceResp;
29 |
30 | public class EmptyResp extends RosServiceResp{
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/SetBool.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class SetBool extends RosService{
31 |
32 | public SetBool() {
33 | this.setArgClass(SetBoolArgs.class);
34 | this.setRespClass(SetBoolResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/SetBoolArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 |
31 |
32 | public class SetBoolArgs extends RosServiceArgs{
33 |
34 | private Boolean data;
35 |
36 | public SetBoolArgs() {
37 |
38 | }
39 |
40 | public SetBoolArgs(Boolean data) {
41 | this.data = data;
42 | }
43 |
44 | public Boolean isData() {
45 | return data;
46 | }
47 |
48 | public void setData(Boolean data) {
49 | this.data = data;
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/Trigger.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosService;
29 |
30 | public class Trigger extends RosService{
31 |
32 | public Trigger() {
33 | this.setArgClass(TriggerArgs.class);
34 | this.setRespClass(TriggerResp.class);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/std_srvs/TriggerArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package std_srvs;
27 |
28 | import java_rosbridge_client.core.utility.RosServiceArgs;
29 |
30 | public class TriggerArgs extends RosServiceArgs{
31 |
32 | public TriggerArgs() {
33 |
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.communication/src/main/java/visualization_msgs/MarkerArray.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package visualization_msgs;
27 |
28 | import java_rosbridge_client.core.utility.RosMessage;
29 |
30 | public class MarkerArray extends RosMessage{
31 |
32 | private Marker[] markers;
33 |
34 | public MarkerArray() {
35 |
36 | }
37 |
38 | public MarkerArray(Marker[] markers) {
39 | this.setMarkers(markers); }
40 |
41 | public Marker[] getMarkers() {
42 | return markers;
43 | }
44 |
45 | public void setMarkers(Marker[] markers) {
46 | this.markers = markers;
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.core/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 |
4 | org.ipr.fabos
5 | java-rosbridge-client
6 | 0.0.1-SNAPSHOT
7 |
8 | java_rosbridge_client.core
9 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.core/src/main/java/java_rosbridge_client/core/utility/RosMessage.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package java_rosbridge_client.core.utility;
27 |
28 | public class RosMessage extends RosMessageElement{
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.core/src/main/java/java_rosbridge_client/core/utility/RosMessageElement.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package java_rosbridge_client.core.utility;
27 |
28 | public class RosMessageElement {
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.core/src/main/java/java_rosbridge_client/core/utility/RosService.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package java_rosbridge_client.core.utility;
27 |
28 | public class RosService {
29 |
30 | private Class argClass;
31 | private Class respClass;
32 |
33 |
34 | public Class getArgClass() {
35 | return argClass;
36 | }
37 | public void setArgClass(Class argClass) {
38 | this.argClass = argClass;
39 | }
40 | public Class getRespClass() {
41 | return respClass;
42 | }
43 | public void setRespClass(Class respClass) {
44 | this.respClass = respClass;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.core/src/main/java/java_rosbridge_client/core/utility/RosServiceArgs.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package java_rosbridge_client.core.utility;
27 |
28 | public class RosServiceArgs extends RosMessageElement {
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/java_rosbridge_client.core/src/main/java/java_rosbridge_client/core/utility/RosServiceResp.java:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * Copyright (C) 2023 the Eclipse BaSyx Authors
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining
5 | * a copy of this software and associated documentation files (the
6 | * "Software"), to deal in the Software without restriction, including
7 | * without limitation the rights to use, copy, modify, merge, publish,
8 | * distribute, sublicense, and/or sell copies of the Software, and to
9 | * permit persons to whom the Software is furnished to do so, subject to
10 | * the following conditions:
11 | *
12 | * The above copyright notice and this permission notice shall be
13 | * included in all copies or substantial portions of the Software.
14 | *
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 | *
23 | * SPDX-License-Identifier: MIT
24 | ******************************************************************************/
25 |
26 | package java_rosbridge_client.core.utility;
27 |
28 | public class RosServiceResp extends RosMessageElement{
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/basyx.rosbridge/java_rosbridge_client/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | org.ipr.fabos
4 | java-rosbridge-client
5 | 0.0.1-SNAPSHOT
6 | pom
7 | java-rosbridge-client
8 |
9 |
10 |
11 | 17
12 | 17
13 | UTF-8
14 |
15 |
16 |
17 |
18 |
19 | javax.websocket
20 | javax.websocket-api
21 | 1.1
22 |
23 |
24 |
25 | org.glassfish.tyrus
26 | tyrus-server
27 | 1.17
28 |
29 |
30 |
31 | com.google.code.gson
32 | gson
33 | 2.9.0
34 |
35 |
36 |
37 |
38 |
39 |
40 | java_rosbridge_client.core
41 | java_rosbridge_client.communication
42 |
43 |
--------------------------------------------------------------------------------
/basyx.streamsheets/.gitignore:
--------------------------------------------------------------------------------
1 | /mosquitto
2 | /streamsheets
--------------------------------------------------------------------------------
/basyx.streamsheets/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | services:
3 |
4 | registry:
5 | image: eclipsebasyx/aas-registry:1.0.1
6 | container_name: dashboard-registry
7 | ports:
8 | - 4000:4000
9 |
10 | dashboard-aas:
11 | image: eclipsebasyx/dashboard-aas:0.1.0-SNAPSHOT
12 | container_name: dashboard-aas
13 | environment:
14 | - BaSyxDashboardSubmodel_Min=15
15 | # - BaSyxDashboardSubmodel_Max=30
16 | ports:
17 | - 6400:6400
18 |
19 | aas-wrapper:
20 | image: eclipsebasyx/aas-wrapper:0.1.0-SNAPSHOT
21 | container_name: aas-wrapper
22 | ports:
23 | - 6500:6500
24 |
25 | streamsheets:
26 | image: cedalo/streamsheets:1.5
27 | container_name: streamsheets
28 | ports:
29 | - 8081:8081
30 | - 8083:8083
31 | - 1883:1883
32 | volumes:
33 | - ./mosquitto:/etc/mosquitto-default-credentials
34 | - ./streamsheets:/var/lib/mongodb
--------------------------------------------------------------------------------
/basyx.streamsheets/readme.txt:
--------------------------------------------------------------------------------
1 | HowTo: First Setup
2 | ------------------
3 |
4 | 1. Start docker-compose
5 | - Run "docker-compose up" in the /streamsheets/ folder
6 |
7 | 2. Open in Browser (admin/1234)
8 | - http://localhost:8081/
9 |
10 | 3. Import dashboard from JSON (drag & drop possible)
11 |
12 | 4. Run Streamsheet
13 |
14 | HINT
15 | ----
16 | - if you get a conflict when starting the containers,
17 | make sure any other monitoring examples and their containers are shut down
18 | (run the stop.bat/stop.sh command in the respective example folder)
--------------------------------------------------------------------------------
/basyx.streamsheets/start.bat:
--------------------------------------------------------------------------------
1 | docker-compose up
2 |
--------------------------------------------------------------------------------
/basyx.streamsheets/start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose up
--------------------------------------------------------------------------------
/basyx.streamsheets/stop.bat:
--------------------------------------------------------------------------------
1 | docker-compose down
--------------------------------------------------------------------------------
/basyx.streamsheets/stop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | docker-compose down
--------------------------------------------------------------------------------