Class AssetsImpl

  • All Implemented Interfaces:
    AssetsAPI

    public class AssetsImpl
    extends Object
    implements AssetsAPI
    Implementation of AssetsAPI
    • Constructor Detail

      • AssetsImpl

        public AssetsImpl​(OceanManager oceanManager,
                          AssetsManager assetsManager)
        Constructor
        Parameters:
        oceanManager - the oceanManager
        assetsManager - the assetsManager
    • Method Detail

      • create

        public DDO create​(AssetMetadata metadata,
                          ProviderConfig providerConfig,
                          int threshold)
                   throws DDOException
        Description copied from interface: AssetsAPI
        Creates a new DDO, registering it on-chain through DidRegistry contract and off-chain in Aquarius
        Specified by:
        create in interface AssetsAPI
        Parameters:
        metadata - the metadata of the DDO
        providerConfig - the endpoints of the DDO's services
        threshold - the secret store threshold
        Returns:
        an instance of the DDO created
        Throws:
        DDOException - DDOException
      • create

        public DDO create​(AssetMetadata metadata,
                          ProviderConfig providerConfig)
                   throws DDOException
        Description copied from interface: AssetsAPI
        Creates a new DDO, registering it on-chain through DidRegistry contract and off-chain in Aquarius
        Specified by:
        create in interface AssetsAPI
        Parameters:
        metadata - the metadata of the DDO
        providerConfig - the endpoints of the DDO's services
        Returns:
        an instance of the DDO created
        Throws:
        DDOException - DDOException
      • search

        public SearchResult search​(String text,
                                   int offset,
                                   int page)
                            throws DDOException
        Description copied from interface: AssetsAPI
        Gets all the DDOs that match the search criteria
        Specified by:
        search in interface AssetsAPI
        Parameters:
        text - the criteria
        offset - parameter to paginate
        page - parameter to paginate
        Returns:
        a List with all the DDOs found
        Throws:
        DDOException - DDOException
      • query

        public SearchResult query​(Map<String,​Object> params,
                                  int offset,
                                  int page,
                                  int sort)
                           throws DDOException
        Description copied from interface: AssetsAPI
        Gets all the DDOs that match the parameters of the query
        Specified by:
        query in interface AssetsAPI
        Parameters:
        params - the criteria
        offset - parameter to paginate
        page - parameter to paginate
        sort - parameter to sort
        Returns:
        a List with all the DDOs found
        Throws:
        DDOException - DDOException
      • consume

        public Boolean consume​(String serviceAgreementId,
                               DID did,
                               String serviceDefinitionId,
                               String basePath,
                               int threshold)
                        throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Downloads an Asset previously ordered through a Service Agreement
        Specified by:
        consume in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        basePath - the path where the asset will be downloaded
        threshold - secret store threshold to decrypt the urls of the asset
        Returns:
        a flag that indicates if the consume flow was executed correctly
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consume

        public Boolean consume​(String serviceAgreementId,
                               DID did,
                               String serviceDefinitionId,
                               String basePath)
                        throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Downloads an Asset previously ordered through a Service Agreement
        Specified by:
        consume in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        basePath - the path where the asset will be downloaded
        Returns:
        a flag that indicates if the consume flow was executed correctly
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consume

        public Boolean consume​(String serviceAgreementId,
                               DID did,
                               String serviceDefinitionId,
                               Integer index,
                               String basePath)
                        throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Downloads a single file of an Asset previously ordered through a Service Agreement
        Specified by:
        consume in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        index - of the file inside the files definition in metadata
        basePath - the path where the asset will be downloaded
        Returns:
        a flag that indicates if the consume flow was executed correctly
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consume

        public Boolean consume​(String serviceAgreementId,
                               DID did,
                               String serviceDefinitionId,
                               Integer index,
                               String basePath,
                               int threshold)
                        throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Downloads a single file of an Asset previously ordered through a Service Agreement
        Specified by:
        consume in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        index - of the file inside the files definition in metadata
        basePath - the path where the asset will be downloaded
        threshold - secret store threshold to decrypt the urls of the asset
        Returns:
        a flag that indicates if the consume flow was executed correctly
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        public InputStream consumeBinary​(String serviceAgreementId,
                                         DID did,
                                         String serviceDefinitionId,
                                         Integer index)
                                  throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Gets the input stream of one file of the asset
        Specified by:
        consumeBinary in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        index - the index of the file
        Returns:
        the input stream wit the binary content of the file
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        public InputStream consumeBinary​(String serviceAgreementId,
                                         DID did,
                                         String serviceDefinitionId,
                                         Integer index,
                                         int threshold)
                                  throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Gets the input stream of one file of the asset
        Specified by:
        consumeBinary in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        index - the index of the file
        threshold - secret store threshold to decrypt the urls of the asset
        Returns:
        the input stream wit the binary content of the file
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        public InputStream consumeBinary​(String serviceAgreementId,
                                         DID did,
                                         String serviceDefinitionId,
                                         Integer index,
                                         Integer rangeStart,
                                         Integer rangeEnd)
                                  throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Gets a range of bytes of the input stream of one file of the asset
        Specified by:
        consumeBinary in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        index - the index of the file
        rangeStart - the start of the bytes range
        rangeEnd - the end of the bytes range
        Returns:
        the input stream wit the binary content of the specified range
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • consumeBinary

        public InputStream consumeBinary​(String serviceAgreementId,
                                         DID did,
                                         String serviceDefinitionId,
                                         Integer index,
                                         Integer rangeStart,
                                         Integer rangeEnd,
                                         int threshold)
                                  throws ConsumeServiceException
        Description copied from interface: AssetsAPI
        Gets a range of bytes of the input stream of one file of the asset
        Specified by:
        consumeBinary in interface AssetsAPI
        Parameters:
        serviceAgreementId - the service agreement id of the asset
        did - the did
        serviceDefinitionId - the service definition id
        index - the index of the file
        rangeStart - the start of the bytes range
        rangeEnd - the end of the bytes range
        threshold - secret store threshold to decrypt the urls of the asset
        Returns:
        the input stream wit the binary content of the specified range
        Throws:
        ConsumeServiceException - ConsumeServiceException
      • order

        public io.reactivex.Flowable<OrderResult> order​(DID did,
                                                        String serviceDefinitionId)
                                                 throws OrderException
        Description copied from interface: AssetsAPI
        Purchases an Asset represented by a DID. It implies to initialize a Service Agreement between publisher and consumer
        Specified by:
        order in interface AssetsAPI
        Parameters:
        did - the did of the DDO
        serviceDefinitionId - the service definition id
        Returns:
        a Flowable instance over an OrderResult to get the result of the flow in an asynchronous fashion
        Throws:
        OrderException - OrderException
      • retire

        public Boolean retire​(DID did)
                       throws DDOException
        Description copied from interface: AssetsAPI
        Retire this did of Aquarius
        Specified by:
        retire in interface AssetsAPI
        Parameters:
        did - the did
        Returns:
        a flag that indicates if the action was executed correctly
        Throws:
        DDOException - DDOException
      • owner

        public String owner​(DID did)
                     throws Exception
        Description copied from interface: AssetsAPI
        Return the owner of the asset.
        Specified by:
        owner in interface AssetsAPI
        Parameters:
        did - the did
        Returns:
        the ethereum address of the owner/publisher of given asset did
        Throws:
        Exception - Exception