private Response updateSite(FormData form) { String title = form.getString("dc:title"); String url = form.getString("webc:url"); String description = form.getString("dc:description"); String piwikId = form.getString("piwik:piwikId"); String siteTemplateStr = form.getString("labssite:siteTemplate"); String category = form.getString("labssite:category"); boolean modified = false; try { if (!StringUtils.isEmpty(title)) { site.setTitle(title); modified = true; } if (!StringUtils.isEmpty(description)) { site.setDescription(description); modified = true; } if (!StringUtils.isEmpty(category)) { site.setCategory(category); modified = true; } String oldUrl = site.getURL(); url = StringUtils.trim(url); if (!StringUtils.isEmpty(url) && !url.equals(oldUrl)) { site.setURL(url); modified = true; } String oldPiwikId = site.getPiwikId(); piwikId = StringUtils.trim(piwikId); if (!StringUtils.equals(piwikId, oldPiwikId)) { site.setPiwikId(piwikId); modified = true; } boolean isSiteTemplate = BooleanUtils.toBoolean(siteTemplateStr); if (site.isElementTemplate() != isSiteTemplate) { site.setElementTemplate(isSiteTemplate); modified = true; } if (isSiteTemplate) { if (form.isMultipartContent()) { Blob preview = form.getBlob("labssite:siteTemplatePreview"); if (preview != null && !StringUtils.isEmpty(preview.getFilename())) { site.setElementPreview(preview); modified = true; } } } /* else { Blob siteTemplatePreview = null; try { siteTemplatePreview = site.getSiteTemplatePreview(); } catch (ClientException e) { throw WebException.wrap(e); } if (siteTemplatePreview != null) { site.setElementPreview(null); modified = true; } }*/ String msgLabel = "label.labssites.edit.noop"; if (modified) { CoreSession session = ctx.getCoreSession(); getSiteManager().updateSite(session, site); session.save(); msgLabel = "label.labssites.edit.site.updated"; } return redirect( ctx.getModulePath() + "/" + URIUtils.quoteURIPathComponent(site.getURL(), true) + "/@views/edit?message_success=" + msgLabel); } catch (SiteManagerException e) { return redirect(getPath() + "/@views/edit?message_error=" + e.getMessage()); } catch (ClientException e) { throw WebException.wrap(e); } }