Class TenantProvisioningService

java.lang.Object
io.meeds.tenant.provisioning.service.TenantProvisioningService

@Component public class TenantProvisioningService extends Object
  • Field Details

  • Constructor Details

    • TenantProvisioningService

      public TenantProvisioningService()
  • Method Details

    • getTenants

      public List<io.meeds.deeds.elasticsearch.model.DeedTenant> getTenants(io.meeds.deeds.constant.TenantProvisioningStatus provisioningStatus, boolean includeCompleted, int limit)
    • getTenantsCount

      public long getTenantsCount(io.meeds.deeds.constant.TenantProvisioningStatus provisioningStatus, boolean includeCompleted)
    • startTenant

      public void startTenant(long nftId, String transactionHash, boolean confirmed) throws io.meeds.deeds.constant.ObjectNotFoundException
      Sends a Start Tenant Task for ITOP to start a new Tenant
      Parameters:
      nftId - NFT Deed ID
      transactionHash - Blockchain Transaction Hash to command provisioning
      confirmed - whether provisioning transaction has been confirmed or not
      Throws:
      io.meeds.deeds.constant.ObjectNotFoundException - When Deed NFT with designated ID wasn't found
    • stopTenant

      public void stopTenant(long nftId, String transactionHash, boolean confirmed) throws io.meeds.deeds.constant.ObjectNotFoundException
      Sends a Stop Tenant Task for ITOP to undeploy existing Tenant
      Parameters:
      nftId - NFT Deed ID
      transactionHash - Blockchain Transaction Hash to command provisioning
      confirmed - whether provisioning transaction has been confirmed or not
      Throws:
      io.meeds.deeds.constant.ObjectNotFoundException - When Deed NFT with designated ID wasn't found
    • cancelTenantProvisioning

      public void cancelTenantProvisioning(long nftId, String transactionHash)
      Cancels Provisioning Task because the transaction failed for example
      Parameters:
      nftId - NFT ID
      transactionHash - Provisioning command Transaction Hash
    • saveDeedTenantStatus

      public void saveDeedTenantStatus(long nftId, io.meeds.deeds.constant.TenantStatus tenantStatus) throws io.meeds.deeds.constant.ObjectNotFoundException
      Throws:
      io.meeds.deeds.constant.ObjectNotFoundException
    • changeDeedTenantCompletedStatus

      public void changeDeedTenantCompletedStatus(long taskId, boolean completed)
    • isTransactionAlreadyConfirmed

      public boolean isTransactionAlreadyConfirmed(String transactionHash, long nftId)
    • isManager

      public boolean isManager(String userName)
    • getPendingTransactions

      public List<io.meeds.deeds.elasticsearch.model.DeedTenant> getPendingTransactions()
    • saveDeedTenant

      public io.meeds.deeds.elasticsearch.model.DeedTenant saveDeedTenant(io.meeds.deeds.elasticsearch.model.DeedTenant minedDeedTenantTransaction)
    • isDeedExists

      public boolean isDeedExists(long nftId)
    • getManagers

      public Set<String> getManagers()
    • getManagerEmail

      public String getManagerEmail(long nftId) throws io.meeds.deeds.constant.ObjectNotFoundException
      Throws:
      io.meeds.deeds.constant.ObjectNotFoundException