changeset: 2512:5314f6258d7e branch: 5.1.6.1-sql-search parent: 2510:0eb26900bed9 user: Benjamin JALON date: Mon Mar 23 18:01:31 2009 +0100 summary: NXP-3302 : Add in history tab versions that have been published diff -r 0eb26900bed9 -r 5314f6258d7e nuxeo-platform-versioning-api/pom.xml --- a/nuxeo-platform-versioning-api/pom.xml Mon Mar 16 15:53:34 2009 +0100 +++ b/nuxeo-platform-versioning-api/pom.xml Mon Mar 23 18:01:31 2009 +0100 @@ -10,6 +10,7 @@ nuxeo-platform-versioning-api Nuxeo Versioning Service - API + 5.1.6.1-SNAPSHOT Nuxeo Enterprise Platform: Versioning Service. This service (core-level) offers a flexible and configurable versioning system. It is extendable and diff -r 0eb26900bed9 -r 5314f6258d7e nuxeo-platform-versioning-api/src/main/java/org/nuxeo/ecm/platform/versioning/facet/VersioningDocumentAdapter.java --- a/nuxeo-platform-versioning-api/src/main/java/org/nuxeo/ecm/platform/versioning/facet/VersioningDocumentAdapter.java Mon Mar 16 15:53:34 2009 +0100 +++ b/nuxeo-platform-versioning-api/src/main/java/org/nuxeo/ecm/platform/versioning/facet/VersioningDocumentAdapter.java Mon Mar 23 18:01:31 2009 +0100 @@ -42,6 +42,8 @@ */ public class VersioningDocumentAdapter implements VersioningDocument { + public static final String IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA = "uid:is_version_published"; + private static final Log log = LogFactory.getLog(VersioningDocumentAdapter.class); private DocumentModel doc; @@ -169,4 +171,30 @@ } } } + + public Boolean isVersionHasBeenPublished() throws DocumentException { + final Object propVal = doc.getProperty(DocumentModelUtils.getSchemaName(IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA), + DocumentModelUtils.getFieldName(IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA)); + + Boolean is_version_published = false; + if (null == propVal) { + // versions not initialized + // could be the case that defaultMajorVersion & defaultMajorVersion + // are not correctly specifying the properties names for versioning + log.warn("Versioning field not initialized (property: " + IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA + + ") for doc: " + doc.getTitle()); + } else { + if (!(propVal instanceof Boolean)) { + throw new DocumentException("Property " + IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA + + " should be of type Boolean"); + } + is_version_published = (Boolean) propVal; + } + return is_version_published; + } + + public void setVersionHasBeenPublished(Boolean value) { + doc.setProperty(DocumentModelUtils.getSchemaName(IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA), + DocumentModelUtils.getFieldName(IS_VERSION_HAS_BEEN_PUBLISHED_SCHEMA), value); + } } diff -r 0eb26900bed9 -r 5314f6258d7e nuxeo-platform-versioning-core/pom.xml --- a/nuxeo-platform-versioning-core/pom.xml Mon Mar 16 15:53:34 2009 +0100 +++ b/nuxeo-platform-versioning-core/pom.xml Mon Mar 23 18:01:31 2009 +0100 @@ -10,6 +10,7 @@ nuxeo-platform-versioning-core ejb + 5.1.6.1-SNAPSHOT Nuxeo Versioning Service - Core Nuxeo Enterprise Platform: Versioning Service. This service (core-level) offers a flexible and configurable versioning system. diff -r 0eb26900bed9 -r 5314f6258d7e nuxeo-platform-webapp-core/src/main/java/org/nuxeo/ecm/webapp/versioning/DocumentVersioningBean.java --- a/nuxeo-platform-webapp-core/src/main/java/org/nuxeo/ecm/webapp/versioning/DocumentVersioningBean.java Mon Mar 16 15:53:34 2009 +0100 +++ b/nuxeo-platform-webapp-core/src/main/java/org/nuxeo/ecm/webapp/versioning/DocumentVersioningBean.java Mon Mar 23 18:01:31 2009 +0100 @@ -209,7 +209,9 @@ VersioningDocument docVer = tempDoc.getAdapter(VersioningDocument.class); String minorVer = docVer.getMinorVersion().toString(); String majorVer = docVer.getMajorVersion().toString(); + Boolean isVersionPublished = docVer.isVersionHasBeenPublished(); model.setDescription(majorVer.concat(".").concat(minorVer)); + model.setVersionPublished(isVersionPublished); } }