/* * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * * This file is part of jAPS software. * jAPS is a free software; * you can redistribute it and/or modify it * under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2. * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2005 AgileTec s.r.l. (http://www.agiletec.it) All rights reserved. * */ package com.agiletec.plugins.jacms.apsadmin.content.helper; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import com.agiletec.aps.system.common.entity.model.EntitySearchFilter; import com.agiletec.aps.system.exception.ApsSystemException; import com.agiletec.aps.system.services.group.Group; import com.agiletec.aps.system.services.user.UserDetails; import com.agiletec.apsadmin.system.entity.IEntityActionHelper; import com.agiletec.plugins.jacms.aps.system.services.content.model.Content; import com.opensymphony.xwork2.ActionSupport; /** * Interfaccia per gli Helper della ContentAction. * @author E.Santoboni */ public interface IContentActionHelper extends IEntityActionHelper { /** * Update the content through the current request. * @param content The content to update. * @param request The request. * @deprecated use updateEntity */ public void updateContent(Content content, HttpServletRequest request); public List<Group> getAllowedGroups(UserDetails currentUser); /** * Effettua la scansione del contenuto. * Il metodo verifica tutti gli errori presenti all'interno del contenuto inserendo, * nell'action specificata, i messaggi di errore appositi per gli errori riscontrati. * @param content Il contenuto da analizzare. * @param action La action all'interno del quale inserire gli * eventuali errori riscontrati sul contenuto. * @deprecated use scanEntity */ public void scanContent(Content content, ActionSupport action); /** * Controlla le referenziazioni di un contenuto. Verifica la referenziazione di un contenuto con altri contenuti o pagine nel caso * di operazioni di ripubblicazione di contenuti non del gruppo ad accesso libero. * L'operazione si rende necessaria per ovviare a casi nel cui il contenuto, di un particolare gruppo, sia stato * pubblicato precedentemente in una pagina o referenziato in un'altro contenuto grazie alla associazione di questo con * altri gruppi abilitati alla visualizzazione. Il controllo evidenzia quali devono essere i gruppi al quale il contenuto * deve essere necessariamente associato (ed il perchè) per salvaguardare le precedenti relazioni. * @param content Il contenuto da analizzare. * @param action L'action da valorizzare con i messaggi di errore. * @return I messaggi di errore relativi alle eventuali referenziazioni errate. * @throws ApsSystemException In caso di errore. */ public void scanReferences(Content content, ActionSupport action) throws ApsSystemException; /** * Verifica che l'utente corrente possegga * i diritti di accesso al contenuto selezionato. * @param content Il contenuto. * @param currentUser Il contenuto corrente. * @return True nel caso che l'utente corrente abbia i permessi * di lettura/scrittura sul contenuto, false in caso contrario. */ public boolean isUserAllowed(Content content, UserDetails currentUser); public Map getReferencingObjects(Content content, HttpServletRequest request) throws ApsSystemException; public EntitySearchFilter getOrderFilter(String groupBy, String lastOrder); }