mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
. Aspect API added to Version History nodes
- hasAspect() and aspects set git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4769 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -69,7 +69,7 @@ public class TemplateNode implements Serializable
|
|||||||
|
|
||||||
private static Log logger = LogFactory.getLog(TemplateNode.class);
|
private static Log logger = LogFactory.getLog(TemplateNode.class);
|
||||||
|
|
||||||
private final static String NAMESPACE_BEGIN = "" + QName.NAMESPACE_BEGIN;
|
protected final static String NAMESPACE_BEGIN = "" + QName.NAMESPACE_BEGIN;
|
||||||
protected final static String CONTENT_DEFAULT_URL = "/download/direct/{0}/{1}/{2}/{3}";
|
protected final static String CONTENT_DEFAULT_URL = "/download/direct/{0}/{1}/{2}/{3}";
|
||||||
private final static String CONTENT_PROP_URL = "/download/direct/{0}/{1}/{2}/{3}?property={4}";
|
private final static String CONTENT_PROP_URL = "/download/direct/{0}/{1}/{2}/{3}?property={4}";
|
||||||
private final static String FOLDER_BROWSE_URL = "/navigate/browse/{0}/{1}/{2}";
|
private final static String FOLDER_BROWSE_URL = "/navigate/browse/{0}/{1}/{2}";
|
||||||
|
@@ -22,6 +22,7 @@ import java.net.URLEncoder;
|
|||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.service.cmr.repository.TemplateNode.TemplateContentData;
|
import org.alfresco.service.cmr.repository.TemplateNode.TemplateContentData;
|
||||||
@@ -43,6 +44,7 @@ public class VersionHistoryNode implements Serializable
|
|||||||
private boolean propsRetrieved = false;
|
private boolean propsRetrieved = false;
|
||||||
private Version version;
|
private Version version;
|
||||||
private TemplateNode parent;
|
private TemplateNode parent;
|
||||||
|
private Set<QName> aspects = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@@ -184,6 +186,50 @@ public class VersionHistoryNode implements Serializable
|
|||||||
return this.properties;
|
return this.properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return The list of aspects applied to this node
|
||||||
|
*/
|
||||||
|
public Set<QName> getAspects()
|
||||||
|
{
|
||||||
|
if (this.aspects == null)
|
||||||
|
{
|
||||||
|
this.aspects = parent.services.getNodeService().getAspects(this.version.getFrozenStateNodeRef());
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.aspects;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param aspect The aspect name to test for
|
||||||
|
*
|
||||||
|
* @return true if the node has the aspect false otherwise
|
||||||
|
*/
|
||||||
|
public boolean hasAspect(String aspect)
|
||||||
|
{
|
||||||
|
if (this.aspects == null)
|
||||||
|
{
|
||||||
|
getAspects();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aspect.startsWith(parent.NAMESPACE_BEGIN))
|
||||||
|
{
|
||||||
|
return aspects.contains((QName.createQName(aspect)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
boolean found = false;
|
||||||
|
for (QName qname : this.aspects)
|
||||||
|
{
|
||||||
|
if (qname.toPrefixString(parent.services.getNamespaceService()).equals(aspect))
|
||||||
|
{
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Content API
|
// Content API
|
||||||
|
Reference in New Issue
Block a user