@Override public void undeployArtifacts( CarbonApplication carbonApplication, AxisConfiguration axisConfiguration) throws DeploymentException { if (Boolean.getBoolean(Constants.DISABLE_ANALYTICS_DATA_PURGING_JVM_OPTION)) { return; } List<Artifact.Dependency> artifacts = carbonApplication.getAppConfig().getApplicationArtifact().getDependencies(); for (Artifact.Dependency dep : artifacts) { Artifact artifact = dep.getArtifact(); if (artifact == null) { continue; } if (TYPE.equals(artifact.getType())) { List<CappFile> files = artifact.getFiles(); if (files.size() != 1) { log.error( "Purging artifact must have a single XML file to be deployed. But " + files.size() + " " + "files found"); continue; } if (AppDeployerConstants.DEPLOYMENT_STATUS_DEPLOYED.equals( artifact.getDeploymentStatus())) { String fileName = artifact.getFiles().get(0).getName(); fileName = GenericUtils.checkAndReturnPath(fileName); String artifactPath = artifact.getExtractedPath() + File.separator + fileName; deletePurgingTasks(artifactPath); artifact.setDeploymentStatus(AppDeployerConstants.DEPLOYMENT_STATUS_PENDING); } } } }
public void undeployArtifacts(CarbonApplication carbonApp, AxisConfiguration axisConfig) { List<Artifact.Dependency> artifacts = carbonApp.getAppConfig().getApplicationArtifact().getDependencies(); for (Artifact.Dependency dep : artifacts) { EventProcessingDeployer deployer; Artifact artifact = dep.getArtifact(); if (artifact == null) { continue; } deployer = getDeployer(artifact, axisConfig); List<CappFile> files = artifact.getFiles(); if (files.size() != 1) { log.error("Artifact must have only a single file. But " + files.size() + " files found."); continue; } if (deployer != null && AppDeployerConstants.DEPLOYMENT_STATUS_DEPLOYED.equals( artifact.getDeploymentStatus())) { String fileName = artifact.getFiles().get(0).getName(); String artifactPath = artifact.getExtractedPath() + File.separator + fileName; try { deployer.processUndeployment(artifactPath); artifact.setDeploymentStatus(AppDeployerConstants.DEPLOYMENT_STATUS_PENDING); File artifactFile = new File(artifactPath); if (artifactFile.exists() && !artifactFile.delete()) { log.warn("Couldn't delete App artifact file : " + artifactPath); } } catch (Exception e) { artifact.setDeploymentStatus(AppDeployerConstants.DEPLOYMENT_STATUS_FAILED); log.error( "Error occured while trying to undeploy : " + artifact.getName() + " due to " + e.getMessage(), e); } } } }
/** * Check the artifact type and if it is a Gadget, delete the file from the Gadget deployment hot * folder * * @param carbonApp - CarbonApplication instance to check for Gadget artifacts * @param axisConfig - AxisConfiguration of the current tenant */ public void undeployArtifacts(CarbonApplication carbonApp, AxisConfiguration axisConfig) { List<Artifact.Dependency> artifacts = carbonApp.getAppConfig().getApplicationArtifact().getDependencies(); for (Artifact.Dependency dep : artifacts) { Deployer deployer; Artifact artifact = dep.getArtifact(); if (artifact == null) { continue; } if (GADGET_TYPE.equals(artifact.getType())) { deployer = AppDeployerUtils.getArtifactDeployer(axisConfig, GADGET_DIR, "gar"); } else { continue; } List<CappFile> files = artifact.getFiles(); if (files.size() != 1) { log.error("A Gadget must have a single .gar file. But " + files.size() + " files found."); continue; } if (deployer != null && AppDeployerConstants.DEPLOYMENT_STATUS_DEPLOYED.equals( artifact.getDeploymentStatus())) { String fileName = artifact.getFiles().get(0).getName(); String artifactPath = artifact.getExtractedPath() + File.separator + fileName; try { deployer.undeploy(artifactPath); artifact.setDeploymentStatus(AppDeployerConstants.DEPLOYMENT_STATUS_PENDING); File artifactFile = new File(artifactPath); if (artifactFile.exists() && !artifactFile.delete()) { log.warn("Couldn't delete App artifact file : " + artifactPath); } } catch (DeploymentException e) { artifact.setDeploymentStatus(AppDeployerConstants.DEPLOYMENT_STATUS_FAILED); log.error("Error occured while trying to un deploy : " + artifact.getName()); } } } }