/**
   * Un-deploy the data sources and remove them from datasources.
   *
   * @param carbonApp - all information about the existing artifacts are in this instance.
   * @param axisConfig - AxisConfiguration of the current tenant.
   */
  @Override
  public void undeployArtifacts(CarbonApplication carbonApp, AxisConfiguration axisConfig)
      throws DeploymentException {
    if (log.isDebugEnabled()) {
      log.debug("Un-Deploying carbon application - " + carbonApp.getAppName());
    }
    ApplicationConfiguration appConfig = carbonApp.getAppConfig();
    List<Artifact.Dependency> deps = appConfig.getApplicationArtifact().getDependencies();

    List<Artifact> artifacts = new ArrayList<Artifact>();
    for (Artifact.Dependency dep : deps) {
      if (dep.getArtifact() != null) {
        artifacts.add(dep.getArtifact());
      }
    }
    deployUnDeployDataSources(false, artifacts);
  }