URLEncoder.encode(msg, "UTF-8"));
}
return false;
}
}
ResourceServiceClient client =
new ResourceServiceClient(cookie, serverURL, configurationContext);
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);
}
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 = null;
String chroot = "";
try {
data = adminClient.getServerData();
} catch (Exception ignored) {
// If we can't get server data the chroot cannot be determined.
chroot = null;
}
if (data != null && 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 (chroot == null) {
symlinkLocation = null;
log.debug("Unable to determine chroot. Symbolic Link cannot be created");
}
if (symlinkLocation != null) {
symlinkLocation = chroot + symlinkLocation;
}
FileItemData fileItemData = fileItemsMap.get("upload").get(0);
if ((fileItemData == null) || (fileItemData.getFileItem().getSize() == 0)) {
String msg = "Failed add resource. Resource content is empty.";
log.error(msg);
buildUIError(request, response, webContext, errorRedirect, msg);
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.";