├── .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 --------------------------------------------------------------------------------