public void saveSiteletOrder(String containerName, List<Long> siteletIds) {
   int order = 0;
   for (Long siteletId : siteletIds) {
     SiteletProperties item = SiteletProperties.get(siteletId);
     item.order = order;
     item.update();
     order++;
   }
   clearContainerCache(containerName);
   SiteletProperties.broadcast(containerName, null);
 }
 public void deleteSitelets(String containerName, List<Long> ids) {
   for (Long id : ids) {
     SiteletProperties item = SiteletProperties.get(id);
     try {
       Model m = getSiteletEntity(item);
       if (m != null) {
         m.delete();
       }
     } catch (Exception e) {
       // expected when data model changes
       Logger.info(
           "Trying to delete missing sitelet entity: "
               + item.entityTypeClassName
               + " "
               + item.entityId);
     }
     item.delete();
   }
   clearContainerCache(containerName);
   SiteletProperties.broadcast(containerName, null);
 }
 public SiteletDescription getSitelet(Long id) {
   SiteletProperties item = SiteletProperties.get(id);
   return new SiteletDescription(item.entityTypeClassName, item.entityId, item.describe());
 }