Class BaSyxRegistry

  • All Implemented Interfaces:
    de.iip_ecosphere.platform.support.aas.Registry

    public class BaSyxRegistry
    extends java.lang.Object
    implements de.iip_ecosphere.platform.support.aas.Registry
    Implements a registry recipe for BaSyx.
    Author:
    Holger Eichelberger, SSE
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private de.iip_ecosphere.platform.support.Endpoint endpoint  
      private org.eclipse.basyx.aas.manager.ConnectedAssetAdministrationShellManager manager  
      private org.eclipse.basyx.aas.registration.api.IAASRegistry registry  
    • Constructor Summary

      Constructors 
      Constructor Description
      BaSyxRegistry​(de.iip_ecosphere.platform.support.Endpoint endpoint, org.eclipse.basyx.vab.protocol.api.IConnectorFactory connectorFactory)
      Creates a registry recipe.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void createAas​(de.iip_ecosphere.platform.support.aas.Aas aas, java.lang.String endpointURL)  
      void createSubmodel​(de.iip_ecosphere.platform.support.aas.Aas aas, de.iip_ecosphere.platform.support.aas.Submodel submodel)  
      java.util.List<java.lang.String> getAasIdentifiers()  
      java.util.List<java.lang.String> getAasIdShorts()  
      java.lang.String getEndpoint​(de.iip_ecosphere.platform.support.aas.Aas aas)  
      java.lang.String getEndpoint​(de.iip_ecosphere.platform.support.aas.Aas aas, de.iip_ecosphere.platform.support.aas.Submodel submodel)  
      java.lang.String getEndpoint​(java.lang.String aasIdShort)  
      (package private) org.eclipse.basyx.aas.registration.api.IAASRegistry getRegistry()
      Returns the internal registry instance.
      private java.util.List<java.lang.String> getStrings​(java.util.function.Function<org.eclipse.basyx.aas.metamodel.map.descriptor.AASDescriptor,​java.lang.String> func)
      Retrieves strings from registered AAS descriptors.
      private BaSyxConnectedAas obtainAas​(org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier aasId)
      Obtains an AAS for a given identifier.
      void register​(de.iip_ecosphere.platform.support.aas.Aas aas, de.iip_ecosphere.platform.support.aas.Submodel submodel, java.lang.String endpointUrl)  
      de.iip_ecosphere.platform.support.aas.Aas retrieveAas​(java.lang.String identifier)  
      de.iip_ecosphere.platform.support.aas.Submodel retrieveSubmodel​(java.lang.String aasIdentifier, java.lang.String submodelIdentifier)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • endpoint

        private de.iip_ecosphere.platform.support.Endpoint endpoint
      • registry

        private org.eclipse.basyx.aas.registration.api.IAASRegistry registry
      • manager

        private org.eclipse.basyx.aas.manager.ConnectedAssetAdministrationShellManager manager
    • Constructor Detail

      • BaSyxRegistry

        BaSyxRegistry​(de.iip_ecosphere.platform.support.Endpoint endpoint,
                      org.eclipse.basyx.vab.protocol.api.IConnectorFactory connectorFactory)
               throws java.io.IOException
        Creates a registry recipe.
        Parameters:
        endpoint - the registry endpoint
        connectorFactory - connector factory, e.g., HTTP, HTTPS
        Throws:
        java.io.IOException - if connecting the registry fails
    • Method Detail

      • retrieveAas

        public de.iip_ecosphere.platform.support.aas.Aas retrieveAas​(java.lang.String identifier)
                                                              throws java.io.IOException
        Specified by:
        retrieveAas in interface de.iip_ecosphere.platform.support.aas.Registry
        Throws:
        java.io.IOException
      • getAasIdShorts

        public java.util.List<java.lang.String> getAasIdShorts()
        Specified by:
        getAasIdShorts in interface de.iip_ecosphere.platform.support.aas.Registry
      • getAasIdentifiers

        public java.util.List<java.lang.String> getAasIdentifiers()
        Specified by:
        getAasIdentifiers in interface de.iip_ecosphere.platform.support.aas.Registry
      • getStrings

        private java.util.List<java.lang.String> getStrings​(java.util.function.Function<org.eclipse.basyx.aas.metamodel.map.descriptor.AASDescriptor,​java.lang.String> func)
        Retrieves strings from registered AAS descriptors.
        Parameters:
        func - returns the output for a given descriptor, skip descriptor if result is null
        Returns:
        the strings
      • obtainAas

        private BaSyxConnectedAas obtainAas​(org.eclipse.basyx.submodel.metamodel.api.identifier.IIdentifier aasId)
                                     throws java.io.IOException
        Obtains an AAS for a given identifier.
        Parameters:
        aasId - the AAS identifier
        Returns:
        the AAS (may be null in case that the AAS cannot be obtained)
        Throws:
        java.io.IOException - in case that the access fails
      • retrieveSubmodel

        public de.iip_ecosphere.platform.support.aas.Submodel retrieveSubmodel​(java.lang.String aasIdentifier,
                                                                               java.lang.String submodelIdentifier)
                                                                        throws java.io.IOException
        Specified by:
        retrieveSubmodel in interface de.iip_ecosphere.platform.support.aas.Registry
        Throws:
        java.io.IOException
      • createAas

        public void createAas​(de.iip_ecosphere.platform.support.aas.Aas aas,
                              java.lang.String endpointURL)
        Specified by:
        createAas in interface de.iip_ecosphere.platform.support.aas.Registry
      • createSubmodel

        public void createSubmodel​(de.iip_ecosphere.platform.support.aas.Aas aas,
                                   de.iip_ecosphere.platform.support.aas.Submodel submodel)
        Specified by:
        createSubmodel in interface de.iip_ecosphere.platform.support.aas.Registry
      • register

        public void register​(de.iip_ecosphere.platform.support.aas.Aas aas,
                             de.iip_ecosphere.platform.support.aas.Submodel submodel,
                             java.lang.String endpointUrl)
        Specified by:
        register in interface de.iip_ecosphere.platform.support.aas.Registry
      • getEndpoint

        public java.lang.String getEndpoint​(java.lang.String aasIdShort)
        Specified by:
        getEndpoint in interface de.iip_ecosphere.platform.support.aas.Registry
      • getEndpoint

        public java.lang.String getEndpoint​(de.iip_ecosphere.platform.support.aas.Aas aas)
        Specified by:
        getEndpoint in interface de.iip_ecosphere.platform.support.aas.Registry
      • getEndpoint

        public java.lang.String getEndpoint​(de.iip_ecosphere.platform.support.aas.Aas aas,
                                            de.iip_ecosphere.platform.support.aas.Submodel submodel)
        Specified by:
        getEndpoint in interface de.iip_ecosphere.platform.support.aas.Registry
      • getRegistry

        org.eclipse.basyx.aas.registration.api.IAASRegistry getRegistry()
        Returns the internal registry instance.
        Returns:
        the internal registry instance