BaSyx / Scenarios / Static Dynamic Extension
This example shows the enrichment of AAS data loaded from an aasx file with a static Submodel.
The following components are used:
In the first step an AAS-Server and a Registry-Server is started by the methodes
Then the AASXPackageManager is used to load example AASs/SMs form an .aasx file into a Set of AASBundle objects.
// Load Bundles from .aasx file AASXPackageManager packageManager = new AASXPackageManager("aasx/01_Festo.aasx"); Set<AASBundle> bundles = packageManager.retrieveAASBundles();
A new Submodel is added to one of the bundles. The correct bundle is found by the idShort of its AAS.
// Get the correct Bundle form the Set AASBundle bundle = findBundle(bundles, AAS_ID_SHORT); // Add the new SubModel to the Bundle bundle.getSubmodels().add(sm);
These bundles are then uploaded to the server using the AASBundleIntegrator.
// Load the new Bundles to the Server AASBundleIntegrator.integrate(new AASAggregatorProxy(SERVER_URL), bundles);
The last step is to register the newly uploaded AAS/SM objects. This is done by a separate method
registerBundles(). It iterates over a given Set of bundles and registers all contained AASs/SMs.
// Get a RegistryProxy and register all Objects contained in the Bundles AASRegistryProxy proxy = new AASRegistryProxy(REGISTRY_URL); registerBundles(bundles, proxy, SERVER_URL);
An example of how to execute and use the scenario can be found in TestStaticDynamicScenario.