Example #1
0
 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);
   }
 }