Merge V1.3 to HEAD (2976:3004)

svn merge svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@2976 svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3004 .


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3335 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-07-18 14:50:00 +00:00
parent 1c5f72db89
commit c0a2579654
12 changed files with 238 additions and 35 deletions

View File

@@ -16,9 +16,10 @@
*/
package org.alfresco.web.config;
import java.util.Set;
import javax.faces.context.FacesContext;
import org.alfresco.config.evaluator.Evaluator;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.namespace.QName;
import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository;
@@ -28,7 +29,7 @@ import org.alfresco.web.bean.repository.Repository;
*
* @author gavinc
*/
public class AspectEvaluator implements Evaluator
public final class AspectEvaluator implements Evaluator
{
/**
* Determines whether the given aspect is applied to the given object
@@ -37,19 +38,19 @@ public class AspectEvaluator implements Evaluator
*/
public boolean applies(Object obj, String condition)
{
boolean result = false;
if (obj instanceof Node)
{
Set aspects = ((Node)obj).getAspects();
if (aspects != null)
DictionaryService dd = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getDictionaryService();
QName aspectQName = Repository.resolveToQName(condition);
for (QName aspect : ((Node)obj).getAspects())
{
QName spaceQName = Repository.resolveToQName(condition);
result = aspects.contains(spaceQName);
if (dd.isSubClass(aspect, aspectQName) == true)
{
return true;
}
}
}
return result;
return false;
}
}