From ae765f91d911eff923efae0325fc3e54ed26cc8f Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Thu, 9 Jun 2011 12:08:12 +0000 Subject: [PATCH] Merged DEV/SWIFT to HEAD 27168: Added generics for cannedQueryRegistry 27169: Fixed formatting 27170: SOLR queries - ALF-7072 RSOLR 013: Remote API to get ACLs and readers - Queries for ACL ChangeSets and ACLs - WebScripts for AclChangeSetsGet - ALF-7071 and ALF-7072: Fix naming conventions 27171: Fixed MySQL create script (ALF-8336: RSOLR 013: DB upgrade scripts for ACL changes) 27337: Initial draft of the publishing API 27516: Get the basic WCM ML tests working, covering the simpler use cases 27517: More on the WCM-QS multi lingual support, further on the aspect and the unit tests for it 27518: Begin the WCM-QS webscript to return the translation details on a node 27519: Push some WCM-QS ML search logic into SiteHelper, and add a unit test for it 27542: - Initial skeleton of the channel API. - Initial draft of the publishing content model. 27546: ALF-7481: RSOLR 018: Execute query against SOLR - pass authority filter in json body to avoid possible issue over-running the max URL length 27559: Created a Web Site Generator tool which randomly generates WCM QS websites. 27561: Created ChannelServiceImpl and implemented the ChannelType registry. 27577: Start to pull across the WCM-QS ML custom action 27579: More pulling across the WCM-QS ML custom action 27580: More WCM-QS ML ui porting 27588: ALF-8421: RSOLR 037: Encapsulate the CMIS Query Parser 27589: Created a PublishingModel to hold Web Publishing constants. 27610: ALF-7874 Add iWorks mimetype entries 27624: Restructure index tracking 27630: ALF-8182: SVC 03: Object Picker needs to use new NodeLocatorService to resolve startLocation parameter The picker now uses the NodeLocatorService to look up some start locations and most importantly allows custom 'locators' to be used. All the current start location tokens are still supported i.e. {companyhome}, {userhome}, {siteshome}, {doclib}, {self} and {parent}. A new one has been added called {ancestor}, this will allow an ancestor node to be located, the node can be selected by type or aspect, see example below. Some node locators can take parameters, a "startLocationParams" has therefore been added to allow these to be specified. The example below shows how to configure a picker to start in the root folder of the site the node being edited is located within. {ancestor} type=st:site 27631: ALF-8182: SVC 03: Object Picker needs to use new NodeLocatorService to resolve startLocation parameter Centralised node locator classes to repo.nodelocator package (moved out of repo.node package as that area is reserved for low level node processing) and made all naming consistent i.e. nodelocator rather than nodelocation. 27633: Fixed cmis:objectTypeId property definition (required = true, see CMIS 1.0 errata 1) 27635: CMIS compliance fixes 27638: - Initial operational publishing context with model bootstrapped. - First implementation of ChannelService.getChannels and ChannelService.createChannel. Test cases to follow imminently... git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28301 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .classpath | 1 + config/alfresco/core-services-context.xml | 2 + .../AlfrescoCreate-RepoTables.sql | 2 +- .../alfresco/ibatis/alfresco-SqlMapConfig.xml | 3 + .../solr-common-SqlMap.xml | 100 +- .../messages/publishing-model.properties | 20 + .../messages/publishing-service.properties | 1 + config/alfresco/model/publishingModel.xml | 164 + config/alfresco/node-locator-context.xml | 34 +- config/alfresco/web-publishing-context.xml | 38 + .../alfresco/test-web-publishing-context.xml | 12 + .../CanCancelCheckOutActionEvaluator.java | 60 + .../mapping/CanCheckInActionEvaluator.java | 60 + .../RuntimePropertyAccessorMapping.java | 51 +- .../opencmis/search/CMISFTSQueryParser.java | 414 - .../opencmis/search/CMISQueryOptions.java | 90 - .../opencmis/search/CMISQueryParser.java | 1705 -- .../search/CmisFunctionEvaluationContext.java | 429 - .../repo/domain/permissions/AclChangeSet.java | 3 +- .../repo/domain/solr/AclChangeSetEntity.java | 15 + .../alfresco/repo/domain/solr/AclEntity.java | 77 + .../repo/domain/solr/AclEntryEntity.java | 87 + .../alfresco/repo/domain/solr/SOLRDAO.java | 29 +- .../repo/domain/solr/SOLRDAOTest.java | 131 +- .../domain/solr/SOLRTrackingParameters.java | 27 +- .../repo/domain/solr/TransactionEntity.java | 2 + .../repo/domain/solr/ibatis/SOLRDAOImpl.java | 496 +- .../exporter/ACPExportPackageHandler.java | 1 - .../filefolder/FileFolderServiceImpl.java | 4 +- .../AbstractNodeLocator.java | 9 +- .../AncestorNodeLocator.java | 25 +- .../CompanyHomeNodeLocator.java | 6 +- .../nodelocator}/NodeLocator.java | 3 +- .../nodelocator}/NodeLocatorService.java | 4 +- .../NodeLocatorServiceImpl.java | 39 +- .../NodeLocatorServiceImplTest.java | 6 +- .../SelfNodeLocator.java | 8 +- .../SitesHomeNodeLocator.java | 8 +- .../UserHomeNodeLocator.java | 9 +- .../XPathNodeLocator.java | 13 +- .../repo/publishing/AbstractChannelType.java | 37 + .../alfresco/repo/publishing/ChannelImpl.java | 77 + .../repo/publishing/ChannelServiceImpl.java | 214 + .../repo/publishing/EnvironmentHelper.java | 126 + .../repo/publishing/PublishingModel.java | 45 + .../executer/AbstractRenderingEngine.java | 4 +- .../lucene/SolrAlfrescoFTSQueryLanguage.java | 22 +- .../alfresco/repo/search/impl/parsers/CMIS.g | 1670 -- .../repo/search/impl/parsers/CMIS.tokens | 86 - .../repo/search/impl/parsers/CMISLexer.java | 3604 ---- .../repo/search/impl/parsers/CMISParser.java | 16620 ---------------- .../repo/search/impl/parsers/CMISTest.java | 83 - .../repo/search/impl/parsers/CMIS_FTS.g | 433 - .../repo/search/impl/parsers/CMIS_FTS.tokens | 14 - .../search/impl/parsers/CMIS_FTSLexer.java | 628 - .../search/impl/parsers/CMIS_FTSParser.java | 962 - .../search/impl/parsers/CMIS_FTSTest.java | 98 - .../search/impl/parsers/cmis_fts_test.gunit | 83 - .../repo/search/impl/parsers/cmis_test.gunit | 556 - .../impl/AbstractPermissionReference.java | 2 +- .../impl/SimplePermissionReference.java | 5 - .../locator => site}/DocLibNodeLocator.java | 15 +- source/java/org/alfresco/repo/solr/Acl.java | 34 + .../repo/{domain => }/solr/AclChangeSet.java | 8 +- .../repo/solr/AclChangeSetParameters.java | 177 + .../java/org/alfresco/repo/solr/AclEntry.java | 33 + .../repo/solr/SOLRTrackingComponent.java | 2 - .../repo/solr/SOLRTrackingComponentImpl.java | 2 - .../repo/solr/SOLRTrackingComponentTest.java | 69 +- .../repo/{domain => }/solr/Transaction.java | 2 +- .../cmr/publishing/BaseNodePublishStatus.java | 51 + .../service/cmr/publishing/Environment.java | 36 + .../publishing/MutablePublishingEvent.java | 32 + .../publishing/MutablePublishingPackage.java | 34 + .../cmr/publishing/NodePublishStatus.java | 43 + .../NodePublishStatusNotPublished.java | 47 + .../publishing/NodePublishStatusOnQueue.java | 51 + .../NodePublishStatusPublished.java | 56 + .../NodePublishStatusPublishedAndOnQueue.java | 60 + .../publishing/NodePublishStatusVisitor.java | 32 + .../cmr/publishing/PublishingEvent.java | 69 + .../cmr/publishing/PublishingEventFilter.java | 29 + .../cmr/publishing/PublishingPackage.java | 26 + .../publishing/PublishingPackageEntry.java | 33 + .../cmr/publishing/PublishingQueue.java | 38 + .../cmr/publishing/PublishingService.java | 36 + .../cmr/publishing/channels/Channel.java | 43 + .../publishing/channels/ChannelService.java | 39 + .../cmr/publishing/channels/ChannelType.java | 36 + .../publishing/ChannelServiceImplTest.java | 77 + .../repo/publishing/MockChannelType.java | 75 + 91 files changed, 2720 insertions(+), 28122 deletions(-) create mode 100644 config/alfresco/messages/publishing-model.properties create mode 100644 config/alfresco/messages/publishing-service.properties create mode 100644 config/alfresco/model/publishingModel.xml create mode 100644 config/alfresco/web-publishing-context.xml create mode 100644 config/test/alfresco/test-web-publishing-context.xml create mode 100644 source/java/org/alfresco/opencmis/mapping/CanCancelCheckOutActionEvaluator.java create mode 100644 source/java/org/alfresco/opencmis/mapping/CanCheckInActionEvaluator.java delete mode 100644 source/java/org/alfresco/opencmis/search/CMISFTSQueryParser.java delete mode 100644 source/java/org/alfresco/opencmis/search/CMISQueryOptions.java delete mode 100644 source/java/org/alfresco/opencmis/search/CMISQueryParser.java delete mode 100644 source/java/org/alfresco/opencmis/search/CmisFunctionEvaluationContext.java create mode 100644 source/java/org/alfresco/repo/domain/solr/AclEntity.java create mode 100644 source/java/org/alfresco/repo/domain/solr/AclEntryEntity.java rename source/java/org/alfresco/repo/{node/locator => nodelocator}/AbstractNodeLocator.java (83%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/AncestorNodeLocator.java (81%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/CompanyHomeNodeLocator.java (89%) rename source/java/org/alfresco/{service/cmr/repository => repo/nodelocator}/NodeLocator.java (92%) rename source/java/org/alfresco/{service/cmr/repository => repo/nodelocator}/NodeLocatorService.java (91%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/NodeLocatorServiceImpl.java (63%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/NodeLocatorServiceImplTest.java (92%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/SelfNodeLocator.java (86%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/SitesHomeNodeLocator.java (88%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/UserHomeNodeLocator.java (84%) rename source/java/org/alfresco/repo/{node/locator => nodelocator}/XPathNodeLocator.java (89%) create mode 100644 source/java/org/alfresco/repo/publishing/AbstractChannelType.java create mode 100644 source/java/org/alfresco/repo/publishing/ChannelImpl.java create mode 100644 source/java/org/alfresco/repo/publishing/ChannelServiceImpl.java create mode 100644 source/java/org/alfresco/repo/publishing/EnvironmentHelper.java create mode 100644 source/java/org/alfresco/repo/publishing/PublishingModel.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS.g delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS.tokens delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMISLexer.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMISParser.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMISTest.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS_FTS.g delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS_FTS.tokens delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS_FTSLexer.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS_FTSParser.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/CMIS_FTSTest.java delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/cmis_fts_test.gunit delete mode 100644 source/java/org/alfresco/repo/search/impl/parsers/cmis_test.gunit rename source/java/org/alfresco/repo/{node/locator => site}/DocLibNodeLocator.java (88%) create mode 100644 source/java/org/alfresco/repo/solr/Acl.java rename source/java/org/alfresco/repo/{domain => }/solr/AclChangeSet.java (84%) create mode 100644 source/java/org/alfresco/repo/solr/AclChangeSetParameters.java create mode 100644 source/java/org/alfresco/repo/solr/AclEntry.java rename source/java/org/alfresco/repo/{domain => }/solr/Transaction.java (93%) create mode 100644 source/java/org/alfresco/service/cmr/publishing/BaseNodePublishStatus.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/Environment.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/MutablePublishingEvent.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/MutablePublishingPackage.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/NodePublishStatus.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/NodePublishStatusNotPublished.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/NodePublishStatusOnQueue.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/NodePublishStatusPublished.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/NodePublishStatusPublishedAndOnQueue.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/NodePublishStatusVisitor.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/PublishingEvent.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/PublishingEventFilter.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/PublishingPackage.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/PublishingPackageEntry.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/PublishingQueue.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/PublishingService.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/channels/Channel.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/channels/ChannelService.java create mode 100644 source/java/org/alfresco/service/cmr/publishing/channels/ChannelType.java create mode 100644 source/test/org/alfresco/repo/publishing/ChannelServiceImplTest.java create mode 100644 source/test/org/alfresco/repo/publishing/MockChannelType.java diff --git a/.classpath b/.classpath index 47be43ff7a..ae057e01bd 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,7 @@ + diff --git a/config/alfresco/core-services-context.xml b/config/alfresco/core-services-context.xml index f3015416de..5021d89c07 100644 --- a/config/alfresco/core-services-context.xml +++ b/config/alfresco/core-services-context.xml @@ -1160,6 +1160,7 @@ alfresco/model/datalistModel.xml + @@ -1174,6 +1175,7 @@ alfresco/messages/email-server-model alfresco/messages/data-list-model alfresco/messages/transfer-model + alfresco/messages/publishing-model diff --git a/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql b/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql index cc0e4d6b0a..80738bf278 100644 --- a/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql +++ b/config/alfresco/dbscripts/create/org.hibernate.dialect.MySQLInnoDBDialect/AlfrescoCreate-RepoTables.sql @@ -100,7 +100,7 @@ CREATE TABLE alf_acl_change_set ( id BIGINT NOT NULL AUTO_INCREMENT, commit_time_ms BIGINT, - KEY idx_alf_acs_ctms (commit_time_ms) + KEY idx_alf_acs_ctms (commit_time_ms), PRIMARY KEY (id) ) ENGINE=InnoDB; diff --git a/config/alfresco/ibatis/alfresco-SqlMapConfig.xml b/config/alfresco/ibatis/alfresco-SqlMapConfig.xml index 537bfa59f4..296cb15a07 100644 --- a/config/alfresco/ibatis/alfresco-SqlMapConfig.xml +++ b/config/alfresco/ibatis/alfresco-SqlMapConfig.xml @@ -106,6 +106,9 @@ Inbound settings from iBatis + + + diff --git a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/solr-common-SqlMap.xml b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/solr-common-SqlMap.xml index 046951ebc3..16204afdd4 100644 --- a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/solr-common-SqlMap.xml +++ b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/solr-common-SqlMap.xml @@ -4,6 +4,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13,13 +39,75 @@ - - - - - - + + + + + + +