return false;
}
String errorRedirect = null;
try {
GSThemeMgtClient client =
new GSThemeMgtClient(cookie, serverURL, configurationContext, request.getLocale());
String parentPath = null;
if (formFieldsMap.get("path") != null) {
parentPath = formFieldsMap.get("path").get(0);
}
String resourceName = null;
if (formFieldsMap.get("filename") != null) {
resourceName = formFieldsMap.get("filename").get(0);
}
String mediaType = null;
if (formFieldsMap.get("mediaType") != null) {
mediaType = formFieldsMap.get("mediaType").get(0);
}
String description = null;
if (formFieldsMap.get("description") != null) {
description = formFieldsMap.get("description").get(0);
}
String redirect = null;
if (formFieldsMap.get("redirect") != null) {
redirect = formFieldsMap.get("redirect").get(0);
}
if (formFieldsMap.get("errorRedirect") != null) {
errorRedirect = formFieldsMap.get("errorRedirect").get(0);
}
String symlinkLocation = null;
if (formFieldsMap.get("symlinkLocation") != null) {
symlinkLocation = formFieldsMap.get("symlinkLocation").get(0);
}
IServerAdmin adminClient =
(IServerAdmin) CarbonUIUtil.
getServerProxy(new ServerAdminClient(configurationContext,
serverURL, cookie, session), IServerAdmin.class, session);
ServerData data = adminClient.getServerData();
String chroot = "";
if (data.getRegistryType() != null && data.getRegistryType().equals("remote") &&
data.getRemoteRegistryChroot() != null &&
!data.getRemoteRegistryChroot().equals(RegistryConstants.PATH_SEPARATOR)) {
chroot = data.getRemoteRegistryChroot();
if (!chroot.startsWith(RegistryConstants.PATH_SEPARATOR)) {
chroot = RegistryConstants.PATH_SEPARATOR + chroot;
}
if (chroot.endsWith(RegistryConstants.PATH_SEPARATOR)) {
chroot = chroot.substring(0, chroot.length() - RegistryConstants.PATH_SEPARATOR.length());
}
}
if (symlinkLocation != null) {
symlinkLocation = chroot + symlinkLocation;
}
FileItemData fileItemData = fileItemsMap.get("upload").get(0);
if ("".equals(resourceName) || resourceName == null) {
resourceName = getFileName(fileItemData.getFileItem().getName());
}
if ((fileItemData == null) || (fileItemData.getFileItem().getSize() == 0)) {
String msg = "Failed add resource. Resource content is empty.";
log.error(msg);
CarbonUIMessage.sendCarbonUIMessage(msg, CarbonUIMessage.ERROR, request);
if (errorRedirect == null) {
response.sendRedirect(
getContextRoot(request) + "/" + webContext + "/admin/error.jsp");
} else {
response.sendRedirect(
getContextRoot(request) + "/" + webContext + "/" + errorRedirect + (errorRedirect.indexOf("?")
== -1 ? "?" : "&") + "msg=" + URLEncoder.encode(msg, "UTF-8"));
}
return false;
}
DataHandler dataHandler = fileItemData.getDataHandler();
client.addResource(
calcualtePath(parentPath, resourceName), mediaType, description, dataHandler,
symlinkLocation);
response.setContentType("text/html; charset=utf-8");
String msg = "Successfully uploaded content.";