@POST
@Consumes("multipart/form")
@Path("update-script")
public Response updateScript(MultiPartBody form, @Context UriInfo uriInfo) {
AccessController.checkPermission(new ScriptManagerAppPermission());
UriRef scriptUri =
new UriRef(form.getTextParameterValues("scriptUri")[0]);
String scriptName = form.getTextParameterValues("fileName")[0];
String scriptLanguageAndVersion =
form.getTextParameterValues("scriptLanguage")[0];
String mediaType = form.getTextParameterValues("mediaType")[0];
String producedType =
form.getTextParameterValues("producedType")[0];
String scriptCode = form.getTextParameterValues("scriptCode")[0];
ScriptLanguageDescription sld =
extractLanguageAndVersion(scriptLanguageAndVersion);
FormFile formFile =
form.getFormFileParameterValues("scriptFile")[0];
byte[] scriptFileBytes = formFile.getContent();
if (scriptFileBytes == null || (scriptFileBytes.length == 0)) {
scriptFileBytes = scriptCode.getBytes();
if(mediaType.trim().equals("")) {
mediaType = "text/plain";
}
} else {
if(mediaType.trim().equals("")) {
mediaType = formFile.getMediaType().toString();
}
scriptName = formFile.getFileName();
}
saveScript(scriptUri, scriptFileBytes, scriptName, sld.getLanguage(),
sld.getVersion(), mediaType, producedType);
return RedirectUtil.createSeeOtherResponse(
"script-overview?script="+scriptUri.getUnicodeString(),
uriInfo);
}