package org.wso2.carbon.mediation.artifactuploader.ui; import org.wso2.carbon.CarbonConstants; import org.wso2.carbon.CarbonException; import org.wso2.carbon.ui.transports.fileupload.AbstractFileUploadExecutor; import org.wso2.carbon.utils.FileItemData; import org.wso2.carbon.utils.ServerConstants; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * SynapseArtifactUPloader handles hot uploading synapse artifacts */ public class SynapseArtifactUploadExecutor extends AbstractFileUploadExecutor { @Override public boolean execute(HttpServletRequest request, HttpServletResponse response) throws CarbonException, IOException { String webContext = (String) request.getAttribute(CarbonConstants.WEB_CONTEXT); String serverURL = (String) request.getAttribute(CarbonConstants.SERVER_URL); String cookie = (String) request.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE); Map<String, ArrayList<FileItemData>> fileItemsMap = getFileItemsMap(); if (fileItemsMap == null || fileItemsMap.isEmpty()) { String msg = "Artifact uploading failed. No file specified."; log.error(msg); return false; } SynapseArtifactUploaderClient client = new SynapseArtifactUploaderClient(cookie, serverURL, configurationContext, request.getLocale()); List<FileItemData> fileItemDataList = fileItemsMap.get("synapseArtifactName"); for (FileItemData fileData : fileItemDataList) { client.uploadArtifact(getFileName(fileData.getFileItem().getName()), fileData.getDataHandler()); log.info("Uploaded Artifact : " + fileData.getFileItem().getName()); response.sendRedirect("../" + webContext + "/artifactuploader/index.jsp?ordinal=1"); return true; } return false; } }