Extended the content model to include relevant avm specific types.

cm:avmcontent and cm:avmfolder are 'abstract'.  cm:avmplaincontent is derived
from cm:avmcontent and is just a plain file. cm:avmlayeredcontent is derived
from cm:avmcontent and is (surprise) a layered file and has a d:noderef mandatory
property, cm:avmfileindirection, that is the (possibly non-existent) file that
the layered file is transparent to.  cm:avmplainfolder is derived from 
cm:avmfolder and is just a plain directory.  cm:avmlayeredfolder is a layered
directory and has a property, cm:avmdirinderection, that is the (possibly
non-existent) directory that the layered directory is transparent to.
The ContentModel QName constants are.
TYPE_AVM_PLAIN_FOLDER
TYPE_AVM_LAYERED_FOLDER
TYPE_AVM_PLAIN_CONTENT
TYPE_AVM_LAYERED_CONTENT
PROP_AVM_DIR_INDIRECTION
PROP_AVM_FILE_INDIRECTION
One can now create all four flavors of avm nodes through 
AVMNodeService.createNode().  The advantage of using these over the
corresponding AVMService methods is that since (for now) AVMService, is
permission and indexing unaware.
Backed out cm:mounted aspect and dispatching code in DbNodeServiceImpl.  
(Dave and Derek, you may now relax) as we are implementing the UI with
AVM dedicated screens.
Finally, beginning interface for AVM node tree synchronization and comparison.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-09-12 03:16:10 +00:00
parent 979ca93112
commit be6a222554
8 changed files with 256 additions and 108 deletions

View File

@@ -98,6 +98,12 @@ public interface ContentModel
static final QName TYPE_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "content");
static final QName PROP_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "content");
static final QName TYPE_AVM_CONTENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmcontent");
static final QName TYPE_AVM_PLAIN_CONTENT =
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmplaincontent");
static final QName TYPE_AVM_LAYERED_CONTENT =
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmlayeredcontent");
static final QName PROP_AVM_FILE_INDIRECTION =
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmfileindirection");
// title aspect
static final QName ASPECT_TITLED = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "titled");
@@ -133,8 +139,8 @@ public interface ContentModel
public final static QName PROP_EXPIRY_DATE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "expiryDate");
// version aspect
static final QName ASPECT_VERSIONABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionable");
static final QName PROP_VERSION_LABEL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionLabel");
static final QName ASPECT_VERSIONABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionable");
static final QName PROP_VERSION_LABEL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionLabel");
static final QName PROP_INITIAL_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "initialVersion");
static final QName PROP_AUTO_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "autoVersion");
@@ -144,6 +150,12 @@ public interface ContentModel
/** child association type supported by {@link #TYPE_FOLDER} */
static final QName ASSOC_CONTAINS = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "contains");
static final QName TYPE_AVM_FOLDER = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmfolder");
static final QName TYPE_AVM_PLAIN_FOLDER =
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmplainfolder");
static final QName TYPE_AVM_LAYERED_FOLDER =
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmlayeredfolder");
static final QName PROP_AVM_DIR_INDIRECTION =
QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "avmdirindirection");
// person
static final QName TYPE_PERSON = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "person");