* @throws SlideException
* @throws JDOMException
*/
public NodeProperty computeProperty(String propertyName, NodeRevisionDescriptors revisionDescriptors, NodeRevisionDescriptor revisionDescriptor, String contextPath, String servletPath) throws SlideException, JDOMException {
NodeProperty property = null;
if (P_SUCCESSOR_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeSuccessorSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_VERSION_HISTORY.equals(propertyName)) {
property = new NodeProperty(propertyName, computeVersionHistory(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_ROOT_VERSION.equals(propertyName)) {
property = new NodeProperty(propertyName, computeRootVersion(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_SUPPORTED_METHOD_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeSupportedMethodSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_SUPPORTED_LIVE_PROPERTY_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeSupportedLivePropertySet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_SUPPORTED_REPORT_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeSupportedReportSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_CHECKOUT_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeCheckoutSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_WORKSPACE_CHECKOUT_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeWorkspaceCheckoutSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_WORKSPACE.equals(propertyName)) {
XMLValue ws = null;
if (Configuration.useBinding(nsaToken.getUri(sToken, revisionDescriptors.getUri()).getStore())) {
ws = computeWorkspace(revisionDescriptors, revisionDescriptor, contextPath, servletPath);
}
else {
ws = computeWorkspaceNoBinding(revisionDescriptors, revisionDescriptor, contextPath, servletPath);
}
if (ws != null) {
property = new NodeProperty(propertyName, ws);
}
}
else if (P_LOCKDISCOVERY.equals(propertyName)) {
property = new NodeProperty(propertyName, computeLockDiscovery(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_SUPPORTEDLOCK.equals(propertyName)) {
property = new NodeProperty(propertyName, computeSupportedlock(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_SUPPORTED_PRIVILEGE_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeSupportedPrivilegeSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_CURRENT_USER_PRIVILEGE_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeCurrentuserPrivilegeSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_ACL.equals(propertyName)) {
property = new NodeProperty(propertyName, computeAcl(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_PRINCIPAL_COLLECTION_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computePrincipalCollectionSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_PRIVILEGE_COLLECTION_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computePrivilegeCollectionSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_OWNER.equals(propertyName)) {
property = new NodeProperty(propertyName, computeOwner(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_CREATIONUSER.equals(propertyName)) {
property = new NodeProperty(propertyName, computeCreationUser(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_MODIFICATIONUSER.equals(propertyName)) {
property = new NodeProperty(propertyName, computeModificationUser(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_INHERITED_ACL_SET.equals(propertyName)) {
property = new NodeProperty(propertyName, computeInheritedAclSet(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_ACL_RESTRICTIONS.equals(propertyName)) {
property = new NodeProperty(propertyName, computeAclRestrictions(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
else if (P_GROUP_MEMBERSHIP.equals(propertyName)) {
property = new NodeProperty(propertyName, computeGroupMembership(revisionDescriptors, revisionDescriptor, contextPath, servletPath));
}
return property;
}