Fixed issue with actions on manage groups dialog I introduced recently

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6922 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2007-10-05 09:00:20 +00:00
parent 219d0738ef
commit 7f31e1a888
38 changed files with 197 additions and 73 deletions

View File

@@ -684,6 +684,7 @@
<action id="delete_group"> <action id="delete_group">
<label-id>delete_group</label-id> <label-id>delete_group</label-id>
<image>/images/icons/delete_group.gif</image> <image>/images/icons/delete_group.gif</image>
<evaluator>org.alfresco.web.action.evaluator.GroupActionEvaluator</evaluator>
<action>dialog:deleteGroup</action> <action>dialog:deleteGroup</action>
<action-listener>#{DialogManager.setupParameters}</action-listener> <action-listener>#{DialogManager.setupParameters}</action-listener>
<params> <params>
@@ -696,6 +697,7 @@
<action id="add_group_user"> <action id="add_group_user">
<label-id>add_user</label-id> <label-id>add_user</label-id>
<image>/images/icons/add_user.gif</image> <image>/images/icons/add_user.gif</image>
<evaluator>org.alfresco.web.action.evaluator.GroupActionEvaluator</evaluator>
<action>dialog:addUsers</action> <action>dialog:addUsers</action>
<action-listener>#{DialogManager.setupParameters}</action-listener> <action-listener>#{DialogManager.setupParameters}</action-listener>
<params> <params>

View File

@@ -47,4 +47,14 @@ public interface ActionEvaluator
* @return result of whether the action can proceed. * @return result of whether the action can proceed.
*/ */
public boolean evaluate(Node node); public boolean evaluate(Node node);
/**
* The evaluator should decide if the action precondition is valid based on the appropriate
* logic and the state etc. of the given object and return the result.
*
* @param obj The object the action is for
*
* @return result of whether the action can proceed.
*/
public boolean evaluate(Object obj);
} }

View File

