All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.axway.apim.appexport.impl.DeleteAppHandler Maven / Gradle / Ivy

package com.axway.apim.appexport.impl;

import java.util.List;

import com.axway.apim.adapter.APIManagerAdapter;
import com.axway.apim.adapter.client.apps.ClientAppFilter;
import com.axway.apim.adapter.client.apps.ClientAppFilter.Builder;
import com.axway.apim.api.model.apps.ClientApplication;
import com.axway.apim.appexport.lib.AppExportParams;
import com.axway.apim.lib.CoreParameters;
import com.axway.apim.lib.ExportResult;
import com.axway.apim.lib.error.AppException;
import com.axway.apim.lib.error.ErrorCode;
import com.axway.apim.lib.utils.Utils;
import com.axway.apim.lib.utils.rest.Console;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DeleteAppHandler extends ApplicationExporter {
	private static final Logger LOG = LoggerFactory.getLogger(DeleteAppHandler.class);

	public DeleteAppHandler(AppExportParams params, ExportResult result) {
		super(params, result);
	}

	@Override
	public void export(List apps) throws AppException {
		Console.println(apps.size() + " applications selected for deletion.");
		if(CoreParameters.getInstance().isForce()) {
			Console.println("Force flag given to delete: "+apps.size()+" Application(s)");
		} else {
			if(Utils.askYesNo("Do you wish to proceed? (Y/N)")) {
                Console.println("Okay, going to delete: " + apps.size() + " Application(s)");
            } else {
				Console.println("Canceled.");
				return;
			}
		}
		for(ClientApplication app : apps) {
			try {
				APIManagerAdapter.getInstance().getAppAdapter().deleteApplication(app);
			} catch(Exception e) {
				result.setError(ErrorCode.ERR_DELETING_ORG);
				LOG.error("Error deleting application: {}" , app.getName());
			}
		}
		Console.println("Done!");
	}

	@Override
	public ClientAppFilter getFilter() throws AppException {
		Builder builder = getBaseFilterBuilder();
		return builder.build();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy