}
CmisTestResult f;
Document doc = (Document) object;
DocumentTypeDefinition type = (DocumentTypeDefinition) doc.getType();
// check ContentStreamAllowed flag
boolean hasContentProperties = (doc.getContentStreamFileName() != null) || (doc.getContentStreamId() != null)
|| (doc.getContentStreamLength() > -1) || (doc.getContentStreamMimeType() != null);
if (hasContentProperties) {
if (type.getContentStreamAllowed() == ContentStreamAllowed.NOTALLOWED) {
addResult(
results,
createResult(FAILURE,
"Content properties have values but the document type doesn't allow content!"));
}
} else {
if (type.getContentStreamAllowed() == ContentStreamAllowed.REQUIRED) {
addResult(results,
createResult(FAILURE, "Content properties are not set but the document type demands content!"));
}
}
// get the content stream
ContentStream contentStream = doc.getContentStream();
if (contentStream == null) {
if (hasContentProperties && doc.getContentStreamLength() > 0) {
addResult(results,
createResult(FAILURE, "Content properties have values but the document has no content!"));
}
if (type.getContentStreamAllowed() == ContentStreamAllowed.REQUIRED) {
addResult(results,
createResult(FAILURE, "The document type demands content but the document has no content!"));
}
return;
}
if (type.getContentStreamAllowed() == ContentStreamAllowed.NOTALLOWED) {
addResult(results, createResult(FAILURE, "Document type doesn't allow content but document has content!"));
}
// file name check
f = createResult(FAILURE, "Content file names don't match!");