@@ -28,7 +28,6 @@ import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.ml.MultilingualContentService; import org.alfresco.service.cmr.ml.MultilingualContentService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.UserPreferencesBean; import org.alfresco.web.bean.UserPreferencesBean;
import org.alfresco.web.bean.ml.MultilingualUtils; import org.alfresco.web.bean.ml.MultilingualUtils;
@@ -45,8 +44,11 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Yannick Pignot * @author Yannick Pignot
*/ */
public class AddTranslationEvaluator implements ActionEvaluator public class AddTranslationEvaluator extends BaseActionEvaluator
{ {
/**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)
*/
public boolean evaluate(Node node) public boolean evaluate(Node node)
{ {
boolean isNodeMultililingal = node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT); boolean isNodeMultililingal = node.hasAspect(ContentModel.ASPECT_MULTILINGUAL_DOCUMENT);

View File

@@ -24,7 +24,6 @@
*/ */
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -32,7 +31,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class ApproveDocEvaluator implements ActionEvaluator public class ApproveDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -25,7 +25,6 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -33,7 +32,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class ApproveNonDraftDocEvaluator implements ActionEvaluator public class ApproveNonDraftDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -0,0 +1,59 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.action.evaluator;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node;
/**
* Base class for all action evaluators.
*
* @author gavinc
*/
public class BaseActionEvaluator implements ActionEvaluator
{
public boolean evaluate(Node node)
{
// Allow the action by default
return true;
}
public boolean evaluate(Object obj)
{
// if a Node object is passed to this method call
// the explicit evaluate(Node) method otherwise
// allow the action by default.
if (obj instanceof Node)
{
return evaluate((Node)obj);
}
else
{
return true;
}
}
}

View File

@@ -26,7 +26,6 @@ package org.alfresco.web.action.evaluator;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -34,7 +33,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class CancelCheckoutDocEvaluator implements ActionEvaluator public class CancelCheckoutDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -31,7 +31,6 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.workflow.WorkflowTask; import org.alfresco.service.cmr.workflow.WorkflowTask;
import org.alfresco.util.ISO9075; import org.alfresco.util.ISO9075;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -44,7 +43,7 @@ import org.alfresco.web.bean.repository.User;
* *
* @author gavinc * @author gavinc
*/ */
public class CancelWorkflowEvaluator implements ActionEvaluator public class CancelWorkflowEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -26,7 +26,6 @@ package org.alfresco.web.action.evaluator;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -34,7 +33,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class CheckinDocEvaluator implements ActionEvaluator public class CheckinDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -29,7 +29,6 @@ import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -38,7 +37,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class CheckoutDocEvaluator implements ActionEvaluator public class CheckoutDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -29,7 +29,6 @@ import javax.faces.context.FacesContext;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.NavigationBean; import org.alfresco.web.bean.NavigationBean;
@@ -41,7 +40,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class CreateFormEvaluator implements ActionEvaluator public class CreateFormEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -25,7 +25,6 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.model.ForumModel; import org.alfresco.model.ForumModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -33,7 +32,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class CreateForumNodeEvaluator implements ActionEvaluator public class CreateForumNodeEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -28,9 +28,7 @@ import javax.faces.context.FacesContext;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.NavigationBean; import org.alfresco.web.bean.NavigationBean;
@@ -42,7 +40,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class CreateWebProjectEvaluator implements ActionEvaluator public class CreateWebProjectEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -27,7 +27,6 @@ package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.ml.MultilingualUtils; import org.alfresco.web.bean.ml.MultilingualUtils;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -45,7 +44,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Yannick Pignot * @author Yannick Pignot
*/ */
public class CutNodeEvaluator implements ActionEvaluator public class CutNodeEvaluator extends BaseActionEvaluator
{ {
public boolean evaluate(Node node) public boolean evaluate(Node node)
{ {

View File

@@ -28,7 +28,6 @@ import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.ml.MultilingualContentService; import org.alfresco.service.cmr.ml.MultilingualContentService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.ml.MultilingualUtils; import org.alfresco.web.bean.ml.MultilingualUtils;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -38,7 +37,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class DeleteDocEvaluator implements ActionEvaluator public class DeleteDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -32,7 +32,6 @@ import org.alfresco.model.ForumModel;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.RegexQNamePattern; import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -41,7 +40,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class DiscussNodeEvaluator implements ActionEvaluator public class DiscussNodeEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -31,7 +31,6 @@ import org.alfresco.model.ForumModel;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -42,7 +41,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author gavinc * @author gavinc
*/ */
public class DiscussionCopyEvaluator implements ActionEvaluator public class DiscussionCopyEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -26,12 +26,10 @@ package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel;
import org.alfresco.model.ForumModel; import org.alfresco.model.ForumModel;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;

View File

@@ -30,7 +30,6 @@ import org.alfresco.model.ApplicationModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -40,7 +39,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class EditDocCIFSEvaluator implements ActionEvaluator public class EditDocCIFSEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -30,7 +30,6 @@ import org.alfresco.model.ApplicationModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -40,7 +39,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class EditDocHttpEvaluator implements ActionEvaluator public class EditDocHttpEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -30,7 +30,6 @@ import org.alfresco.model.ApplicationModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -40,7 +39,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class EditDocWebDavEvaluator implements ActionEvaluator public class EditDocWebDavEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -23,8 +23,6 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.model.WCMAppModel; import org.alfresco.model.WCMAppModel;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -32,7 +30,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Ariel Backenroth * @author Ariel Backenroth
*/ */
public class EditFormEvaluator implements ActionEvaluator public class EditFormEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -31,7 +31,6 @@ import org.alfresco.model.ForumModel;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -40,7 +39,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class ForumsCheckinDocEvaluator implements ActionEvaluator public class ForumsCheckinDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -0,0 +1,66 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.web.action.evaluator;
import java.util.Map;
import org.alfresco.web.bean.groups.GroupsDialog;
/**
* Evaluator that determines whether the add group user action should
* be visible - only visible when the dialog is not showing the root
* group.
*
* @author Gavin Cornwell
*/
public class GroupActionEvaluator extends BaseActionEvaluator
{
@Override
public boolean evaluate(Object obj)
{
boolean result = true;
if (obj instanceof GroupsDialog)
{
// if the object is the GroupsDialog check whether the group is null,
// if it is it represents the root group so disallow the action
result = (((GroupsDialog)obj).getGroup() != null);
}
else if (obj instanceof Map)
{
// if the object is a Map retrieve the group and check for null,
// if it is it represents the root group so disallow the action
Object group = ((Map)obj).get(GroupsDialog.PARAM_GROUP);
result = (group != null);
}
else
{
result = super.evaluate(obj);
}
return result;
}
}

View File

@@ -27,7 +27,6 @@ package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.UserPreferencesBean; import org.alfresco.web.bean.UserPreferencesBean;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -39,7 +38,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Yannick Pignot * @author Yannick Pignot
*/ */
public class MakeMultilingualEvaluator implements ActionEvaluator public class MakeMultilingualEvaluator extends BaseActionEvaluator
{ {
public boolean evaluate(Node node) public boolean evaluate(Node node)
{ {

View File

@@ -25,7 +25,6 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -35,7 +34,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Yannick Pignot * @author Yannick Pignot
*/ */
public class MultilingualDetailsEvaluator implements ActionEvaluator public class MultilingualDetailsEvaluator extends BaseActionEvaluator
{ {
public boolean evaluate(Node node) public boolean evaluate(Node node)
{ {

View File

@@ -26,7 +26,6 @@ package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.ml.MultilingualUtils; import org.alfresco.web.bean.ml.MultilingualUtils;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -38,7 +37,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Yanick Pignot * @author Yanick Pignot
*/ */
public class NewEditionEvaluator implements ActionEvaluator public class NewEditionEvaluator extends BaseActionEvaluator
{ {
public boolean evaluate(Node node) public boolean evaluate(Node node)
{ {

View File

@@ -24,11 +24,10 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.model.WCMAppModel; import org.alfresco.model.WCMAppModel;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.Path; import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.NavigationBean; import org.alfresco.web.bean.NavigationBean;
@@ -40,7 +39,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Ariel Backenroth * @author Ariel Backenroth
*/ */
public class RegenerateRenditionsEvaluator implements ActionEvaluator public class RegenerateRenditionsEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -24,7 +24,6 @@
*/ */
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -32,7 +31,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class RejectDocEvaluator implements ActionEvaluator public class RejectDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -25,7 +25,6 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -33,7 +32,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class RejectNonDraftDocEvaluator implements ActionEvaluator public class RejectNonDraftDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -26,7 +26,6 @@ package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.NavigationBean; import org.alfresco.web.bean.NavigationBean;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -36,7 +35,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class ShortcutNodeEvaluator implements ActionEvaluator public class ShortcutNodeEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -27,7 +27,6 @@ package org.alfresco.web.action.evaluator;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.NavigationBean; import org.alfresco.web.bean.NavigationBean;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -37,7 +36,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author gavinc * @author gavinc
*/ */
public class StartWorkflowEvaluator implements ActionEvaluator public class StartWorkflowEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -24,7 +24,6 @@
*/ */
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -32,7 +31,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class TakeOwnershipDocEvaluator implements ActionEvaluator public class TakeOwnershipDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -24,7 +24,6 @@
*/ */
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
/** /**
@@ -32,7 +31,7 @@ import org.alfresco.web.bean.repository.Node;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class UnlockDocEvaluator implements ActionEvaluator public class UnlockDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -28,7 +28,6 @@ import javax.faces.context.FacesContext;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
@@ -37,7 +36,7 @@ import org.alfresco.web.bean.repository.Repository;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class UpdateDocEvaluator implements ActionEvaluator public class UpdateDocEvaluator extends BaseActionEvaluator
{ {
/** /**
* @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node) * @see org.alfresco.web.action.ActionEvaluator#evaluate(org.alfresco.web.bean.repository.Node)

View File

@@ -28,7 +28,6 @@ import javax.faces.context.FacesContext;
import org.alfresco.repo.avm.AVMNodeConverter; import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.service.cmr.avm.locking.AVMLockingService; import org.alfresco.service.cmr.avm.locking.AVMLockingService;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -42,7 +41,7 @@ import org.alfresco.web.bean.wcm.WebProject;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class WCMLockEvaluator implements ActionEvaluator public class WCMLockEvaluator extends BaseActionEvaluator
{ {
/** /**
* @return true if the item is not locked by another user * @return true if the item is not locked by another user

View File

@@ -25,7 +25,6 @@
package org.alfresco.web.action.evaluator; package org.alfresco.web.action.evaluator;
import org.alfresco.repo.avm.AVMNodeConverter; import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.wcm.AVMUtil; import org.alfresco.web.bean.wcm.AVMUtil;
@@ -34,7 +33,7 @@ import org.alfresco.web.bean.wcm.AVMUtil;
* *
* @author Kevin Roast * @author Kevin Roast
*/ */
public class WCMStagingReadonlyEvaluator implements ActionEvaluator public class WCMStagingReadonlyEvaluator extends BaseActionEvaluator
{ {
/** /**
* @return true if the item is not locked by another user * @return true if the item is not locked by another user

View File

@@ -24,10 +24,12 @@
*/ */
package org.alfresco.web.ui.repo.component.evaluator; package org.alfresco.web.ui.repo.component.evaluator;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding; import javax.faces.el.ValueBinding;
import org.alfresco.config.ConfigException;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.web.action.ActionEvaluator; import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
@@ -56,12 +58,30 @@ public class ActionInstanceEvaluator extends BaseEvaluator
{ {
result = this.getEvaluator().evaluate((Node)obj); result = this.getEvaluator().evaluate((Node)obj);
} }
else
{
result = this.getEvaluator().evaluate(obj);
}
} }
catch (Exception err) catch (Exception err)
{ {
// return default value on error // return default value on error and report meaningful error
s_logger.warn("Error during ActionInstanceEvaluator evaluation of " + this.getEvaluator() + StringBuilder builder = new StringBuilder("Error during ActionInstanceEvaluator evaluation of ");
": " + err.getMessage()); builder.append(this.getEvaluator()).append(": ");
String msg = err.getMessage();
if (msg != null)
{
builder.append(msg);
}
else
{
StringWriter strWriter = new StringWriter();
PrintWriter writer = new PrintWriter(strWriter);
err.printStackTrace(writer);
builder.append(strWriter.toString());
}
s_logger.warn(builder.toString());
} }
return result; return result;