Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-5 to HEAD:

20678: DAO5 branch: Preparation for merge back to HEAD
   20689: Merged DAO4 to DAO5
        - Removed all 'dbscripts/create/3.x/SomeDialect' and replaced with 'dbscripts/create/SomeDialect'
          DB create scripts are taken from latest DAO4
        - TODO: FixAuthoritiesCrcValuesPatch needs query implementation in PatchDAO
        Merged DAO3 to DAO4
           - Reapplied fixes for ALF-713 (race condition on Usages)
           19350: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-2 to BRANCHES/DEV/V3.3-DAO-REFACTOR-3:
               18939: SAIL-4 :2nd stage branch for DAO refactor off HEAD rev 18898
               18948: Merged V3.3-DAO-REFACTOR to V3.3-DAO-REFACTOR-2
                    18202: Dev branch for DAO refactor
                    18252: SAIL-233: QName.hbm.xml
                    18295: Added missing CREATE TABLE statements for QName-related code
                    18324: SAIL-234: Node.hbm.xml: Node aspects initial integration
                    18355: Added 'setValue' method to manually update the cached value
                    18356: MV property stressing lowered to speed test up
                    18357: SAIL-234: Node.hbm.xml
                    18376: Pulled all Alfresco-related create SQL into script
                    18389: SAIL-234: Permissions DAO refactor - initial checkpoint
                    18390: Formatting only (line-endings)
                    18400: SAIL-234: Node.hbm.xml
                    18418: SAIL-234: Node.hbm.xml: 'alf_node_assoc' CRUD
                    18429: SAIL-234: Node.hbm.xml: Cleaned out all Hibernate references to NodeAssocImpl
                    18457: SAIL-234: Permissions DAO refactor
               18959: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18479: SAIL-234: Node.hbm.xml - fix updateNode (missing id when saving oldDummyNode)
                    18482: SAIL-235: remove Permissions.hbm.xml
                    18517: SAIL-235: Permissions DAO refactor
                    18523: SAIL-234: Node.hbm.xml
                    18524: SAIL-235: Permissions DAO refactor
               18960: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18533: Flipped back to Windows line endings
                    18535: Formatting-only (eol)
                    18540: Formatting-only (eol)
                    18541: SAIL-235: Permissions DAO refactor
                    18543: SAIL-234: Node.hbm.xml: Start alf_store changes
                    18567: SAIL-235: Permissions DAO refactor
                    18596: SAIL-305:  Alfresco DDL - formatted/rationalized and added missing indexes & fk constraints
                    18603: SAIL-311: Minor cleanup for schema upgrade scripts (V3.3)
                    18604: SAIL-311: Remove empty dirs
                    18619: SAIL-274: Locale.hbm.xml
                    18621: Added method to create default ACL
                    18622: SAIL-234: Node.hbm.xml: Store, Transaction, Server and some node
                    18624: Formatting only (eol)
                    18631: SAIL-235: Permissions DAO refactor
                    18633: SAIL-235: Permissions DAO refactor - do not expose CRUD for AceContext (or AuthorityAlias) since currently unused
                    18639: getLocale(Locale) should return null if it doesn't exist
                    18640: SAIL-234 NodeDAO: More replacement of node queries and updates
                    18648: SAIL-310: Create SQL script for core repo tables (All DB ports)
                    18651: SAIL-234 NodeDAO: Moves across stores handle presence of target deleted nodes
               18961: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18658: SAIL-274 Locale DAO: Missing getValueKey() method
                    18662: SAIL-235: Permissions DAO refactor - further cleanup (of DbAccessControlList usage, including copyACLs)
                    18664: DB scripts porting for PostgreSQL finished.
                    18668: SAIL-234 Node DAO: Note in case Transaction Change ID is dropped from indexes
                    18669: SAIL-234 Node DAO: deleteNode and archive (store move) fixes
                    18672: DB scripts porting for Oracle finished. 
                    18675: SAIL-235: Permissions DAO refactor 
                    18677: DB scripts porting for DB2 finished.
               18964: Merged DEV/V3.3-DAO-REFACTOR to DEV/V3.3-DAO-REFACTOR-2
                    18687: Execute a callback with retries
                    18688: SAIL-234 Node DAO: Child association creation
                    18690: SAIL-234 Node DAO: Comment out raw creation of stores as it breaks subsequent bootstrap checks
                    18691: SAIL-234 Node DAO: More replacement of alf_child_assoc handling
                    18713: Commented about needing a more efficient removeChildAssociation method
                    18714: SAIL-234 Node DAO: Replaced queries on alf_child_assoc
                    18715: SAIL-234 Node DAO: More alf_child_assoc query replacement
                    18727: SAIL-234 Node DAO: alf_child_assoc queries complete
                    18737: SAIL-234 Node DAO: Tweaks to newNode and implemented prependPaths
                    18741: SAIL-234 and SAIL-334: Moved UsageDelta Hibernate code and queries over to UsageDeltaDAO
                    18748: SAIL-234 Node DAO: fix NPE (EditionServiceImplTest)
                    18769: SAIL-234 Node DAO: alf_node_properties ground work
                    18786: SAIL-234 Node DAO: alf_node_properties and cm:auditable properties
                    18810: Added EqualsHelper.getMapComparison
                    18813: TransactionalCache propagates cache clears and removals during rollback
                    18826: SAIL-234 Node DAO: Moved over sundry references to NodeDaoService to NodeDAO
                    18849: SAIL-237: UsageDelta.hbm.xml - eol formatting only (including removal of unwanted svn:eol-style=native property)
                    18869: SAIL-234 NodeDAO: Fixed more references to 'nodeDaoService'
                    18895: SAIL-234 NodeDAO: Queries for alf_transaction
                    18899: SAIL-234 Node DAO: Fixed bean fetching for 'nodeDAO'
                    18909: SAIL-234 NodeDAO: Fixes to getNodeRefStatus and various txn queries
                    18916: SAIL-234 NodeDAO: Fixed moveNode alf_child_assoc updates
                    18922: SAIL-235: DAO refactoring: Permission.hbm.xml
                    18930: SAIL-235: DAO refactoring: Permission.hbm.xml
                    18932: SAIL-234 NodeDAO: Fixing up gotchas, javadocs and some naming
                    18933: SAIL-234 NodeDAO: Minor neatening
                    18935: SAIL-234 Node DAO: Caches for ID to NodeRef and StoreRef
                    18936: EHCache config files line endings
                    18938: SAIL-237: Usage DAO refactor - initial checkpoint
                    18945: SAIL-235: DAO refactoring: Permission.hbm.xml. Move Node.
               18975: Fix for move-node ACL jiggery-pokery
               19067: SAIL-4: fix VersionHistoryImpl.getSuccessors (causing VersionServiceImplTest.testGetVersionHistorySameWorkspace failure)
               19068: SAIL-234: fix VersionMigratorTest.testMigrateOneVersion
               19074: SAIL-237: Usage DAO - update to common iBatis mapping pattern(s) to ease DB porting
               19076: SAIL-231: Activities DAO - update to common iBatis mapping pattern(s)
               19077: SAIL-232: AppliedPatch DAO - minor cleanup (comments & formatting only)
               19092: Merging HEAD to DEV/V3.3-DAO-REFACTOR-2
                     18973: Temporarily comment out AVMTestSuite and run AVM tests individually
                     19056: AVM unit test improvements
               19097: SAIL-235: DAO refactoring: Permission.hbm.xml: Additional index to support queries to find the id and acl id for the primary children of a node.
               19185: SAIL-238: Permissions DAO - (minor) update to common iBatis mapping pattern
               19289: SAIL-234 NodeDAO: Node cache replaces NodeRef cache
               19302: SAIL-234 Node DAO: Added cache for node properties
               19318: SAIL-4: AVM DAO - (minor) update to common iBatis mapping pattern
   20690: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-4 to BRANCHES/DEV/V3.3-DAO-REFACTOR-5:
        20063: (RECORD ONLY) DAO refactor branch V4
        20146: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19401: SAIL-234 Node DAO: Fix permission service tests (setPrimaryChildrenSharedAclId needs to invalidate nodesCache)
             19428: Fixed TransactionalCache issue with null and NullValueMarker
             19429: Took empty cm:content creation out of FileFolderService#createImpl
             19430: SAIL-234 Node DAO: Tweaks around caching and cm:auditable
             19431: SAIL-4 DAO Refactor: Exception thrown when attempting writes in read-only txn have changed
             19436: SAIL-234 Node DAO: Fix NPE during cm:auditable update
             19475: Allow debugging of code without stepping into trivial stuff
             19476: Follow-up on 19429 by ensuring CIFS/FTP set a  mimetype on the ContentWriter
             19477: SAIL-234 Node DAO: Leverage DAO better for NodeService.addProperties
             19478: SAIL-234 NodeDAO: Added toString() for ParentAssocsInfo (cache value for parent assocs)
             19479: SAIL-234 Node DAO: Fixed for parent association and property caches
             19480: Made TransactionAwareSingleton bind-key a GUID
             19481: SAIL-234 Node DAO: Reinstated 100K collection property tests
             19482: SAIL-234 Node DAO: Node and property cache fixes highlighted by unit tests
             19483: SAIL-234 Node DAO: Start on NodeBulkLoader implementation
             19595: SAIL-234 Node DAO: Fix moveNode to detect cyclic relationship prior to updating ACLs for moved tree FileFolderServiceImplTest.testETHREEOH_3088_MoveIntoSelf)
        20147: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19602: (RECORD ONLY) Reintegrated with HEAD up to rev 19433
             19621: (RECORD ONLY) SAIL-347
             19683: (RECORD ONLY) Reverse-merged 19621 for SAIL-347
             19722: (RECORD ONLY) Merged /alfresco/HEAD:r19434-19721
        20150: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19741: Merged DEV\V3.3-DAO-REFACTOR-2 to DEV\V3.3-DAO-REFACTOR-3
                   19739: Extended "move" tests
             19743: Fix AuditableAspectTest.testAddAspect (to allow for node modified date tolerance)
             19748: Remaining part of merge from HEAD to V3.3-DAO-REFACTOR-3
                   19367: Merged BRANCHES/V3.2 to HEAD:
                       19286: Fix for ALF-626 "Using 'null' as an authority argument in clearPermissions() cause a java.lang.NullPointerException"
             19755: SAIL-234 Node DAO: Fix RepoAdminServiceImplTest.testConcurrentDynamicModelDelete (handle InvalidNodeRefException after getChildAssocs)
   20692: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-4 to BRANCHES/DEV/V3.3-DAO-REFACTOR-5:
        - Retired all 1.3 and 1.4 upgrade scripts ... R.I.P.
        - Fixed CRC patch for Authorities (only tested on MySQL)
        - Fixed SQL patch revision numbers and bumped version schema number up
        20158: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             19773: SQL mappings and scripts: SAIL-310, SAIL-304, SAIL-303 and SAIL-347
             19774: Futher fix for SAIL-310: Sequence patch must take into account sequences created for 3.3
             19851: SAIL-371 (SAIL-294) NodeDAO fallout: Fix QName and Namespace read/write handling and bean name in unit test
        20183: Merged DAO3 to DAO4
             19852: SAIL-370: Remove LinkValidation
             19853: SAIL-239 (SAIL-294) Attributes.hbm.xml: Added ability to attach arbitrary property to unique context
             19857: SAIL-373 Fallout from Permissions DAO refactor (SAIL-235)
             19864: SAIL-239 (SAIL-294): Removed AttributeService RMI API
             19865: More SAIL-239 (SAIL-294): Removed AttributeService RMI API
        20208: DAO-refactor implementation of ALF-2712 query improvements
        20209: Merged BRANCHES/DEV/V3.3-DAO-REFACTOR-3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             20060: Removal of AttributeService for SAIL-239 (SAIL-294)
        20348: SAIL-371 (SAIL-294): Protect collection properties during map insert and retrieval
        20547: SAIL-371 (SAIL-294) Attributes.hbm.xml: implement getAttributes + fixes
        20573: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests and other fallout
        20597: SAIL-239 Attributes.hbm.xml: WCM/AVM locking test fixes (wip)
        20598: SAIL-239 Attributes.hbm.xml: WCM/AVM locking test fixes (wip) - fix AssetServiceImplTest.testSimpleLockFile NPE
        20600: Fix PropertyValueDAOTest.testPropertyValue_Enum (follow-on to r20060 for SAIL-239 - which introduces ENUM prop vals)
        20601: Fix UsageDAOTest.testCreateAndDeleteUsageDeltas NPE (would also affect ContentStoreCleanerScalabilityRunner)
        20603: Fix CMISPropertyServiceTest.* (fallout from r20146 <- r19429 <- Took empty cm:content creation out of FileFolderService#createImpl)
        20604: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - TransferServiceImplTest.*
        20618: SAIL-371 (SAIL-294): NodeDAO: AuditableAspectTest (fix testCreateNodeWithAuditableProperties_ALF_2565 + add remove aspect test)
        20624: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - UserUsageTest.*
        20626: Fixed random keys for RuleTrigger NodeRef tracking
        20635: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - PersonTest.testSplitDuplicates
        20642: SAIL-371 (SAIL-294) DAO: Fixed CacheTest
        20643: Removed must of the 'distribute' target's dependencies.  Not for HEAD
        20645: Follow-on to r20643 (Removed most of the 'distribute' target's dependencies.  Not for HEAD)
        20654: SAIL-371 (SAIL-294): NodeDAO: DMDeploymentTargetTest.* (do not try to remove mandatory aspects)
        20655: SAIL-371 (SAIL-294): NodeDAO: Initial fix for TaggingServiceImplTest.testTagScopeUpdateViaNodePolicies (+ minor test cleanup)
        20657: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - VersionMigratorTest.testMigrateOneVersion (cm:accessed not returned if null)
        20658: Merged (back merge only - no merge info) BRANCHES/V3.3 to BRANCHES/DEV/V3.3-DAO-REFACTOR-4:
             20090: Dynamic models: minor improvements to DictionaryModelType
             20554: Improvement to model delete validation (investigating intermittent failure of RepoAdminServiceImplTest.testSimpleDynamicModelViaNodeService)
        20662: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - RecordsManagementAuditServiceImplTest.* (we now ignore attempt to update 'cm:modifier' prop so update 'cm:title' prop instead)
        20666: SAIL-371 (SAIL-294): NodeDAO: Fix unit tests - ADMLuceneTest.*
        20668: SAIL-239 (SAIL-294) - delete WCM locks + tests (follow-on to r20060)
        20674: SAIL-371 (SAIL-294) NodeDAO fallout: Cleaner and additional checks for ContentStoreCleaner
        20675: SAIL-371 (SAIL-294) NodeDAO fallout: Fixed handling of ContentData


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20693 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2010-06-17 19:35:49 +00:00
parent 6e928249a5
commit 4872eb9909
470 changed files with 39121 additions and 44771 deletions

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="true"/>
@@ -21,11 +21,12 @@
</listAttribute>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_11"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_14"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="Repository"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:Repository}"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1264001019976_1&quot; label=&quot;workingSet&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/Repository/source/java/org/alfresco/repo/dictionary&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/Repository/build.xml}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>

View File

@@ -758,22 +758,6 @@
</property>
</bean>
<!-- deprecated -->
<bean id="avm-link-validation" class="org.alfresco.linkvalidation.LinkValidationAction" parent="action-executer" lazy-init="true">
<property name="linkValidationService">
<ref bean="LinkValidationService"/>
</property>
<property name="avmService">
<ref bean="AVMService"/>
</property>
<property name="publicAction">
<value>false</value>
</property>
<property name="maxNumberLinksInReport">
<value>500</value>
</property>
</bean>
<!-- Scheduled action helper beans -->
<!-- Base template action definition -->

View File

@@ -43,5 +43,4 @@
<import resource="classpath:alfresco/tagging-services-context.xml"/>
<import resource="classpath:alfresco/invitation-service-context.xml"/>
<import resource="classpath*:alfresco/patch/*-context.xml" />
<import resource="classpath*:alfresco/linkvalidation-service-context.xml"/>
</beans>

View File

@@ -1,141 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="attrSessionSizeResourceInterceptor" class="org.alfresco.repo.transaction.SingleEntryTransactionResourceInterceptor" >
<property name="methodResourceManagers">
<list>
<ref bean="attrSessionSizeResourceManager"></ref>
</list>
</property>
<property name="elapsedTimeBeforeActivationMillis">
<value>500</value>
</property>
<property name="resourceManagerCallFrequencyMillis">
<value>250</value>
</property>
</bean>
<bean id="attrSessionSizeResourceManager" class="org.alfresco.repo.domain.hibernate.SessionSizeResourceManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="writeThreshold">
<value>100</value>
</property>
<property name="readThreshold">
<value>100</value>
</property>
<property name="retentionFactor">
<value>0</value>
</property>
</bean>
<bean id="attributeService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.service.cmr.attributes.AttributeService</value>
</property>
<property name="target">
<ref bean="attributeServiceBase"/>
</property>
<property name="interceptorNames">
<list>
<value>attrSessionSizeResourceInterceptor</value>
</list>
</property>
</bean>
<bean id="attributeServiceBase" class="org.alfresco.repo.attributes.AttributeServiceImpl">
<property name="attributeConverter">
<ref bean="attributeConverter"/>
</property>
<property name="globalAttributeEntryDao">
<ref bean="globalAttributeEntryDAO"/>
</property>
<property name="attributeDao">
<ref bean="attributeDAO"/>
</property>
</bean>
<bean id="attributeConverter" class="org.alfresco.repo.attributes.AttributeConverter"/>
<bean id="attributeDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="attributeDAOImpl" />
</property>
<property name="interceptorNames">
<list>
<value>daoServiceDirtySessionInterceptor</value>
</list>
</property>
</bean>
<bean id="attributeDAOImpl" class="org.alfresco.repo.attributes.hibernate.AttributeDAOHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
<property name="mapEntryDao">
<ref bean="mapEntryDAO"/>
</property>
<property name="listEntryDao">
<ref bean="listEntryDAO"/>
</property>
</bean>
<bean id="globalAttributeEntryDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="globalAttributeEntryDAOImpl" />
</property>
<property name="interceptorNames">
<list>
<value>daoServiceDirtySessionInterceptor</value>
</list>
</property>
</bean>
<bean id="globalAttributeEntryDAOImpl" class="org.alfresco.repo.attributes.hibernate.GlobalAttributeEntryDAOHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
<property name="attributeDao">
<ref bean="attributeDAO"/>
</property>
</bean>
<bean id="mapEntryDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="mapEntryDAOImpl" />
</property>
<property name="interceptorNames">
<list>
<value>daoServiceDirtySessionInterceptor</value>
</list>
</property>
</bean>
<bean id="mapEntryDAOImpl" class="org.alfresco.repo.attributes.hibernate.MapEntryDAOHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="listEntryDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="listEntryDAOImpl" />
</property>
<property name="interceptorNames">
<list>
<value>daoServiceDirtySessionInterceptor</value>
</list>
</property>
</bean>
<bean id="listEntryDAOImpl" class="org.alfresco.repo.attributes.hibernate.ListEntryDAOHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="attributeService" class="org.alfresco.repo.attributes.AttributeServiceImpl">
<property name="propertyValueDAO">
<ref bean="propertyValueDAO"/>
</property>
</bean>
</beans>

View File

@@ -306,8 +306,8 @@
<property name="permissionsManager">
<ref bean="personServicePermissionsManager" />
</property>
<property name="aclDao">
<ref bean="aclDaoComponent" />
<property name="aclDAO">
<ref bean="aclDAO" />
</property>
<property name="homeFolderManager">
<ref bean="homeFolderManager" />

View File

@@ -88,8 +88,8 @@
<property name="policyComponent">
<ref bean="policyComponent"/>
</property>
<property name="aclDao">
<ref bean="aclDaoComponent" />
<property name="aclDAO">
<ref bean="aclDAO" />
</property>
</bean>

View File

@@ -1,309 +1,283 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="avmNodeDAO" class="org.alfresco.repo.avm.ibatis.AVMNodeDAOIbatis">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="avmStoreDAO" class="org.alfresco.repo.avm.ibatis.AVMStoreDAOIbatis">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="versionRootDAO" class="org.alfresco.repo.avm.ibatis.VersionRootDAOIbatis"/>
<bean id="childEntryDAO" class="org.alfresco.repo.avm.ibatis.ChildEntryDAOIbatis"/>
<bean id="historyLinkDAO" class="org.alfresco.repo.avm.ibatis.HistoryLinkDAOIbatis"/>
<bean id="mergeLinkDAO" class="org.alfresco.repo.avm.ibatis.MergeLinkDAOIbatis"/>
<bean id="avmStorePropertyDAO" class="org.alfresco.repo.avm.ibatis.AVMStorePropertyDAOIbatis">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="versionLayeredNodeEntryDAO" class="org.alfresco.repo.avm.ibatis.VersionLayeredNodeEntryDAOIbatis"/>
<bean id="avmDAOs" class="org.alfresco.repo.avm.AVMDAOs" factory-method="Instance">
<property name="nodeDAO">
<ref bean="avmNodeDAO"/>
</property>
<property name="newAvmNodeDAO">
<ref bean="newAvmNodeDAO"/>
</property>
<property name="newAvmNodeLinksDAO">
<ref bean="newAvmNodeLinksDAO"/>
</property>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="avmNodeDAO" class="org.alfresco.repo.avm.ibatis.AVMNodeDAOIbatis"/>
<bean id="avmStoreDAO" class="org.alfresco.repo.avm.ibatis.AVMStoreDAOIbatis"/>
<bean id="versionRootDAO" class="org.alfresco.repo.avm.ibatis.VersionRootDAOIbatis"/>
<bean id="childEntryDAO" class="org.alfresco.repo.avm.ibatis.ChildEntryDAOIbatis"/>
<bean id="historyLinkDAO" class="org.alfresco.repo.avm.ibatis.HistoryLinkDAOIbatis"/>
<bean id="mergeLinkDAO" class="org.alfresco.repo.avm.ibatis.MergeLinkDAOIbatis"/>
<bean id="avmStorePropertyDAO" class="org.alfresco.repo.avm.ibatis.AVMStorePropertyDAOIbatis"/>
<bean id="versionLayeredNodeEntryDAO" class="org.alfresco.repo.avm.ibatis.VersionLayeredNodeEntryDAOIbatis"/>
<bean id="avmDAOs" class="org.alfresco.repo.avm.AVMDAOs" factory-method="Instance">
<property name="nodeDAO">
<ref bean="avmNodeDAO"/>
</property>
<property name="newAvmNodeDAO">
<ref bean="newAvmNodeDAO"/>
</property>
<property name="newAvmNodeLinksDAO">
<ref bean="newAvmNodeLinksDAO"/>
</property>
<property name="contentDataDAO">
<ref bean="contentDataDAO"/>
</property>
<property name="avmStoreDAO">
<ref bean="avmStoreDAO"/>
</property>
<property name="newAvmStoreDAO">
<ref bean="newAvmStoreDAO"/>
</property>
<property name="versionRootDAO">
<ref bean="versionRootDAO"/>
</property>
<property name="newAvmVersionRootDAO">
<ref bean="newAvmVersionRootDAO"/>
</property>
<property name="childEntryDAO">
<ref bean="childEntryDAO"/>
</property>
<property name="historyLinkDAO">
<ref bean="historyLinkDAO"/>
</property>
<property name="mergeLinkDAO">
<ref bean="mergeLinkDAO"/>
</property>
<property name="avmStorePropertyDAO">
<ref bean="avmStorePropertyDAO"/>
</property>
<property name="attributeDAO">
<ref bean="attributeDAO"/>
</property>
<property name="mapEntryDAO">
<ref bean="mapEntryDAO"/>
</property>
<property name="listEntryDAO">
<ref bean="listEntryDAO"/>
</property>
<property name="versionLayeredNodeEntryDAO">
<ref bean="versionLayeredNodeEntryDAO"/>
</property>
</bean>
<bean id="lookupCache" class="org.alfresco.repo.avm.NOOPLookupCache"/>
<bean id="rawServices" class="org.alfresco.repo.avm.util.RawServices"/>
<bean id="orphanReaper" class="org.alfresco.repo.avm.OrphanReaper"
depends-on="AVMService" destroy-method="shutDown">
<property name="activeBaseSleep">
<value>1000</value>
</property>
<property name="batchSize">
<value>50</value>
</property>
<property name="maxQueueLength">
<value>1000</value>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="createStoreTxnListener" class="org.alfresco.repo.avm.CreateStoreTxnListener"/>
<bean id="purgeStoreTxnListener" class="org.alfresco.repo.avm.PurgeStoreTxnListener"/>
<bean id="createVersionTxnListener" class="org.alfresco.repo.avm.CreateVersionTxnListener"/>
<bean id="purgeVersionTxnListener" class="org.alfresco.repo.avm.PurgeVersionTxnListener"/>
<bean id="avmRepository" class="org.alfresco.repo.avm.AVMRepository">
<property name="lookupCache">
<ref bean="lookupCache"/>
</property>
<property name="contentStore">
<ref bean="fileContentStore"/>
</property>
<property name="createStoreTxnListener">
<ref bean="createStoreTxnListener"/>
</property>
<property name="purgeStoreTxnListener">
<ref bean="purgeStoreTxnListener"/>
</property>
<property name="createVersionTxnListener">
<ref bean="createVersionTxnListener"/>
</property>
<property name="purgeVersionTxnListener">
<ref bean="purgeVersionTxnListener"/>
</property>
<property name="qnameDAO">
<ref bean="qnameDAO"/>
</property>
<property name="avmStoreDAO">
<ref bean="avmStoreDAO"/>
</property>
<property name="avmNodeDAO">
<ref bean="avmNodeDAO"/>
</property>
<property name="versionRootDAO">
<ref bean="versionRootDAO"/>
</property>
<property name="versionLayeredNodeEntryDAO">
<ref bean="versionLayeredNodeEntryDAO"/>
</property>
<property name="avmStorePropertyDAO">
<ref bean="avmStorePropertyDAO"/>
</property>
<property name="childEntryDAO">
<ref bean="childEntryDAO"/>
</property>
<property name="dictionaryService">
<ref bean="dictionaryService"/>
</property>
</bean>
<!-- A Local implementation of the Remote AVM interface. -->
<bean id="avmRemote" class="org.alfresco.repo.avm.AVMRemoteLocal">
<property name="avmService">
<ref bean="AVMService"/>
</property>
</bean>
<!-- Used to notify virtualization server occur after commit/rollback -->
<bean id="AVMSubmitTransactionListener"
class="org.alfresco.repo.avm.wf.AVMSubmitTransactionListener"/>
<!-- NameMatcher beans for filtering what shows up as different in compares. -->
<bean id="excludeRegexMatcher" class="org.alfresco.util.RegexNameMatcher">
<property name="patterns">
<!--
NOTE: Regexes are implicitly anchored with ^ and $ in this context.
-->
<list>
<value>.*/#[^/]*</value> <!-- A leaf starting with '#' -->
</list>
</property>
</bean>
<bean id="excludeExtensionMatcher" class="org.alfresco.repo.avm.util.FileExtensionNameMatcher">
<property name="extensions">
<list>
<value>.o</value>
<value>.bak</value>
<value>.tmp</value>
<value>~</value>
</list>
</property>
</bean>
<bean id="globalPathExcluder" class="org.alfresco.util.OrCompositeNameMatcher">
<property name="matchers">
<list>
<ref bean="excludeExtensionMatcher"/>
<ref bean="excludeRegexMatcher"/>
</list>
</property>
</bean>
<!-- Bean used to process content that has expired in AVM staging areas -->
<bean id="avmExpiredContentProcessor" class="org.alfresco.repo.avm.AVMExpiredContentProcessor">
<property name="adminUserName">
<value>admin</value>
</property>
<property name="workflowName">
<value>jbpm$wcmwf:changerequest</value>
</property>
<property name="avmService">
<ref bean="AVMService" />
</property>
<property name="avmSyncService">
<ref bean="AVMSyncService" />
</property>
<property name="avmLockingAwareService">
<ref bean="AVMLockingAwareService" />
<property name="avmStoreDAO">
<ref bean="avmStoreDAO"/>
</property>
<property name="newAvmStoreDAO">
<ref bean="newAvmStoreDAO"/>
</property>
<property name="versionRootDAO">
<ref bean="versionRootDAO"/>
</property>
<property name="newAvmVersionRootDAO">
<ref bean="newAvmVersionRootDAO"/>
</property>
<property name="childEntryDAO">
<ref bean="childEntryDAO"/>
</property>
<property name="historyLinkDAO">
<ref bean="historyLinkDAO"/>
</property>
<property name="mergeLinkDAO">
<ref bean="mergeLinkDAO"/>
</property>
<property name="avmStorePropertyDAO">
<ref bean="avmStorePropertyDAO"/>
</property>
<property name="versionLayeredNodeEntryDAO">
<ref bean="versionLayeredNodeEntryDAO"/>
</property>
<property name="aclDAO">
<ref bean="aclDAO"/>
</property>
</bean>
<bean id="lookupCache" class="org.alfresco.repo.avm.NOOPLookupCache"/>
<bean id="rawServices" class="org.alfresco.repo.avm.util.RawServices"/>
<bean id="orphanReaper" class="org.alfresco.repo.avm.OrphanReaper"
depends-on="AVMService" destroy-method="shutDown">
<property name="activeBaseSleep">
<value>1000</value>
</property>
<property name="batchSize">
<value>50</value>
</property>
<property name="maxQueueLength">
<value>1000</value>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
</bean>
<bean id="createStoreTxnListener" class="org.alfresco.repo.avm.CreateStoreTxnListener"/>
<bean id="purgeStoreTxnListener" class="org.alfresco.repo.avm.PurgeStoreTxnListener"/>
<bean id="createVersionTxnListener" class="org.alfresco.repo.avm.CreateVersionTxnListener"/>
<bean id="purgeVersionTxnListener" class="org.alfresco.repo.avm.PurgeVersionTxnListener"/>
<bean id="avmRepository" class="org.alfresco.repo.avm.AVMRepository">
<property name="lookupCache">
<ref bean="lookupCache"/>
</property>
<property name="contentStore">
<ref bean="fileContentStore"/>
</property>
<property name="createStoreTxnListener">
<ref bean="createStoreTxnListener"/>
</property>
<property name="purgeStoreTxnListener">
<ref bean="purgeStoreTxnListener"/>
</property>
<property name="createVersionTxnListener">
<ref bean="createVersionTxnListener"/>
</property>
<property name="purgeVersionTxnListener">
<ref bean="purgeVersionTxnListener"/>
</property>
<property name="qnameDAO">
<ref bean="qnameDAO"/>
</property>
<property name="avmStoreDAO">
<ref bean="avmStoreDAO"/>
</property>
<property name="avmNodeDAO">
<ref bean="avmNodeDAO"/>
</property>
<property name="versionRootDAO">
<ref bean="versionRootDAO"/>
</property>
<property name="versionLayeredNodeEntryDAO">
<ref bean="versionLayeredNodeEntryDAO"/>
</property>
<property name="avmStorePropertyDAO">
<ref bean="avmStorePropertyDAO"/>
</property>
<property name="childEntryDAO">
<ref bean="childEntryDAO"/>
</property>
<property name="dictionaryService">
<ref bean="dictionaryService"/>
</property>
</bean>
<!-- A Local implementation of the Remote AVM interface. -->
<bean id="avmRemote" class="org.alfresco.repo.avm.AVMRemoteLocal">
<property name="avmService">
<ref bean="AVMService"/>
</property>
</bean>
<!-- Used to notify virtualization server occur after commit/rollback -->
<bean id="AVMSubmitTransactionListener"
class="org.alfresco.repo.avm.wf.AVMSubmitTransactionListener"/>
<!-- NameMatcher beans for filtering what shows up as different in compares. -->
<bean id="excludeRegexMatcher" class="org.alfresco.util.RegexNameMatcher">
<property name="patterns">
<!--
NOTE: Regexes are implicitly anchored with ^ and $ in this context.
-->
<list>
<value>.*/#[^/]*</value> <!-- A leaf starting with '#' -->
</list>
</property>
</bean>
<bean id="excludeExtensionMatcher" class="org.alfresco.repo.avm.util.FileExtensionNameMatcher">
<property name="extensions">
<list>
<value>.o</value>
<value>.bak</value>
<value>.tmp</value>
<value>~</value>
</list>
</property>
</bean>
<bean id="globalPathExcluder" class="org.alfresco.util.OrCompositeNameMatcher">
<property name="matchers">
<list>
<ref bean="excludeExtensionMatcher"/>
<ref bean="excludeRegexMatcher"/>
</list>
</property>
</bean>
<!-- Bean used to process content that has expired in AVM staging areas -->
<bean id="avmExpiredContentProcessor" class="org.alfresco.repo.avm.AVMExpiredContentProcessor">
<property name="adminUserName">
<value>admin</value>
</property>
<property name="workflowName">
<value>jbpm$wcmwf:changerequest</value>
</property>
<property name="avmService">
<ref bean="AVMService" />
</property>
<property name="avmSyncService">
<ref bean="AVMSyncService" />
</property>
<property name="avmLockingAwareService">
<ref bean="AVMLockingAwareService" />
</property>
<property name="avmLockingService">
<ref bean="AVMLockingService" />
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="workflowService">
<ref bean="WorkflowService" />
</property>
<property name="personService">
<ref bean="PersonService" />
</property>
<property name="permissionService">
<ref bean="PermissionService" />
</property>
<property name="transactionService">
<ref bean="TransactionService" />
</property>
<property name="virtServerRegistry">
<ref bean="VirtServerRegistry" />
</property>
<property name="searchService">
<ref bean="SearchService" />
</property>
<property name="sandboxFactory">
<ref bean="sandboxFactory" />
</property>
</bean>
<!-- AVM Locking. -->
<bean id="avmLockingService" class="org.alfresco.repo.avm.locking.AVMLockingServiceImpl">
<property name="attributeService">
<ref bean="attributeService"/>
</property>
<property name="authorityService">
<ref bean="authorityService"/>
</property>
<property name="personService">
<ref bean="personService"/>
</property>
<property name="retryingTransactionHelper">
<ref bean="retryingTransactionHelper"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
<property name="webProjectStore">
<value>workspace://SpacesStore</value>
</property>
</bean>
<bean id="avmSessionSizeResourceInterceptor" class="org.alfresco.repo.transaction.SingleEntryTransactionResourceInterceptor" >
<property name="methodResourceManagers">
<list>
<ref bean="avmSessionSizeResourceManager"></ref>
</list>
</property>
<property name="elapsedTimeBeforeActivationMillis">
<value>500</value>
</property>
<property name="resourceManagerCallFrequencyMillis">
<value>250</value>
</property>
</bean>
<bean id="avmSessionSizeResourceManager" class="org.alfresco.repo.domain.hibernate.SessionSizeResourceManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="writeThreshold">
<value>100</value>
</property>
<property name="readThreshold">
<value>100</value>
</property>
<property name="retentionFactor">
<value>0</value>
</property>
</bean>
</beans>
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="workflowService">
<ref bean="WorkflowService" />
</property>
<property name="personService">
<ref bean="PersonService" />
</property>
<property name="permissionService">
<ref bean="PermissionService" />
</property>
<property name="transactionService">
<ref bean="TransactionService" />
</property>
<property name="virtServerRegistry">
<ref bean="VirtServerRegistry" />
</property>
<property name="searchService">
<ref bean="SearchService" />
</property>
<property name="sandboxFactory">
<ref bean="sandboxFactory" />
</property>
</bean>
<!-- AVM Locking. -->
<bean id="avmLockingService" class="org.alfresco.repo.avm.locking.AVMLockingServiceImpl">
<property name="attributeService">
<ref bean="attributeService"/>
</property>
<property name="authorityService">
<ref bean="authorityService"/>
</property>
<property name="personService">
<ref bean="personService"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
<property name="webProjectStore">
<value>workspace://SpacesStore</value>
</property>
</bean>
<bean id="avmSessionSizeResourceInterceptor" class="org.alfresco.repo.transaction.SingleEntryTransactionResourceInterceptor" >
<property name="methodResourceManagers">
<list>
<ref bean="avmSessionSizeResourceManager"></ref>
</list>
</property>
<property name="elapsedTimeBeforeActivationMillis">
<value>500</value>
</property>
<property name="resourceManagerCallFrequencyMillis">
<value>250</value>
</property>
</bean>
<bean id="avmSessionSizeResourceManager" class="org.alfresco.repo.domain.hibernate.SessionSizeResourceManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="writeThreshold">
<value>100</value>
</property>
<property name="readThreshold">
<value>100</value>
</property>
<property name="retentionFactor">
<value>0</value>
</property>
</bean>
</beans>

View File

@@ -68,22 +68,17 @@
</property>
<property name="preCreateScriptUrls">
<list>
<value>classpath:alfresco/dbscripts/create/3.3/${db.script.dialect}/AlfrescoCreate-3.3-RepoTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-RepoTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-LockTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-ContentTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-PropertyValueTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AuditTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AvmTables.sql</value>
</list>
</property>
<property name="postCreateScriptUrls">
<list>
<value>classpath:alfresco/dbscripts/create/2.2/${db.script.dialect}/AlfrescoPostCreate-2.2-MappedFKIndexes.sql</value>
<value>classpath:alfresco/dbscripts/create/2.2/${db.script.dialect}/AlfrescoPostCreate-2.2-Extra.sql</value>
<value>classpath:alfresco/dbscripts/create/2.2/${db.script.dialect}/post-create-indexes-04.sql</value>
<value>classpath:alfresco/dbscripts/create/3.0/${db.script.dialect}/create-activities-extras.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-LockTables.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-ContentTables.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-PropertyValueTables.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-AuditTables.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-AvmTables.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-Indexes.sql</value>
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-JBPM-Extra.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoPostCreate-JBPM-Extra.sql</value>
</list>
</property>
<property name="validateUpdateScriptPatches">
@@ -92,8 +87,6 @@
</property>
<property name="preUpdateScriptPatches">
<list>
<ref bean="patch.schemaUpdateScript-V1.4-1" />
<ref bean="patch.schemaUpdateScript-V1.4-2" />
<ref bean="patch.db-V2.1-NotNullColumns" />
<ref bean="patch.db-V2.2-ACL-From-2.1-A" />
<ref bean="patch.db-V2.2-ACL" />
@@ -114,7 +107,6 @@
</property>
<property name="postUpdateScriptPatches">
<list>
<ref bean="patch.db-V1.4-TxnCommitTimeIndex" />
<ref bean="patch.db-V2.0-ContentUrls" />
<ref bean="patch.db-V2.1-JBPMData" />
<ref bean="patch.db-V2.1-VersionColumns2" />
@@ -127,7 +119,9 @@
<ref bean="patch.db-V3.2-Modify-AVM-MimeType" />
<ref bean="patch.db-V3.2-Upgrade-JBPM" />
<ref bean="patch.db-V3.3-Remove-VersionCount" />
<ref bean="patch.db-V3.3-Fix-Repo-Seqs_1" />
<ref bean="patch.db-V3.3-Fix-Repo-Seqs" />
<ref bean="patch.db-V3.3-Fix-AVM-Seqs" />
<ref bean="patch.db-V3.3-property-unique-ctx-value" />
</list>
</property>
</bean>
@@ -162,12 +156,6 @@
</property>
</bean>
<!-- Bootstrap AVM Locking Service. -->
<bean id="avmLockingBootstrap" class="org.alfresco.repo.avm.locking.AVMLockingBootstrap">
<property name="avmLockingService" ref="avmLockingService"/>
<property name="transactionService" ref="transactionService"/>
</bean>
<!-- Load models -->
<bean id="dictionaryRepositoryBootstrap" class="org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap">
@@ -541,8 +529,8 @@
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService"/>
<property name="usageDAO">
<ref bean="usageDAO"/>
</property>
<property name="usageService">
<ref bean="usageService"/>

View File

@@ -9,17 +9,6 @@
-->
<beans>
<!-- ==================================================== -->
<!-- EH Cache Manager to produce in-transaction EH Caches -->
<!-- Do not override or cluster -->
<!-- ==================================================== -->
<bean name="transactionalEHCacheManager" class="org.alfresco.repo.cache.EhCacheManagerFactoryBean" >
<property name="configLocation">
<value>classpath:alfresco/ehcache-transactional.xml</value>
</property>
</bean>
<!-- ============================================ -->
<!-- EH Cache Manager to produce shared EH Caches -->
<!-- ============================================ -->
@@ -28,163 +17,19 @@
<!-- ===================================== -->
<!-- ID lookup for QName entities -->
<!-- Property Values Cache -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for QName entities -->
<!-- The cross-transaction shared cache for Property entities -->
<bean name="qnameEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<bean name="propertyValueSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.qnameEntityCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for QName entities -->
<bean name="qnameEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="qnameEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.qnameEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>500</value>
</property>
</bean>
<!-- ===================================== -->
<!-- ID lookup for Namespace entities -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Namespace entities -->
<bean name="namespaceEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.namespaceEntityCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Namespace entities -->
<bean name="namespaceEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="namespaceEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.namespaceEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>100</value>
</property>
</bean>
<!-- ===================================== -->
<!-- ID lookup for Locale entities -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Locale entities -->
<bean name="localeIdSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.localeIdCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for QName entities -->
<bean name="localeIdCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="localeIdSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.localeEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>100</value>
</property>
</bean>
<!-- ===================================== -->
<!-- ID lookup for Mimetype entities -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Mimetype entities -->
<bean name="mimetypeEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.mimetypeEntityCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Mimetype entities -->
<bean name="mimetypeEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="mimetypeEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.mimetypeEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>100</value>
</property>
</bean>
<!-- ===================================== -->
<!-- ID lookup for Encoding entities -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Encoding entities -->
<bean name="encodingEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.encodingEntityCache</value>
<value>org.alfresco.cache.propertyValueCache</value>
</property>
</bean>
</property>
@@ -192,23 +37,20 @@
<!-- The transactional cache for Encoding entities -->
<bean name="encodingEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<bean name="propertyValueCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="encodingEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
<ref bean="propertyValueSharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.encodingEntityTransactionalCache</value>
<value>org.alfresco.cache.propertyValueTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>100</value>
<value>1000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- ID lookup for ContentData entities -->
<!-- ID lookup for Encoding entities -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for ContentData -->
@@ -232,14 +74,11 @@
<property name="sharedCache">
<ref bean="contentDataSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.contentDataTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>10000</value>
<value>1000</value>
</property>
</bean>
@@ -247,7 +86,7 @@
<!-- ID lookup for general, shared, immutable entities -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Encoding entities -->
<!-- The cross-transaction shared cache for immutable entities -->
<bean name="immutableEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
@@ -262,15 +101,12 @@
</property>
</bean>
<!-- The transactional cache for Encoding entities -->
<!-- The transactional cache for immutable entities -->
<bean name="immutableEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="immutableEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.immutableEntityTransactionalCache</value>
</property>
@@ -279,56 +115,152 @@
</property>
</bean>
<!-- =============================== -->
<!-- Store and Node ID cache lookup -->
<!-- =============================== -->
<!-- ===================================== -->
<!-- Root Nodes lookup -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Store IDs -->
<bean name="storeAndNodeIdSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<!-- The cross-transaction shared cache for Root Nodes -->
<bean name="node.rootNodesSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.storeAndNodeIdCache</value>
<value>org.alfresco.cache.node.rootNodesCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Store and Node IDs -->
<!-- The transactional cache for Root Nodes -->
<bean name="storeAndNodeIdCache" class="org.alfresco.repo.cache.TransactionalCache">
<bean name="node.rootNodesCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="storeAndNodeIdSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
<ref bean="node.rootNodesSharedCache" />
</property>
<property name="name">
<value>org.alfresco.storeAndNodeIdTransactionalCache</value>
<value>org.alfresco.cache.node.rootNodesTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>50</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Nodes lookup -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Nodes -->
<bean name="node.nodesSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.node.nodesCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Nodes -->
<bean name="node.nodesCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="node.nodesSharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.node.nodesTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>50000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Node Aspect lookup -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Node Aspects -->
<bean name="node.aspectsSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.node.aspectsCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Node Aspects -->
<bean name="node.aspectsCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="node.aspectsSharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.node.aspectsTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>10000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Node Properties lookup -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Node Properties -->
<bean name="node.propertiesSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.node.propertiesCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Node Properties -->
<bean name="node.propertiesCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="node.propertiesSharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.node.propertiesTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>5000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Parent Associations lookup for nodes -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Parent Associations -->
<bean name="parentAssocsSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<bean name="node.parentAssocsSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.parentAssocsCache</value>
<value>org.alfresco.cache.node.parentAssocsCache</value>
</property>
</bean>
</property>
@@ -336,15 +268,12 @@
<!-- The transactional cache for Parent Associations -->
<bean name="parentAssocsCache" class="org.alfresco.repo.cache.TransactionalCache">
<bean name="node.parentAssocsCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="parentAssocsSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
<ref bean="node.parentAssocsSharedCache" />
</property>
<property name="name">
<value>org.alfresco.parentAssocsTransactionalCache</value>
<value>org.alfresco.cache.node.parentAssocsTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>80000</value>
@@ -365,9 +294,6 @@
<property name="sharedCache">
<ref bean="nodeRulesSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.nodeRulesTransactionalCache</value>
</property>
@@ -401,9 +327,6 @@
<property name="sharedCache">
<ref bean="userToAuthoritySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.userToAuthorityTransactionalCache</value>
</property>
@@ -437,9 +360,6 @@
<property name="sharedCache">
<ref bean="authoritySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.authorityTransactionalCache</value>
</property>
@@ -473,10 +393,6 @@
<property name="sharedCache">
<ref bean="permissionsAccessSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<!-- Eh cache area -->
<property name="name">
<value>org.alfresco.permissionsAccessTransactionalCache</value>
</property>
@@ -510,9 +426,6 @@
<property name="sharedCache">
<ref bean="nodeOwnerSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.nodeOwnerTransactionalCache</value>
</property>
@@ -546,10 +459,6 @@
<property name="sharedCache">
<ref bean="personSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<!-- Eh cache area -->
<property name="name">
<value>org.alfresco.personTransactionalCache</value>
</property>
@@ -583,9 +492,6 @@
<property name="sharedCache">
<ref bean="ticketsSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.ticketsTransactionalCache</value>
</property>
@@ -624,9 +530,6 @@
<property name="sharedCache">
<ref bean="avmStoreSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.avmStoreTransactionalCache</value>
</property>
@@ -656,9 +559,6 @@
<property name="sharedCache">
<ref bean="avmEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.avmEntityTransactionalCache</value>
</property>
@@ -688,9 +588,6 @@
<property name="sharedCache">
<ref bean="avmVersionRootEntitySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.avmVersionRootEntityTransactionalCache</value>
</property>
@@ -720,9 +617,6 @@
<property name="sharedCache">
<ref bean="avmNodeSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.avmNodeTransactionalCache</value>
</property>
@@ -753,9 +647,6 @@
<property name="sharedCache">
<ref bean="avmNodeAspectsSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.cache.avmNodeAspectsTransactionalCache</value>
</property>
@@ -789,9 +680,6 @@
<property name="sharedCache">
<ref bean="webServicesQuerySessionSharedCache"/>
</property>
<property name="cacheManager">
<ref bean="transactionalEHCacheManager"/>
</property>
<property name="name">
<value>org.alfresco.repo.webservices.querySessionTransactionalCache</value>
</property>
@@ -826,9 +714,6 @@
<property name="sharedCache">
<ref bean="aclSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.aclTransactionalCache</value>
</property>
@@ -836,11 +721,122 @@
<value>10000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- ACL Entity cache -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for ACL entities -->
<bean name="aclEntitySharedCache" class="org.alfresco.repo.cache.NullCache"/>
<!--
<bean name="aclEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.permissions.aclEntityCache</value>
</property>
</bean>
</property>
</bean>
-->
<!-- The transactional cache for ACL entities -->
<bean name="aclEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="aclEntitySharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.aclEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>50000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Authority Entity cache -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Authority entities -->
<bean name="authorityEntitySharedCache" class="org.alfresco.repo.cache.NullCache"/>
<!--
<bean name="authorityEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.permissions.authorityEntityCache</value>
</property>
</bean>
</property>
</bean>
-->
<!-- The transactional cache for Authority entities -->
<bean name="authorityEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="authorityEntitySharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.authorityEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>50000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Permission Entity cache -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Permission entities -->
<bean name="permissionEntitySharedCache" class="org.alfresco.repo.cache.NullCache"/>
<!--
<bean name="permissionEntitySharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
<property name="cache">
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
<property name="cacheManager">
<ref bean="internalEHCacheManager" />
</property>
<property name="cacheName">
<value>org.alfresco.cache.permissions.permissionEntityCache</value>
</property>
</bean>
</property>
</bean>
-->
<!-- The transactional cache for Permission entities -->
<bean name="permissionEntityCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="permissionEntitySharedCache" />
</property>
<property name="name">
<value>org.alfresco.cache.permissionEntityTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>50000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Messages Caches -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for In-Memory ResourceBundleBaseNames -->
<bean name="resourceBundleBaseNamesSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
@@ -862,9 +858,6 @@
<property name="sharedCache">
<ref bean="resourceBundleBaseNamesSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.resourceBundleBaseNamesTransactionalCache</value>
</property>
@@ -894,9 +887,6 @@
<property name="sharedCache">
<ref bean="loadedResourceBundlesSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.loadedResourceBundlesTransactionalCache</value>
</property>
@@ -926,9 +916,6 @@
<property name="sharedCache">
<ref bean="messagesSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.messagesTransactionalCache</value>
</property>
@@ -963,9 +950,6 @@
<property name="sharedCache">
<ref bean="compiledModelsSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.compiledModelsTransactionalCache</value>
</property>
@@ -995,9 +979,6 @@
<property name="sharedCache">
<ref bean="prefixesSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.prefixesTransactionalCache</value>
</property>
@@ -1031,9 +1012,6 @@
<property name="sharedCache">
<ref bean="webScriptsRegistrySharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.webScriptsRegistryTransactionalCache</value>
</property>
@@ -1067,9 +1045,6 @@
<property name="sharedCache">
<ref bean="routingContentStoreSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.routingContentStoreTransactionalCache</value>
</property>

View File

@@ -51,9 +51,6 @@
<property name="contentService" >
<ref bean="contentService" />
</property>
<property name="nodeDaoService" >
<ref bean="nodeDaoService" />
</property>
<property name="avmNodeDAO">
<ref bean="newAvmNodeDAO"/>
</property>

View File

@@ -411,7 +411,6 @@
<value>alfresco.messages.webdav-messages</value>
<value>alfresco.messages.copy-service</value>
<value>alfresco.messages.avm-messages</value>
<value>alfresco.messages.linkvalidation-messages</value>
<value>alfresco.messages.content-filter-languages</value>
<value>alfresco.messages.jbpm-engine-messages</value>
</list>
@@ -448,14 +447,6 @@
</bean>
<!-- -->
<!-- Property Component -->
<!-- -->
<bean id="propertyValueComponent" class="org.alfresco.repo.props.PropertyValueComponentImpl" init-method="init">
<property name="propertyValueDAO" ref="propertyValueDAO"/>
</bean>
<!-- -->
<!-- Indexing and Search API -->
<!-- -->
@@ -721,7 +712,7 @@
<ref bean="indexThreadPoolExecutor"></ref>
</property>
<property name="bulkLoader">
<ref bean="nodeDaoServiceImpl"></ref>
<ref bean="nodeDAO"></ref>
</property>
</bean>

View File

@@ -40,9 +40,10 @@
<bean id="feedControlDAO" class="org.alfresco.repo.domain.activities.ibatis.FeedControlDAOImpl">
<property name="sqlMapClient" ref="activitiesSqlMapClient"/>
</bean>
<bean id="patchDAO" class="org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl">
<property name="sqlMapClientTemplate" ref="repoSqlMapClientTemplate"/>
<property name="qnameDAO" ref="qnameDAO"/>
<property name="contentDataDAO" ref="contentDataDAO"/>
</bean>
@@ -56,6 +57,23 @@
<property name="qnameCache" ref="immutableEntityCache"/>
</bean>
<bean id="nodeDAO" class="org.alfresco.repo.domain.node.ibatis.NodeDAOImpl" init-method="init">
<property name="sqlMapClientTemplate" ref="repoSqlMapClientTemplate"/>
<property name="dictionaryService" ref="dictionaryService"/>
<property name="policyBehaviourFilter" ref="policyBehaviourFilter" />
<property name="aclDAO" ref="aclDAO"/>
<property name="accessControlListDAO" ref="admNodeACLDAO"/>
<property name="qnameDAO" ref="qnameDAO"/>
<property name="contentDataDAO" ref="contentDataDAO"/>
<property name="localeDAO" ref="localeDAO"/>
<property name="usageDAO" ref="usageDAO"/>
<property name="rootNodesCache" ref="node.rootNodesCache"/>
<property name="nodesCache" ref="node.nodesCache"/>
<property name="aspectsCache" ref="node.aspectsCache"/>
<property name="propertiesCache" ref="node.propertiesCache"/>
<property name="parentAssocsCache" ref="node.parentAssocsCache"/>
</bean>
<bean id="lockDAO" class="org.alfresco.repo.domain.locks.ibatis.LockDAOImpl">
<property name="sqlMapClientTemplate" ref="locksSqlMapClientTemplate"/>
<property name="qnameDAO" ref="qnameDAO"/>
@@ -63,12 +81,17 @@
<bean id="mimetypeDAO" class="org.alfresco.repo.domain.mimetype.ibatis.MimetypeDAOImpl">
<property name="sqlMapClientTemplate" ref="contentSqlMapClientTemplate"/>
<property name="mimetypeEntityCache" ref="mimetypeEntityCache"/>
<property name="mimetypeEntityCache" ref="immutableEntityCache"/>
</bean>
<bean id="encodingDAO" class="org.alfresco.repo.domain.encoding.ibatis.EncodingDAOImpl">
<property name="sqlMapClientTemplate" ref="contentSqlMapClientTemplate"/>
<property name="encodingEntityCache" ref="encodingEntityCache"/>
<property name="encodingEntityCache" ref="immutableEntityCache"/>
</bean>
<bean id="localeDAO" class="org.alfresco.repo.domain.locale.ibatis.LocaleDAOImpl">
<property name="sqlMapClientTemplate" ref="repoSqlMapClientTemplate"/>
<property name="localeEntityCache" ref="immutableEntityCache"/>
</bean>
<bean id="contentDataDAO" class="org.alfresco.repo.domain.contentdata.ibatis.ContentDataDAOImpl">
@@ -85,15 +108,16 @@
<property name="converter">
<bean class="org.alfresco.repo.domain.propval.DefaultPropertyTypeConverter"/>
</property>
<property name="controlDAO" ref="controlDAO"/>
<!--
<property name="propertyClassCache" ref="immutableEntityCache"/>
<property name="propertyDateValueCache" ref="immutableEntityCache"/>
<property name="propertyStringValueCache" ref="immutableEntityCache"/>
<property name="propertyDoubleValueCache" ref="immutableEntityCache"/>
<property name="propertySerializableValueCache" ref="immutableEntityCache"/>
<property name="propertyClassCache" ref="propertyValueCache"/>
<property name="propertyDateValueCache" ref="propertyValueCache"/>
<property name="propertyStringValueCache" ref="propertyValueCache"/>
<property name="propertyDoubleValueCache" ref="propertyValueCache"/>
<property name="propertySerializableValueCache" ref="propertyValueCache"/>
-->
<property name="propertyValueCache" ref="immutableEntityCache"/>
<property name="propertyCache" ref="immutableEntityCache"/>
<property name="propertyValueCache" ref="propertyValueCache"/>
<property name="propertyCache" ref="propertyValueCache"/>
</bean>
<bean id="auditDAO" class="org.alfresco.repo.domain.audit.ibatis.AuditDAOImpl">
@@ -132,4 +156,84 @@
<property name="versionRootEntityCache" ref="avmVersionRootEntityCache"/>
</bean>
<!-- Permissions (including ACLs / ACEs) -->
<bean id="permissionsDaoComponent" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
<property name="proxyInterface">
<value>org.alfresco.repo.security.permissions.impl.PermissionsDaoComponent</value>
</property>
<property name="defaultBinding">
<ref bean="admPermissionsDaoComponent"></ref>
</property>
<property name="redirectedProtocolBindings">
<map>
<entry key="workspace"><ref bean="admPermissionsDaoComponent"></ref></entry>
<entry key="versionStore"><ref bean="admPermissionsDaoComponent"></ref></entry>
<entry key="avm"><ref bean="avmPermissionsDaoComponent"/></entry>
</map>
</property>
</bean>
<bean id="avmPermissionsDaoComponent" class="org.alfresco.repo.domain.permissions.AVMPermissionsDaoComponentImpl">
<property name="aclDAO">
<ref bean="aclDAO"/>
</property>
<property name="protocolToACLDAO">
<map>
<entry key="workspace"><ref bean="admNodeACLDAO"></ref></entry>
<entry key="avm"><ref bean="avmNodeACLDAO"/></entry>
</map>
</property>
<property name="defaultACLDAO">
<ref bean="admNodeACLDAO"/>
</property>
</bean>
<bean id="admPermissionsDaoComponent" class="org.alfresco.repo.domain.permissions.ADMPermissionsDaoComponentImpl">
<property name="aclDAO">
<ref bean="aclDAO"/>
</property>
<property name="protocolToACLDAO">
<map>
<entry key="workspace"><ref bean="admNodeACLDAO"></ref></entry>
<entry key="avm"><ref bean="avmNodeACLDAO"/></entry>
</map>
</property>
<property name="defaultACLDAO">
<ref bean="admNodeACLDAO"/>
</property>
</bean>
<bean id="admNodeACLDAO" class="org.alfresco.repo.domain.permissions.ADMAccessControlListDAO">
<property name="nodeDAO" ref="nodeDAO"/>
<property name="aclDAO" ref="aclDAO"/>
</bean>
<bean id="avmNodeACLDAO" class="org.alfresco.repo.domain.permissions.AVMAccessControlListDAO">
<property name="avmRepository" ref="avmRepository"/>
<property name="avmService" ref="avmService"/>
<property name="aclDAO" ref="aclDAO"/>
<property name="avmNodeDAO" ref="newAvmNodeDAO"/>
</bean>
<bean id="aclCrudDAO" class="org.alfresco.repo.domain.permissions.ibatis.AclCrudDAOImpl">
<property name="sqlMapClientTemplate" ref="repoSqlMapClientTemplate"/>
<property name="qnameDAO" ref="qnameDAO"/>
<property name="aclCache" ref="aclEntityCache"/>
<property name="authorityCache" ref="authorityEntityCache"/>
<property name="permissionCache" ref="permissionEntityCache"/>
</bean>
<bean id="aclDAO" class="org.alfresco.repo.domain.permissions.AclDAOImpl">
<property name="qnameDAO" ref="qnameDAO"/>
<property name="aclCrudDAO" ref="aclCrudDAO"/>
<property name="aclCache" ref="aclCache"/>
</bean>
<bean id="usageDAO" class="org.alfresco.repo.domain.usage.ibatis.UsageDAOImpl">
<property name="sqlMapClientTemplate" ref="repoSqlMapClientTemplate"/>
<property name="qnameDAO" ref="qnameDAO"/>
<property name="nodeDAO" ref="nodeDAO"/>
</bean>
</beans>

View File

@@ -1,8 +0,0 @@
--
-- More post-creation indexes. (Generic Schema 1.4)
--
-- These are not declared in the Hibernate mappings.
--
-- Association QNames
CREATE INDEX idx_ca_qname ON alf_child_assoc (qname);

View File

@@ -1,4 +0,0 @@
--
-- Insert post-creation scripts here
-- This is a generic fallback for cases where specific dialects are not catered for
--

View File

@@ -1,4 +0,0 @@
--
-- Insert post-creation scripts here
-- This is specific to the dialect described in the path to the file
--

View File

@@ -1,41 +0,0 @@
--
-- Title: Post-Create Constraints
-- Database: Generic
-- Since: V2.2 Schema 86
-- Author: Derek Hulley
--
-- Certain Hibernate mappings don't allow constraints to be declared and are therefore
-- explicitly required. All other constraints are automatically added by the
-- Hibernate-generated script.
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
--
-- Explicit indexes and constraints not declared in the mappings
--
CREATE INDEX fk_alf_cass_tqn ON alf_child_assoc (type_qname_id);
ALTER TABLE alf_child_assoc ADD CONSTRAINT fk_alf_cass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id);
CREATE INDEX fk_alf_cass_qnns ON alf_child_assoc (qname_ns_id);
ALTER TABLE alf_child_assoc ADD CONSTRAINT fk_alf_cass_qnns FOREIGN KEY (qname_ns_id) REFERENCES alf_namespace (id);
CREATE INDEX fk_alf_node_tqn ON alf_node (type_qname_id);
ALTER TABLE alf_node ADD CONSTRAINT fk_alf_node_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id);
CREATE INDEX fk_alf_nasp_qn ON alf_node_aspects (qname_id);
ALTER TABLE alf_node_aspects ADD CONSTRAINT fk_alf_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
CREATE INDEX fk_alf_nass_tqn ON alf_node_assoc (type_qname_id);
ALTER TABLE alf_node_assoc ADD CONSTRAINT fk_alf_nass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id);
CREATE INDEX fk_alf_nprop_qn ON alf_node_properties (qname_id);
ALTER TABLE alf_node_properties ADD CONSTRAINT fk_alf_nprop_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id);
CREATE INDEX fk_alf_nprop_loc ON alf_node_properties (locale_id);
ALTER TABLE alf_node_properties ADD CONSTRAINT fk_alf_nprop_loc FOREIGN KEY (locale_id) REFERENCES alf_locale (id);
CREATE INDEX fk_alf_perm_tqn ON alf_permission (type_qname_id);
ALTER TABLE alf_permission ADD CONSTRAINT fk_alf_perm_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id);

View File

@@ -1,12 +0,0 @@
--
-- Title: Audit Path index
-- Database: Generic
-- Since: V2.1 Schema 81
-- Author: Andy Hind
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- Audit path index
CREATE INDEX idx_alf_adtf_pth ON alf_audit_fact (path);

View File

@@ -1,12 +0,0 @@
--
-- Title: Audit Path index
-- Database: Generic
-- Since: V2.1 Schema 81
-- Author: Andy Hind
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- Audit path index
CREATE INDEX idx_alf_adtf_pth ON alf_audit_fact (path(128));

View File

@@ -1,11 +0,0 @@
--
-- Title: Additional Indexes
-- Database: Generic
-- Since: V3.2 schema 2023
-- Author: davew
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
-- Additional indexes
CREATE INDEX idx_alf_cass_qncrc on alf_child_assoc (qname_crc, type_qname_id, parent_node_id);

View File

@@ -1,44 +0,0 @@
--
-- Title: Core Repository Tables
-- Database: MySQL InnoDB
-- Since: V3.3 Schema 4000
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_applied_patch
(
id VARCHAR(64) NOT NULL,
description TEXT,
fixes_from_schema INTEGER,
fixes_to_schema INTEGER,
applied_to_schema INTEGER,
target_schema INTEGER,
applied_on_date DATETIME,
applied_to_server VARCHAR(64),
was_executed BIT,
succeeded BIT,
report TEXT,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_namespace
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
uri VARCHAR(100) NOT NULL,
UNIQUE (uri),
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_qname
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
ns_id BIGINT NOT NULL,
local_name VARCHAR(200) NOT NULL,
CONSTRAINT FOREIGN KEY fk_alf_qname_ns (ns_id) REFERENCES alf_namespace (id),
UNIQUE (ns_id, local_name),
PRIMARY KEY (id)
) ENGINE=InnoDB;

View File

@@ -1,48 +0,0 @@
--
-- Title: Core Repository Tables
-- Database: PostgreSQL
-- Since: V3.3 Schema 4000
-- Author: unknown
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_applied_patch
(
id VARCHAR(64) NOT NULL,
description VARCHAR(1024),
fixes_from_schema INT4,
fixes_to_schema INT4,
applied_to_schema INT4,
target_schema INT4,
applied_on_date TIMESTAMP,
applied_to_server VARCHAR(64),
was_executed BOOL,
succeeded BOOL,
report VARCHAR(1024),
PRIMARY KEY (id)
);
CREATE TABLE alf_namespace
(
id INT8 NOT NULL,
version INT8 NOT NULL,
uri VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX uri ON alf_namespace (uri);
CREATE SEQUENCE alf_namespace_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_qname
(
id INT8 NOT NULL,
version INT8 NOT NULL,
ns_id INT8 NOT NULL,
local_name VARCHAR(200) NOT NULL,
CONSTRAINT fk_alf_qname_ns FOREIGN KEY (ns_id) REFERENCES alf_namespace (id),
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX ns_id ON alf_qname (ns_id, local_name);
CREATE INDEX fk_alf_qname_ns ON alf_qname (ns_id);
CREATE SEQUENCE alf_qname_seq START WITH 1 INCREMENT BY 1;

View File

@@ -100,10 +100,12 @@ CREATE TABLE alf_prop_unique_ctx
value1_prop_id BIGINT NOT NULL,
value2_prop_id BIGINT NOT NULL,
value3_prop_id BIGINT NOT NULL,
prop1_id BIGINT NULL,
UNIQUE INDEX idx_alf_propuctx (value1_prop_id, value2_prop_id, value3_prop_id),
CONSTRAINT fk_alf_propuctx_v1 FOREIGN KEY (value1_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_v2 FOREIGN KEY (value2_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_v3 FOREIGN KEY (value3_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_p1 FOREIGN KEY (prop1_id) REFERENCES alf_prop_root (id),
PRIMARY KEY (id)
) ENGINE=InnoDB;

View File

@@ -0,0 +1,503 @@
--
-- Title: Core Repository Tables
-- Database: MySQL InnoDB
-- Since: V3.3 Schema 4000
-- Author: Derek Hulley, janv
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_applied_patch
(
id VARCHAR(64) NOT NULL,
description TEXT,
fixes_from_schema INTEGER,
fixes_to_schema INTEGER,
applied_to_schema INTEGER,
target_schema INTEGER,
applied_on_date DATETIME,
applied_to_server VARCHAR(64),
was_executed BIT,
succeeded BIT,
report TEXT,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_namespace
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
uri VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uri (uri)
) ENGINE=InnoDB;
CREATE TABLE alf_qname
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
ns_id BIGINT NOT NULL,
local_name VARCHAR(200) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ns_id (ns_id, local_name),
KEY fk_alf_qname_ns (ns_id),
CONSTRAINT fk_alf_qname_ns FOREIGN KEY (ns_id) REFERENCES alf_namespace (id)
) ENGINE=InnoDB;
CREATE TABLE alf_permission
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
type_qname_id BIGINT NOT NULL,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY type_qname_id (type_qname_id, name),
KEY fk_alf_perm_tqn (type_qname_id),
CONSTRAINT fk_alf_perm_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_ace_context
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
class_context TEXT,
property_context TEXT,
kvp_context TEXT,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_authority
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
authority VARCHAR(100),
crc BIGINT,
PRIMARY KEY (id),
UNIQUE KEY authority (authority, crc),
KEY idx_alf_auth_aut (authority)
) ENGINE=InnoDB;
CREATE TABLE alf_access_control_entry
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
permission_id BIGINT NOT NULL,
authority_id BIGINT NOT NULL,
allowed BIT NOT NULL,
applies INTEGER NOT NULL,
context_id BIGINT,
PRIMARY KEY (id),
UNIQUE KEY permission_id (permission_id, authority_id, allowed, applies, context_id),
KEY fk_alf_ace_ctx (context_id),
KEY fk_alf_ace_perm (permission_id),
KEY fk_alf_ace_auth (authority_id),
CONSTRAINT fk_alf_ace_auth FOREIGN KEY (authority_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_ace_ctx FOREIGN KEY (context_id) REFERENCES alf_ace_context (id),
CONSTRAINT fk_alf_ace_perm FOREIGN KEY (permission_id) REFERENCES alf_permission (id)
) ENGINE=InnoDB;
CREATE TABLE alf_acl_change_set
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_access_control_list
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
acl_id VARCHAR(36) NOT NULL,
latest BIT NOT NULL,
acl_version BIGINT NOT NULL,
inherits BIT NOT NULL,
inherits_from BIGINT,
type INTEGER NOT NULL,
inherited_acl BIGINT,
is_versioned BIT NOT NULL,
requires_version BIT NOT NULL,
acl_change_set BIGINT,
PRIMARY KEY (id),
UNIQUE KEY acl_id (acl_id, latest, acl_version),
KEY idx_alf_acl_inh (inherits, inherits_from),
KEY fk_alf_acl_acs (acl_change_set),
CONSTRAINT fk_alf_acl_acs FOREIGN KEY (acl_change_set) REFERENCES alf_acl_change_set (id)
) ENGINE=InnoDB;
CREATE TABLE alf_acl_member
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
acl_id BIGINT NOT NULL,
ace_id BIGINT NOT NULL,
pos INTEGER NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY aclm_acl_id (acl_id, ace_id, pos),
KEY fk_alf_aclm_acl (acl_id),
KEY fk_alf_aclm_ace (ace_id),
CONSTRAINT fk_alf_aclm_ace FOREIGN KEY (ace_id) REFERENCES alf_access_control_entry (id),
CONSTRAINT fk_alf_aclm_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
) ENGINE=InnoDB;
CREATE TABLE alf_authority_alias
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
auth_id BIGINT NOT NULL,
alias_id BIGINT NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY auth_id (auth_id, alias_id),
KEY fk_alf_autha_ali (alias_id),
KEY fk_alf_autha_aut (auth_id),
CONSTRAINT fk_alf_autha_aut FOREIGN KEY (auth_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_autha_ali FOREIGN KEY (alias_id) REFERENCES alf_authority (id)
) ENGINE=InnoDB;
CREATE TABLE alf_activity_feed
(
id BIGINT NOT NULL AUTO_INCREMENT,
post_id BIGINT,
post_date DATETIME NOT NULL,
activity_summary TEXT,
feed_user_id VARCHAR(255),
activity_type VARCHAR(255) NOT NULL,
activity_format VARCHAR(10),
site_network VARCHAR(255),
app_tool VARCHAR(36),
post_user_id VARCHAR(255) NOT NULL,
feed_date DATETIME NOT NULL,
PRIMARY KEY (id),
KEY feed_postdate_idx (post_date),
KEY feed_postuserid_idx (post_user_id),
KEY feed_feeduserid_idx (feed_user_id),
KEY feed_sitenetwork_idx (site_network),
KEY feed_activityformat_idx (activity_format)
) ENGINE=InnoDB;
CREATE TABLE alf_activity_feed_control
(
id BIGINT NOT NULL AUTO_INCREMENT,
feed_user_id VARCHAR(255) NOT NULL,
site_network VARCHAR(255),
app_tool VARCHAR(36),
last_modified DATETIME NOT NULL,
PRIMARY KEY (id),
KEY feedctrl_feeduserid_idx (feed_user_id)
) ENGINE=InnoDB;
CREATE TABLE alf_activity_post
(
sequence_id BIGINT NOT NULL AUTO_INCREMENT,
post_date DATETIME NOT NULL,
status VARCHAR(10) NOT NULL,
activity_data TEXT NOT NULL,
post_user_id VARCHAR(255) NOT NULL,
job_task_node INTEGER NOT NULL,
site_network VARCHAR(255),
app_tool VARCHAR(36),
activity_type VARCHAR(255) NOT NULL,
last_modified DATETIME NOT NULL,
PRIMARY KEY (sequence_id),
KEY post_jobtasknode_idx (job_task_node),
KEY post_status_idx (status)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_config
(
id BIGINT NOT NULL AUTO_INCREMENT,
config_url TEXT NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_date
(
id BIGINT NOT NULL AUTO_INCREMENT,
date_only date NOT NULL,
day_of_year INTEGER NOT NULL,
day_of_month INTEGER NOT NULL,
day_of_week INTEGER NOT NULL,
week_of_year INTEGER NOT NULL,
week_of_month INTEGER NOT NULL,
month INTEGER NOT NULL,
quarter INTEGER NOT NULL,
half_year INTEGER NOT NULL,
full_year INTEGER NOT NULL,
PRIMARY KEY (id),
KEY idx_alf_adtd_woy (week_of_year),
KEY idx_alf_adtd_fy (full_year),
KEY idx_alf_adtd_q (quarter),
KEY idx_alf_adtd_wom (week_of_month),
KEY idx_alf_adtd_dom (day_of_month),
KEY idx_alf_adtd_doy (day_of_year),
KEY idx_alf_adtd_dow (day_of_week),
KEY idx_alf_adtd_m (month),
KEY idx_alf_adtd_hy (half_year),
KEY idx_alf_adtd_dat (date_only)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_source
(
id BIGINT NOT NULL AUTO_INCREMENT,
application VARCHAR(255) NOT NULL,
service VARCHAR(255),
method VARCHAR(255),
PRIMARY KEY (id),
KEY idx_alf_adts_met (method),
KEY idx_alf_adts_ser (service),
KEY idx_alf_adts_app (application)
) ENGINE=InnoDB;
CREATE TABLE alf_audit_fact
(
id BIGINT NOT NULL AUTO_INCREMENT,
user_id VARCHAR(255) NOT NULL,
timestamp DATETIME NOT NULL,
transaction_id VARCHAR(56) NOT NULL,
session_id VARCHAR(56),
store_protocol VARCHAR(50),
store_id VARCHAR(100),
node_uuid VARCHAR(36),
path TEXT,
filtered BIT NOT NULL,
return_val TEXT,
arg_1 TEXT,
arg_2 TEXT,
arg_3 TEXT,
arg_4 TEXT,
arg_5 TEXT,
fail BIT NOT NULL,
serialized_url TEXT,
exception_message TEXT,
host_address TEXT,
client_address TEXT,
message_text TEXT,
audit_date_id BIGINT NOT NULL,
audit_conf_id BIGINT NOT NULL,
audit_source_id BIGINT NOT NULL,
PRIMARY KEY (id),
KEY idx_alf_adtf_ref (store_protocol, store_id, node_uuid),
KEY idx_alf_adtf_usr (user_id),
KEY fk_alf_adtf_src (audit_source_id),
KEY fk_alf_adtf_date (audit_date_id),
KEY fk_alf_adtf_conf (audit_conf_id),
KEY idx_alf_adtf_pth (path(128)),
CONSTRAINT fk_alf_adtf_conf FOREIGN KEY (audit_conf_id) REFERENCES alf_audit_config (id),
CONSTRAINT fk_alf_adtf_date FOREIGN KEY (audit_date_id) REFERENCES alf_audit_date (id),
CONSTRAINT fk_alf_adtf_src FOREIGN KEY (audit_source_id) REFERENCES alf_audit_source (id)
) ENGINE=InnoDB;
CREATE TABLE alf_server
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
ip_address VARCHAR(39) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ip_address (ip_address)
) ENGINE=InnoDB;
CREATE TABLE alf_transaction
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
server_id BIGINT,
change_txn_id VARCHAR(56) NOT NULL,
commit_time_ms BIGINT,
PRIMARY KEY (id),
KEY idx_alf_txn_ctms (commit_time_ms),
KEY fk_alf_txn_svr (server_id),
CONSTRAINT fk_alf_txn_svr FOREIGN KEY (server_id) REFERENCES alf_server (id)
) ENGINE=InnoDB;
CREATE TABLE alf_store
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
protocol VARCHAR(50) NOT NULL,
identifier VARCHAR(100) NOT NULL,
root_node_id BIGINT,
PRIMARY KEY (id),
UNIQUE KEY protocol (protocol, identifier)
) ENGINE=InnoDB;
CREATE TABLE alf_node
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
store_id BIGINT NOT NULL,
uuid VARCHAR(36) NOT NULL,
transaction_id BIGINT NOT NULL,
node_deleted bit NOT NULL,
type_qname_id BIGINT NOT NULL,
acl_id BIGINT,
audit_creator VARCHAR(255),
audit_created VARCHAR(30),
audit_modifier VARCHAR(255),
audit_modified VARCHAR(30),
audit_accessed VARCHAR(30),
PRIMARY KEY (id),
UNIQUE KEY store_id (store_id, uuid),
KEY idx_alf_node_del (node_deleted),
KEY fk_alf_node_acl (acl_id),
KEY fk_alf_node_txn (transaction_id),
KEY fk_alf_node_store (store_id),
KEY fk_alf_node_tqn (type_qname_id),
CONSTRAINT fk_alf_node_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id),
CONSTRAINT fk_alf_node_store FOREIGN KEY (store_id) REFERENCES alf_store (id),
CONSTRAINT fk_alf_node_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id),
CONSTRAINT fk_alf_node_txn FOREIGN KEY (transaction_id) REFERENCES alf_transaction (id)
) ENGINE=InnoDB;
ALTER TABLE alf_store ADD INDEX fk_alf_store_root (root_node_id), ADD CONSTRAINT fk_alf_store_root FOREIGN KEY (root_node_id) REFERENCES alf_node (id);
CREATE TABLE alf_child_assoc
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
parent_node_id BIGINT NOT NULL,
type_qname_id BIGINT NOT NULL,
child_node_name_crc BIGINT NOT NULL,
child_node_name VARCHAR(50) NOT NULL,
child_node_id BIGINT NOT NULL,
qname_ns_id BIGINT NOT NULL,
qname_localname VARCHAR(255) NOT NULL,
qname_crc BIGINT NOT NULL,
is_primary bit,
assoc_index INTEGER,
PRIMARY KEY (id),
UNIQUE KEY parent_node_id (parent_node_id, type_qname_id, child_node_name_crc, child_node_name),
KEY fk_alf_cass_pnode (parent_node_id),
KEY fk_alf_cass_cnode (child_node_id),
KEY fk_alf_cass_tqn (type_qname_id),
KEY fk_alf_cass_qnns (qname_ns_id),
KEY idx_alf_cass_qncrc (qname_crc, type_qname_id, parent_node_id),
KEY idx_alf_cass_pri (parent_node_id, is_primary, child_node_id),
CONSTRAINT fk_alf_cass_cnode FOREIGN KEY (child_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_pnode FOREIGN KEY (parent_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_qnns FOREIGN KEY (qname_ns_id) REFERENCES alf_namespace (id),
CONSTRAINT fk_alf_cass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_locale
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
locale_str VARCHAR(20) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY locale_str (locale_str)
) ENGINE=InnoDB;
CREATE TABLE alf_attributes
(
id BIGINT NOT NULL AUTO_INCREMENT,
type VARCHAR(1) NOT NULL,
version BIGINT NOT NULL,
acl_id BIGINT,
bool_value BIT,
byte_value TINYINT,
short_value SMALLINT,
int_value INTEGER,
long_value BIGINT,
float_value FLOAT,
double_value DOUBLE PRECISION,
string_value TEXT,
serializable_value BLOB,
PRIMARY KEY (id),
KEY fk_alf_attr_acl (acl_id),
CONSTRAINT fk_alf_attr_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
) ENGINE=InnoDB;
CREATE TABLE alf_global_attributes
(
name VARCHAR(160) NOT NULL,
attribute BIGINT,
PRIMARY KEY (name),
UNIQUE KEY attribute (attribute),
KEY fk_alf_gatt_att (attribute),
CONSTRAINT fk_alf_gatt_att FOREIGN KEY (attribute) REFERENCES alf_attributes (id)
) ENGINE=InnoDB;
CREATE TABLE alf_list_attribute_entries
(
list_id BIGINT NOT NULL,
mindex INTEGER NOT NULL,
attribute_id BIGINT,
PRIMARY KEY (list_id, mindex),
KEY fk_alf_lent_att (attribute_id),
KEY fk_alf_lent_latt (list_id),
CONSTRAINT fk_alf_lent_att FOREIGN KEY (attribute_id) REFERENCES alf_attributes (id),
CONSTRAINT fk_alf_lent_latt FOREIGN KEY (list_id) REFERENCES alf_attributes (id)
) ENGINE=InnoDB;
CREATE TABLE alf_map_attribute_entries
(
map_id BIGINT NOT NULL,
mkey VARCHAR(160) NOT NULL,
attribute_id BIGINT,
PRIMARY KEY (map_id, mkey),
KEY fk_alf_matt_matt (map_id),
KEY fk_alf_matt_att (attribute_id),
CONSTRAINT fk_alf_matt_att FOREIGN KEY (attribute_id) REFERENCES alf_attributes (id),
CONSTRAINT fk_alf_matt_matt FOREIGN KEY (map_id) REFERENCES alf_attributes (id)
) ENGINE=InnoDB;
CREATE TABLE alf_node_aspects
(
node_id BIGINT NOT NULL,
qname_id BIGINT NOT NULL,
PRIMARY KEY (node_id, qname_id),
KEY fk_alf_nasp_n (node_id),
KEY fk_alf_nasp_qn (qname_id),
CONSTRAINT fk_alf_nasp_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_node_assoc
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
source_node_id BIGINT NOT NULL,
target_node_id BIGINT NOT NULL,
type_qname_id BIGINT NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY source_node_id (source_node_id, target_node_id, type_qname_id),
KEY k_alf_nass_snode (source_node_id),
KEY fk_alf_nass_tnode (target_node_id),
KEY fk_alf_nass_tqn (type_qname_id),
CONSTRAINT fk_alf_nass_snode FOREIGN KEY (source_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nass_tnode FOREIGN KEY (target_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_node_properties
(
node_id BIGINT NOT NULL,
actual_type_n INTEGER NOT NULL,
persisted_type_n INTEGER NOT NULL,
boolean_value bit,
long_value BIGINT,
float_value float,
double_value double precision,
string_value text,
serializable_value blob,
qname_id BIGINT NOT NULL,
list_index INTEGER NOT NULL,
locale_id BIGINT NOT NULL,
PRIMARY KEY (node_id, qname_id, list_index, locale_id),
KEY fk_alf_nprop_n (node_id),
KEY fk_alf_nprop_qn (qname_id),
KEY fk_alf_nprop_loc (locale_id),
CONSTRAINT fk_alf_nprop_loc FOREIGN KEY (locale_id) REFERENCES alf_locale (id),
CONSTRAINT fk_alf_nprop_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nprop_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
) ENGINE=InnoDB;
CREATE TABLE alf_usage_delta
(
id BIGINT NOT NULL AUTO_INCREMENT,
version BIGINT NOT NULL,
node_id BIGINT NOT NULL,
delta_size BIGINT NOT NULL,
PRIMARY KEY (id),
KEY fk_alf_usaged_n (node_id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id)
) ENGINE=InnoDB;

View File

@@ -75,6 +75,8 @@
primary key (id)
);
create sequence avm_nodes_seq start with 1 increment by 1;
create table avm_store_properties (
id INT8 not null,
avm_store_id INT8,
@@ -91,6 +93,8 @@
primary key (id)
);
create sequence avm_store_properties_seq start with 1 increment by 1;
create table avm_stores (
id INT8 not null,
vers INT8 not null,
@@ -101,6 +105,8 @@
primary key (id)
);
create sequence avm_stores_seq start with 1 increment by 1;
create table avm_version_layered_node_entry (
version_root_id INT8 not null,
md5sum varchar(32) not null,
@@ -121,6 +127,8 @@
unique (version_id, avm_store_id)
);
create sequence avm_version_roots_seq start with 1 increment by 1;
alter table avm_aspects
add constraint fk_avm_nasp_n
foreign key (node_id)
@@ -195,6 +203,12 @@
references avm_nodes (id);
create index fk_avm_s_root on avm_stores(current_root_id);
alter table avm_stores
add constraint fk_avm_s_acl
foreign key (acl_id)
references alf_access_control_list (id);
create index fk_avm_s_acl on avm_stores(acl_id);
alter table avm_version_layered_node_entry
add constraint fk_avm_vlne_vr
foreign key (version_root_id)

View File

@@ -109,10 +109,12 @@ CREATE TABLE alf_prop_unique_ctx
version INT4 NOT NULL,
value1_prop_id INT8 NOT NULL,
value2_prop_id INT8 NOT NULL,
value3_prop_id INT8 NOT NULL,
value3_prop_id INT8 NOT NULL,
prop1_id INT8 NOT NULL,
CONSTRAINT fk_alf_propuctx_v1 FOREIGN KEY (value1_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_v2 FOREIGN KEY (value2_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_v3 FOREIGN KEY (value3_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
CONSTRAINT fk_alf_propuctx_p1 FOREIGN KEY (prop1_id) REFERENCES alf_prop_root (id),
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX idx_alf_propuctx ON alf_prop_unique_ctx(value1_prop_id, value2_prop_id, value3_prop_id);

View File

@@ -0,0 +1,530 @@
--
-- Title: Core Repository Tables
-- Database: PostgreSQL
-- Since: V3.3 Schema 4000
-- Author: unknown
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE TABLE alf_applied_patch
(
id VARCHAR(64) NOT NULL,
description VARCHAR(1024),
fixes_from_schema INT4,
fixes_to_schema INT4,
applied_to_schema INT4,
target_schema INT4,
applied_on_date TIMESTAMP,
applied_to_server VARCHAR(64),
was_executed BOOL,
succeeded BOOL,
report VARCHAR(1024),
PRIMARY KEY (id)
);
CREATE TABLE alf_namespace
(
id INT8 NOT NULL,
version INT8 NOT NULL,
uri VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX uri ON alf_namespace (uri);
CREATE SEQUENCE alf_namespace_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_qname
(
id INT8 NOT NULL,
version INT8 NOT NULL,
ns_id INT8 NOT NULL,
local_name VARCHAR(200) NOT NULL,
CONSTRAINT fk_alf_qname_ns FOREIGN KEY (ns_id) REFERENCES alf_namespace (id),
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX ns_id ON alf_qname (ns_id, local_name);
CREATE INDEX fk_alf_qname_ns ON alf_qname (ns_id);
CREATE SEQUENCE alf_qname_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_permission
(
id INT8 NOT NULL,
version INT8 NOT NULL,
type_qname_id INT8 NOT NULL,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_alf_perm_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
);
CREATE UNIQUE INDEX type_qname_id ON alf_permission (type_qname_id, name);
CREATE INDEX fk_alf_perm_tqn ON alf_permission (type_qname_id);
CREATE SEQUENCE alf_permission_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_ace_context
(
id INT8 NOT NULL,
version INT8 NOT NULL,
class_context VARCHAR(1024),
property_context VARCHAR(1024),
kvp_context VARCHAR(1024),
PRIMARY KEY (id)
);
CREATE SEQUENCE alf_ace_context_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_authority
(
id INT8 NOT NULL,
version INT8 NOT NULL,
authority VARCHAR(100),
crc INT8,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX authority ON alf_authority (authority, crc);
CREATE INDEX idx_alf_auth_aut ON alf_authority (authority);
CREATE SEQUENCE alf_authority_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_access_control_entry
(
id INT8 NOT NULL,
version INT8 NOT NULL,
permission_id INT8 NOT NULL,
authority_id INT8 NOT NULL,
allowed BOOL NOT NULL,
applies INT4 NOT NULL,
context_id INT8,
PRIMARY KEY (id),
CONSTRAINT fk_alf_ace_auth FOREIGN KEY (authority_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_ace_ctx FOREIGN KEY (context_id) REFERENCES alf_ace_context (id),
CONSTRAINT fk_alf_ace_perm FOREIGN KEY (permission_id) REFERENCES alf_permission (id)
);
CREATE UNIQUE INDEX permission_id ON alf_access_control_entry (permission_id, authority_id, allowed, applies, context_id);
CREATE INDEX fk_alf_ace_ctx ON alf_access_control_entry (context_id);
CREATE INDEX fk_alf_ace_perm ON alf_access_control_entry (permission_id);
CREATE INDEX fk_alf_ace_auth ON alf_access_control_entry (authority_id);
CREATE SEQUENCE alf_access_control_entry_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_acl_change_set
(
id INT8 NOT NULL,
version INT8 NOT NULL,
PRIMARY KEY (id)
);
CREATE SEQUENCE alf_acl_change_set_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_access_control_list
(
id INT8 NOT NULL,
version INT8 NOT NULL,
acl_id VARCHAR(36) NOT NULL,
latest BOOL NOT NULL,
acl_version INT8 NOT NULL,
inherits BOOL NOT NULL,
inherits_from INT8,
type INT4 NOT NULL,
inherited_acl INT8,
is_versioned BOOL NOT NULL,
requires_version BOOL NOT NULL,
acl_change_set INT8,
PRIMARY KEY (id),
CONSTRAINT fk_alf_acl_acs FOREIGN KEY (acl_change_set) REFERENCES alf_acl_change_set (id)
);
CREATE UNIQUE INDEX acl_id ON alf_access_control_list (acl_id, latest, acl_version);
CREATE INDEX idx_alf_acl_inh ON alf_access_control_list (inherits, inherits_from);
CREATE INDEX fk_alf_acl_acs ON alf_access_control_list (acl_change_set);
CREATE SEQUENCE alf_access_control_list_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_acl_member
(
id INT8 NOT NULL,
version INT8 NOT NULL,
acl_id INT8 NOT NULL,
ace_id INT8 NOT NULL,
pos INT4 NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_alf_aclm_ace FOREIGN KEY (ace_id) REFERENCES alf_access_control_entry (id),
CONSTRAINT fk_alf_aclm_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
);
CREATE UNIQUE INDEX aclm_acl_id ON alf_acl_member (acl_id, ace_id, pos);
CREATE INDEX fk_alf_aclm_acl ON alf_acl_member (acl_id);
CREATE INDEX fk_alf_aclm_ace ON alf_acl_member (ace_id);
CREATE SEQUENCE alf_acl_member_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_authority_alias
(
id INT8 NOT NULL,
version INT8 NOT NULL,
auth_id INT8 NOT NULL,
alias_id INT8 NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_alf_autha_aut FOREIGN KEY (auth_id) REFERENCES alf_authority (id),
CONSTRAINT fk_alf_autha_ali FOREIGN KEY (alias_id) REFERENCES alf_authority (id)
);
CREATE UNIQUE INDEX auth_id ON alf_authority_alias (auth_id, alias_id);
CREATE INDEX fk_alf_autha_ali ON alf_authority_alias (alias_id);
CREATE INDEX fk_alf_autha_aut ON alf_authority_alias (auth_id);
CREATE SEQUENCE alf_authority_alias_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_activity_feed
(
id INT8 NOT NULL,
post_id INT8,
post_date TIMESTAMP NOT NULL,
activity_summary VARCHAR(1024),
feed_user_id VARCHAR(255),
activity_type VARCHAR(255) NOT NULL,
activity_format VARCHAR(10),
site_network VARCHAR(255),
app_tool VARCHAR(36),
post_user_id VARCHAR(255) NOT NULL,
feed_date TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX feed_postdate_idx ON alf_activity_feed (post_date);
CREATE INDEX feed_postuserid_idx ON alf_activity_feed (post_user_id);
CREATE INDEX feed_feeduserid_idx ON alf_activity_feed (feed_user_id);
CREATE INDEX feed_sitenetwork_idx ON alf_activity_feed (site_network);
CREATE INDEX feed_activityformat_idx ON alf_activity_feed (activity_format);
CREATE SEQUENCE alf_activity_feed_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_activity_feed_control
(
id INT8 NOT NULL,
feed_user_id VARCHAR(255) NOT NULL,
site_network VARCHAR(255),
app_tool VARCHAR(36),
last_modified TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX feedctrl_feeduserid_idx ON alf_activity_feed_control (feed_user_id);
CREATE SEQUENCE alf_activity_feed_control_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_activity_post
(
sequence_id INT8 NOT NULL,
post_date TIMESTAMP NOT NULL,
status VARCHAR(10) NOT NULL,
activity_data VARCHAR(1024) NOT NULL,
post_user_id VARCHAR(255) NOT NULL,
job_task_node INT4 NOT NULL,
site_network VARCHAR(255),
app_tool VARCHAR(36),
activity_type VARCHAR(255) NOT NULL,
last_modified TIMESTAMP NOT NULL,
PRIMARY KEY (sequence_id)
);
CREATE INDEX post_jobtasknode_idx ON alf_activity_post (job_task_node);
CREATE INDEX post_status_idx ON alf_activity_post (status);
CREATE SEQUENCE alf_activity_post_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_audit_config
(
id INT8 NOT NULL,
config_url VARCHAR(1024) NOT NULL,
PRIMARY KEY (id)
);
CREATE SEQUENCE alf_audit_config_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_audit_date
(
id INT8 NOT NULL,
date_only DATE NOT NULL,
day_of_year INT4 NOT NULL,
day_of_month INT4 NOT NULL,
day_of_week INT4 NOT NULL,
week_of_year INT4 NOT NULL,
week_of_month INT4 NOT NULL,
month INT4 NOT NULL,
quarter INT4 NOT NULL,
half_year INT4 NOT NULL,
full_year INT4 NOT NULL,
PRIMARY KEY (id)
);
CREATE INDEX idx_alf_adtd_woy ON alf_audit_date (week_of_year);
CREATE INDEX idx_alf_adtd_fy ON alf_audit_date (full_year);
CREATE INDEX idx_alf_adtd_q ON alf_audit_date (quarter);
CREATE INDEX idx_alf_adtd_wom ON alf_audit_date (week_of_month);
CREATE INDEX idx_alf_adtd_dom ON alf_audit_date (day_of_month);
CREATE INDEX idx_alf_adtd_doy ON alf_audit_date (day_of_year);
CREATE INDEX idx_alf_adtd_dow ON alf_audit_date (day_of_week);
CREATE INDEX idx_alf_adtd_m ON alf_audit_date (month);
CREATE INDEX idx_alf_adtd_hy ON alf_audit_date (half_year);
CREATE INDEX idx_alf_adtd_dat ON alf_audit_date (date_only);
CREATE SEQUENCE alf_audit_date_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_audit_source
(
id INT8 NOT NULL,
application VARCHAR(255) NOT NULL,
service VARCHAR(255),
method VARCHAR(255),
PRIMARY KEY (id)
);
CREATE INDEX idx_alf_adts_met ON alf_audit_source (method);
CREATE INDEX idx_alf_adts_ser ON alf_audit_source (service);
CREATE INDEX idx_alf_adts_app ON alf_audit_source (application);
CREATE SEQUENCE alf_audit_source_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_audit_fact
(
id INT8 NOT NULL,
user_id VARCHAR(255) NOT NULL,
timestamp TIMESTAMP NOT NULL,
transaction_id VARCHAR(56) NOT NULL,
session_id VARCHAR(56),
store_protocol VARCHAR(50),
store_id VARCHAR(100),
node_uuid VARCHAR(36),
path VARCHAR(1024),
filtered BOOL NOT NULL,
return_val VARCHAR(1024),
arg_1 VARCHAR(1024),
arg_2 VARCHAR(1024),
arg_3 VARCHAR(1024),
arg_4 VARCHAR(1024),
arg_5 VARCHAR(1024),
fail BOOL NOT NULL,
serialized_url VARCHAR(1024),
exception_message VARCHAR(1024),
host_address VARCHAR(1024),
client_address VARCHAR(1024),
message_text VARCHAR(1024),
audit_date_id INT8 NOT NULL,
audit_conf_id INT8 NOT NULL,
audit_source_id INT8 NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_alf_adtf_conf FOREIGN KEY (audit_conf_id) REFERENCES alf_audit_config (id),
CONSTRAINT fk_alf_adtf_date FOREIGN KEY (audit_date_id) REFERENCES alf_audit_date (id),
CONSTRAINT fk_alf_adtf_src FOREIGN KEY (audit_source_id) REFERENCES alf_audit_source (id)
);
CREATE INDEX idx_alf_adtf_ref ON alf_audit_fact (store_protocol, store_id, node_uuid);
CREATE INDEX idx_alf_adtf_usr ON alf_audit_fact (user_id);
CREATE INDEX fk_alf_adtf_src ON alf_audit_fact (audit_source_id);
CREATE INDEX fk_alf_adtf_date ON alf_audit_fact (audit_date_id);
CREATE INDEX fk_alf_adtf_conf ON alf_audit_fact (audit_conf_id);
CREATE INDEX idx_alf_adtf_pth ON alf_audit_fact (path);
CREATE SEQUENCE alf_audit_fact_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_server
(
id INT8 NOT NULL,
version INT8 NOT NULL,
ip_address VARCHAR(39) NOT NULL,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX ip_address ON alf_server (ip_address);
CREATE SEQUENCE alf_server_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_transaction
(
id INT8 NOT NULL,
version INT8 NOT NULL,
server_id INT8,
change_txn_id VARCHAR(56) NOT NULL,
commit_time_ms INT8,
PRIMARY KEY (id),
CONSTRAINT fk_alf_txn_svr FOREIGN KEY (server_id) REFERENCES alf_server (id)
);
CREATE INDEX idx_alf_txn_ctms ON alf_transaction (commit_time_ms);
CREATE INDEX fk_alf_txn_svr ON alf_transaction (server_id);
CREATE SEQUENCE alf_transaction_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_store
(
id INT8 NOT NULL,
version INT8 NOT NULL,
protocol VARCHAR(50) NOT NULL,
identifier VARCHAR(100) NOT NULL,
root_node_id INT8,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX protocol ON alf_store (protocol, identifier);
CREATE SEQUENCE alf_store_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_node
(
id INT8 NOT NULL,
version INT8 NOT NULL,
store_id INT8 NOT NULL,
uuid VARCHAR(36) NOT NULL,
transaction_id INT8 NOT NULL,
node_deleted BOOL NOT NULL,
type_qname_id INT8 NOT NULL,
acl_id INT8,
audit_creator VARCHAR(255),
audit_created VARCHAR(30),
audit_modifier VARCHAR(255),
audit_modified VARCHAR(30),
audit_accessed VARCHAR(30),
PRIMARY KEY (id),
CONSTRAINT fk_alf_node_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id),
CONSTRAINT fk_alf_node_store FOREIGN KEY (store_id) REFERENCES alf_store (id),
CONSTRAINT fk_alf_node_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id),
CONSTRAINT fk_alf_node_txn FOREIGN KEY (transaction_id) REFERENCES alf_transaction (id)
);
CREATE UNIQUE INDEX store_id ON alf_node (store_id, uuid);
CREATE INDEX idx_alf_node_del ON alf_node (node_deleted);
CREATE INDEX fk_alf_node_acl ON alf_node (acl_id);
CREATE INDEX fk_alf_node_txn ON alf_node (transaction_id);
CREATE INDEX fk_alf_node_store ON alf_node (store_id);
CREATE INDEX fk_alf_node_tqn ON alf_node (type_qname_id);
CREATE SEQUENCE alf_node_seq START WITH 1 INCREMENT BY 1;
CREATE INDEX fk_alf_store_root ON alf_store (root_node_id);
ALTER TABLE alf_store ADD CONSTRAINT fk_alf_store_root FOREIGN KEY (root_node_id) REFERENCES alf_node (id);
CREATE TABLE alf_child_assoc
(
id INT8 NOT NULL,
version INT8 NOT NULL,
parent_node_id INT8 NOT NULL,
type_qname_id INT8 NOT NULL,
child_node_name_crc INT8 NOT NULL,
child_node_name VARCHAR(50) NOT NULL,
child_node_id INT8 NOT NULL,
qname_ns_id INT8 NOT NULL,
qname_localname VARCHAR(255) NOT NULL,
qname_crc INT8 NOT NULL,
is_primary BOOL,
assoc_index INT4,
PRIMARY KEY (id),
CONSTRAINT fk_alf_cass_cnode FOREIGN KEY (child_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_pnode FOREIGN KEY (parent_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_cass_qnns FOREIGN KEY (qname_ns_id) REFERENCES alf_namespace (id),
CONSTRAINT fk_alf_cass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
);
CREATE UNIQUE INDEX parent_node_id ON alf_child_assoc (parent_node_id, type_qname_id, child_node_name_crc, child_node_name);
CREATE INDEX fk_alf_cass_pnode ON alf_child_assoc (parent_node_id);
CREATE INDEX fk_alf_cass_cnode ON alf_child_assoc (child_node_id);
CREATE INDEX fk_alf_cass_tqn ON alf_child_assoc (type_qname_id);
CREATE INDEX fk_alf_cass_qnns ON alf_child_assoc (qname_ns_id);
CREATE INDEX idx_alf_cass_qncrc ON alf_child_assoc (qname_crc, type_qname_id, parent_node_id);
CREATE SEQUENCE alf_child_assoc_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_locale
(
id INT8 NOT NULL,
version INT8 NOT NULL,
locale_str VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
);
CREATE UNIQUE INDEX locale_str ON alf_locale (locale_str);
CREATE SEQUENCE alf_locale_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_attributes
(
id INT8 NOT NULL,
type VARCHAR(1) NOT NULL,
version INT8 NOT NULL,
acl_id INT8,
bool_value BOOL,
byte_value INT2,
short_value INT4,
int_value INT4,
long_value INT8,
float_value FLOAT4,
double_value FLOAT8,
string_value VARCHAR(1024),
serializable_value BYTEA,
PRIMARY KEY (id),
CONSTRAINT fk_alf_attr_acl FOREIGN KEY (acl_id) REFERENCES alf_access_control_list (id)
);
CREATE INDEX fk_alf_attr_acl ON alf_attributes (acl_id);
CREATE SEQUENCE alf_attributes_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_global_attributes
(
name VARCHAR(160) NOT NULL,
attribute INT8,
PRIMARY KEY (name),
CONSTRAINT fk_alf_gatt_att FOREIGN KEY (attribute) REFERENCES alf_attributes (id)
);
CREATE UNIQUE INDEX attribute ON alf_global_attributes (attribute);
CREATE INDEX fk_alf_gatt_att ON alf_global_attributes (attribute);
CREATE TABLE alf_list_attribute_entries
(
list_id INT8 NOT NULL,
mindex INT4 NOT NULL,
attribute_id INT8,
PRIMARY KEY (list_id, mindex),
CONSTRAINT fk_alf_lent_att FOREIGN KEY (attribute_id) REFERENCES alf_attributes (id),
CONSTRAINT fk_alf_lent_latt FOREIGN KEY (list_id) REFERENCES alf_attributes (id)
);
CREATE INDEX fk_alf_lent_att ON alf_list_attribute_entries (attribute_id);
CREATE INDEX fk_alf_lent_latt ON alf_list_attribute_entries (list_id);
CREATE TABLE alf_map_attribute_entries
(
map_id INT8 NOT NULL,
mkey VARCHAR(160) NOT NULL,
attribute_id INT8,
PRIMARY KEY (map_id, mkey),
CONSTRAINT fk_alf_matt_att FOREIGN KEY (attribute_id) REFERENCES alf_attributes (id),
CONSTRAINT fk_alf_matt_matt FOREIGN KEY (map_id) REFERENCES alf_attributes (id)
);
CREATE INDEX fk_alf_matt_matt ON alf_map_attribute_entries (map_id);
CREATE INDEX fk_alf_matt_att ON alf_map_attribute_entries (attribute_id);
CREATE TABLE alf_node_aspects
(
node_id INT8 NOT NULL,
qname_id INT8 NOT NULL,
PRIMARY KEY (node_id, qname_id),
CONSTRAINT fk_alf_nasp_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nasp_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
);
CREATE INDEX fk_alf_nasp_n ON alf_node_aspects (node_id);
CREATE INDEX fk_alf_nasp_qn ON alf_node_aspects (qname_id);
CREATE TABLE alf_node_assoc
(
id INT8 NOT NULL,
version INT8 NOT NULL,
source_node_id INT8 NOT NULL,
target_node_id INT8 NOT NULL,
type_qname_id INT8 NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_alf_nass_snode FOREIGN KEY (source_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nass_tnode FOREIGN KEY (target_node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nass_tqn FOREIGN KEY (type_qname_id) REFERENCES alf_qname (id)
);
CREATE UNIQUE INDEX source_node_id ON alf_node_assoc (source_node_id, target_node_id, type_qname_id);
CREATE INDEX k_alf_nass_snode ON alf_node_assoc (source_node_id);
CREATE INDEX fk_alf_nass_tnode ON alf_node_assoc (target_node_id);
CREATE INDEX fk_alf_nass_tqn ON alf_node_assoc (type_qname_id);
CREATE SEQUENCE alf_node_assoc_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE alf_node_properties
(
node_id INT8 NOT NULL,
actual_type_n INT4 NOT NULL,
persisted_type_n INT4 NOT NULL,
boolean_value BOOL,
long_value INT8,
float_value FLOAT4,
double_value FLOAT8,
string_value VARCHAR(1024),
serializable_value BYTEA,
qname_id INT8 NOT NULL,
list_index INT4 NOT NULL,
locale_id INT8 NOT NULL,
PRIMARY KEY (node_id, qname_id, list_index, locale_id),
CONSTRAINT fk_alf_nprop_loc FOREIGN KEY (locale_id) REFERENCES alf_locale (id),
CONSTRAINT fk_alf_nprop_n FOREIGN KEY (node_id) REFERENCES alf_node (id),
CONSTRAINT fk_alf_nprop_qn FOREIGN KEY (qname_id) REFERENCES alf_qname (id)
);
CREATE INDEX fk_alf_nprop_n ON alf_node_properties (node_id);
CREATE INDEX fk_alf_nprop_qn ON alf_node_properties (qname_id);
CREATE INDEX fk_alf_nprop_loc ON alf_node_properties (locale_id);
CREATE TABLE alf_usage_delta
(
id INT8 NOT NULL,
version INT8 NOT NULL,
node_id INT8 NOT NULL,
delta_size INT8 NOT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_alf_usaged_n FOREIGN KEY (node_id) REFERENCES alf_node (id)
);
CREATE INDEX fk_alf_usaged_n ON alf_usage_delta (node_id);
CREATE SEQUENCE alf_usage_delta_seq START WITH 1 INCREMENT BY 1;

View File

@@ -1,653 +0,0 @@
-- ------------------------------------------------------
-- Alfresco Schema conversion V1.2.1 to V1.3
--
-- Author: Derek Hulley
-- ------------------------------------------------------
--
-- Create temporary 1.3 schema
--
CREATE TABLE `T_access_control_entry` (
`id` bigint(20) NOT NULL auto_increment,
`protocol` varchar(50) default NULL,
`identifier` varchar(100) default NULL,
`uuid` varchar(36) default NULL,
`typeUri` varchar(100) default NULL,
`typeName` varchar(100) default NULL,
`name` varchar(100) default NULL,
`recipient` varchar(100) default NULL,
`acl_id` bigint(20),
`permission_id` bigint(20),
`authority_id` varchar(100),
`allowed` bit(1) NOT NULL,
PRIMARY KEY (`id`)
);
ALTER TABLE `T_access_control_entry` ADD INDEX `IDX_REF`(`protocol`, `identifier`, `uuid`);
CREATE TABLE `T_access_control_list` (
`id` bigint(20) NOT NULL auto_increment,
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`uuid` varchar(36) NOT NULL,
`inherits` bit(1) NOT NULL,
PRIMARY KEY (`id`)
);
ALTER TABLE `T_access_control_list` ADD INDEX `IDX_REF`(`protocol`, `identifier`, `uuid`);
CREATE TABLE `T_applied_patch` (
`id` varchar(32) NOT NULL,
`description` text,
`fixes_from_schema` int(11) default NULL,
`fixes_to_schema` int(11) default NULL,
`applied_to_schema` int(11) default NULL,
`target_schema` int(11) default NULL,
`applied_on_date` datetime default NULL,
`applied_to_server` varchar(64) default NULL,
`was_executed` bit(1) default NULL,
`succeeded` bit(1) default NULL,
`report` text
);
CREATE TABLE `T_auth_ext_keys` (
`id` varchar(100) NOT NULL,
`externalKey` varchar(100) NOT NULL
);
CREATE TABLE `T_authority` (
`recipient` varchar(100) NOT NULL
);
CREATE TABLE `T_child_assoc` (
`id` bigint(20) NOT NULL auto_increment,
`parent_node_id` bigint(20) default NULL,
`parent_protocol` varchar(50) default NULL,
`parent_identifier` varchar(100) default NULL,
`parent_uuid` varchar(36) default NULL,
`child_node_id` bigint(20) default NULL,
`child_protocol` varchar(50) default NULL,
`child_identifier` varchar(100) default NULL,
`child_uuid` varchar(36) default NULL,
`type_qname` varchar(255) NOT NULL,
`qname` varchar(255) NOT NULL,
`is_primary` bit(1) default NULL,
`assoc_index` int(11) default NULL,
PRIMARY KEY (`id`)
);
ALTER TABLE `T_child_assoc` ADD INDEX `IDX_REF_PARENT`(`parent_protocol`, `parent_identifier`, `parent_uuid`);
ALTER TABLE `T_child_assoc` ADD INDEX `IDX_REF_CHILD`(`child_protocol`, `child_identifier`, `child_uuid`);
CREATE TABLE `T_node` (
`id` bigint(20) NOT NULL auto_increment,
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`uuid` varchar(36) NOT NULL,
`acl_id` bigint(20) default NULL,
`type_qname` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
ALTER TABLE `T_node` ADD INDEX `IDX_REF`(`protocol`, `identifier`, `uuid`);
CREATE TABLE `T_node_aspects` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`uuid` varchar(36) NOT NULL,
`node_id` bigint(20),
`qname` varchar(200) default NULL
);
ALTER TABLE `T_node_aspects` ADD INDEX `IDX_REF`(`protocol`, `identifier`, `uuid`);
CREATE TABLE `T_node_assoc` (
`id` bigint(20) NOT NULL auto_increment,
`source_node_id` bigint(20) default NULL,
`source_protocol` varchar(50) default NULL,
`source_identifier` varchar(100) default NULL,
`source_uuid` varchar(36) default NULL,
`target_node_id` bigint(20) default NULL,
`target_protocol` varchar(50) default NULL,
`target_identifier` varchar(100) default NULL,
`target_uuid` varchar(36) default NULL,
`type_qname` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
ALTER TABLE `T_node_assoc` ADD INDEX `IDX_REF_SOURCE`(`source_protocol`, `source_identifier`, `source_uuid`);
ALTER TABLE `T_node_assoc` ADD INDEX `IDX_REF_TARGET`(`target_protocol`, `target_identifier`, `target_uuid`);
CREATE TABLE `T_node_properties` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`uuid` varchar(36) NOT NULL,
`node_id` bigint(20),
`actual_type` varchar(15) NOT NULL,
`multi_valued` bit(1) NOT NULL,
`persisted_type` varchar(15) NOT NULL,
`boolean_value` bit(1) default NULL,
`long_value` bigint(20) default NULL,
`float_value` float default NULL,
`double_value` double default NULL,
`string_value` text,
`serializable_value` blob,
`qname` varchar(200) NOT NULL
);
ALTER TABLE `t_node_properties` ADD INDEX `IDX_REF`(`protocol`, `identifier`, `uuid`);
CREATE TABLE `T_node_status` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`guid` varchar(36) NOT NULL,
`node_id` bigint(20) default NULL,
`change_txn_id` varchar(56) NOT NULL,
`deleted` bit(1) NOT NULL
);
ALTER TABLE `t_node_status` ADD INDEX `IDX_REF`(`protocol`, `identifier`, `guid`);
CREATE TABLE `T_permission` (
`id` bigint(20) NOT NULL auto_increment,
`type_qname` varchar(200) NOT NULL,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE `T_store` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`root_node_id` bigint(20) default NULL
);
ALTER TABLE `t_store` ADD INDEX `IDX_STORE_REF`(`protocol`, `identifier`);
CREATE TABLE `T_version_count` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`version_count` int(11) NOT NULL
);
--
-- Copy data from old tables to intermediate tables
--
insert into T_store (protocol, identifier)
select protocol, identifier from store;
insert into T_node (protocol, identifier, uuid, type_qname)
select protocol, identifier, guid, type_qname from node;
update T_store tstore set root_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tstore.protocol and
tnode.identifier = tstore.identifier and
tnode.uuid =
(select ostore.root_guid from store ostore where
ostore.protocol = tstore.protocol and
ostore.identifier = tstore.identifier
)
);
insert into t_version_count (protocol, identifier, version_count)
select protocol, identifier, version_count from version_count;
insert into t_node_status (protocol, identifier, guid, change_txn_id, deleted)
select protocol, identifier, guid, change_txn_id, deleted from node_status;
update T_node_status tstatus set node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tstatus.protocol and
tnode.identifier = tstatus.identifier and
tnode.uuid = tstatus.guid
);
insert into T_node_properties
(
protocol, identifier, uuid, actual_type, multi_valued, persisted_type,
boolean_value, long_value, float_value, double_value, string_value, serializable_value, qname
)
select
protocol, identifier, guid, actual_type, multi_valued, persisted_type,
boolean_value, long_value, float_value, double_value, string_value, serializable_value, qname
from node_properties;
update T_node_properties tproperties set node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tproperties.protocol and
tnode.identifier = tproperties.identifier and
tnode.uuid = tproperties.uuid
);
insert into T_node_aspects
(
protocol, identifier, uuid, qname
)
select
protocol, identifier, guid, qname
from node_aspects;
update T_node_aspects taspects set node_id =
(select tnode.id from T_node tnode where
tnode.protocol = taspects.protocol and
tnode.identifier = taspects.identifier and
tnode.uuid = taspects.uuid
);
insert into T_child_assoc
(
parent_protocol, parent_identifier, parent_uuid,
child_protocol, child_identifier, child_uuid,
type_qname, qname, is_primary, assoc_index
)
select
parent_protocol, parent_identifier, parent_guid,
child_protocol, child_identifier, child_guid,
type_qname, qname, isPrimary, assoc_index
from
child_assoc;
update T_child_assoc tassoc set parent_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.parent_protocol and
tnode.identifier = tassoc.parent_identifier and
tnode.uuid = tassoc.parent_uuid
);
update T_child_assoc tassoc set child_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.child_protocol and
tnode.identifier = tassoc.child_identifier and
tnode.uuid = tassoc.child_uuid
);
insert into T_node_assoc
(
source_protocol, source_identifier, source_uuid,
target_protocol, target_identifier, target_uuid,
type_qname
)
select
source_protocol, source_identifier, source_guid,
target_protocol, target_identifier, target_guid,
type_qname
from
node_assoc;
update T_node_assoc tassoc set source_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.source_protocol and
tnode.identifier = tassoc.source_identifier and
tnode.uuid = tassoc.source_uuid
);
update T_node_assoc tassoc set target_node_id =
(select tnode.id from T_node tnode where
tnode.protocol = tassoc.target_protocol and
tnode.identifier = tassoc.target_identifier and
tnode.uuid = tassoc.target_uuid
);
insert into T_permission
(
type_qname, name
)
select
CONCAT('{', type_uri, '}', type_name), name
from
permission_ref;
insert into T_access_control_list
(
protocol, identifier, uuid, inherits
)
select
protocol, identifier, guid, inherits
from node_permission;
update T_node tnode set acl_id =
(select tacl.id from T_access_control_list tacl where
tacl.protocol = tnode.protocol and
tacl.identifier = tnode.identifier and
tacl.uuid = tnode.uuid
);
insert into T_auth_ext_keys
(
id, externalKey
)
select
id, externalKey
from
externalkeys;
insert into T_authority
(
recipient
)
select
recipient
from
recipient;
insert into T_access_control_entry
(
protocol, identifier, uuid,
typeUri, typeName, name,
recipient,
allowed
)
select
protocol, identifier, guid,
typeUri, typeName, name,
recipient,
allowed
from node_perm_entry;
update T_access_control_entry tentry
set
acl_id =
(
select
tacl.id
from T_access_control_list tacl
join T_node tnode on tacl.id = tnode.acl_id
where
tnode.protocol = tentry.protocol and
tnode.identifier = tentry.identifier and
tnode.uuid = tentry.uuid
);
update T_access_control_entry tentry
set
tentry.permission_id =
(
select
tpermission.id
from T_permission tpermission
where
tpermission.type_qname = CONCAT('{', tentry.typeUri, '}', tentry.typeName) and
tpermission.name = tentry.name
);
update T_access_control_entry tentry
set
tentry.authority_id =
(
select
tauthority.recipient
from T_authority tauthority
where
tauthority.recipient = tentry.recipient
);
delete from T_access_control_list where id not in (select distinct(acl_id) id from t_access_control_entry where acl_id is not null);
delete from T_access_control_entry where acl_id is null;
update T_node set acl_id = null where acl_id not in (select id from t_access_control_list);
--
-- Create New schema (MySQL)
--
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE child_assoc;
DROP TABLE node_assoc;
DROP TABLE node_properties;
DROP TABLE node_aspects;
DROP TABLE node;
DROP TABLE node_status;
DROP TABLE version_count;
DROP TABLE store;
DROP TABLE node_perm_entry;
DROP TABLE node_permission;
DROP TABLE permission_ref;
DROP TABLE recipient;
DROP TABLE externalKeys;
CREATE TABLE `access_control_entry` (
`id` bigint(20) NOT NULL auto_increment,
`acl_id` bigint(20) NOT NULL,
`permission_id` bigint(20) NOT NULL,
`authority_id` varchar(100) NOT NULL,
`allowed` bit(1) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `acl_id` (`acl_id`,`permission_id`,`authority_id`),
KEY `FKF064DF7560601995` (`permission_id`),
KEY `FKF064DF75B25A50BF` (`authority_id`),
KEY `FKF064DF75B9553F6C` (`acl_id`),
CONSTRAINT `FKF064DF75B9553F6C` FOREIGN KEY (`acl_id`) REFERENCES `access_control_list` (`id`),
CONSTRAINT `FKF064DF7560601995` FOREIGN KEY (`permission_id`) REFERENCES `permission` (`id`),
CONSTRAINT `FKF064DF75B25A50BF` FOREIGN KEY (`authority_id`) REFERENCES `authority` (`recipient`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `access_control_list` (
`id` bigint(20) NOT NULL auto_increment,
`inherits` bit(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `auth_ext_keys` (
`id` varchar(100) NOT NULL,
`externalKey` varchar(100) NOT NULL,
PRIMARY KEY (`id`,`externalKey`),
KEY `FK31D3BA097B7FDE43` (`id`),
CONSTRAINT `FK31D3BA097B7FDE43` FOREIGN KEY (`id`) REFERENCES `authority` (`recipient`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `authority` (
`recipient` varchar(100) NOT NULL,
PRIMARY KEY (`recipient`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `child_assoc` (
`id` bigint(20) NOT NULL auto_increment,
`parent_node_id` bigint(20) default NULL,
`child_node_id` bigint(20) default NULL,
`type_qname` varchar(255) NOT NULL,
`qname` varchar(255) NOT NULL,
`is_primary` bit(1) default NULL,
`assoc_index` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `FKFFC5468E74173FF4` (`child_node_id`),
KEY `FKFFC5468E8E50E582` (`parent_node_id`),
CONSTRAINT `FKFFC5468E8E50E582` FOREIGN KEY (`parent_node_id`) REFERENCES `node` (`id`),
CONSTRAINT `FKFFC5468E74173FF4` FOREIGN KEY (`child_node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
FKFFC5468E74173FF4
CREATE TABLE `node` (
`id` bigint(20) NOT NULL auto_increment,
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`uuid` varchar(36) NOT NULL,
`type_qname` varchar(255) NOT NULL,
`acl_id` bigint(20) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `protocol` (`protocol`,`identifier`,`uuid`),
KEY `FK33AE02D24ADD25` (`protocol`,`identifier`),
CONSTRAINT `FK33AE02D24ADD25` FOREIGN KEY (`protocol`, `identifier`) REFERENCES `store` (`protocol`, `identifier`),
CONSTRAINT `FK33AE02B9553F6C` FOREIGN KEY (`acl_id`) REFERENCES `access_control_list` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `node_aspects` (
`node_id` bigint(20) NOT NULL,
`qname` varchar(200) default NULL,
KEY `FK2B91A9DE7F2C8017` (`node_id`),
CONSTRAINT `FK2B91A9DE7F2C8017` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `node_assoc` (
`id` bigint(20) NOT NULL auto_increment,
`source_node_id` bigint(20) default NULL,
`target_node_id` bigint(20) default NULL,
`type_qname` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `FK5BAEF398B69C43F3` (`source_node_id`),
KEY `FK5BAEF398A8FC7769` (`target_node_id`),
CONSTRAINT `FK5BAEF398A8FC7769` FOREIGN KEY (`target_node_id`) REFERENCES `node` (`id`),
CONSTRAINT `FK5BAEF398B69C43F3` FOREIGN KEY (`source_node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `node_properties` (
`node_id` bigint(20) NOT NULL,
`actual_type` varchar(15) NOT NULL,
`multi_valued` bit(1) NOT NULL,
`persisted_type` varchar(15) NOT NULL,
`boolean_value` bit(1) default NULL,
`long_value` bigint(20) default NULL,
`float_value` float default NULL,
`double_value` double default NULL,
`string_value` text,
`serializable_value` blob,
`qname` varchar(200) NOT NULL,
PRIMARY KEY (`node_id`,`qname`),
KEY `FKC962BF907F2C8017` (`node_id`),
CONSTRAINT `FKC962BF907F2C8017` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `node_status` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`guid` varchar(36) NOT NULL,
`node_id` bigint(20) default NULL,
`change_txn_id` varchar(56) NOT NULL,
PRIMARY KEY (`protocol`,`identifier`,`guid`),
KEY `FK38ECB8CF7F2C8017` (`node_id`),
CONSTRAINT `FK38ECB8CF7F2C8017` FOREIGN KEY (`node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `permission` (
`id` bigint(20) NOT NULL auto_increment,
`type_qname` varchar(200) NOT NULL,
`name` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `type_qname` (`type_qname`,`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `store` (
`protocol` varchar(50) NOT NULL,
`identifier` varchar(100) NOT NULL,
`root_node_id` bigint(20) default NULL,
PRIMARY KEY (`protocol`,`identifier`),
KEY `FK68AF8E122DBA5BA` (`root_node_id`),
CONSTRAINT `FK68AF8E122DBA5BA` FOREIGN KEY (`root_node_id`) REFERENCES `node` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `version_count` (
`protocol` varchar(100) NOT NULL,
`identifier` varchar(100) NOT NULL,
`version_count` int(11) NOT NULL,
PRIMARY KEY (`protocol`,`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Copy data into new schema
--
insert into store
(
protocol, identifier, root_node_id
)
select
protocol, identifier, root_node_id
from
T_store;
insert into node
(
id, protocol, identifier, uuid, type_qname, acl_id
)
select
id, protocol, identifier, uuid, type_qname, acl_id
from
T_node;
insert into version_count
(
protocol, identifier, version_count
)
select
protocol, identifier, version_count
from
T_version_count;
insert into node_status
(
protocol, identifier, guid, node_id, change_txn_id
)
select
protocol, identifier, guid, node_id, change_txn_id
from
T_node_status;
insert into node_properties
(
node_id, actual_type, multi_valued, persisted_type,
boolean_value, long_value, float_value, double_value, string_value, serializable_value, qname
)
select
node_id, actual_type, multi_valued, persisted_type,
boolean_value, long_value, float_value, double_value, string_value, serializable_value, qname
from
T_node_properties;
insert into node_aspects
(
node_id, qname
)
select
node_id, qname
from
T_node_aspects;
insert into child_assoc
(
id, parent_node_id, child_node_id, type_qname, qname, is_primary, assoc_index
)
select
id, parent_node_id, child_node_id, type_qname, qname, is_primary, assoc_index
from
T_child_assoc;
insert into node_assoc
(
id, source_node_id, target_node_id, type_qname
)
select
id, source_node_id, target_node_id, type_qname
from
T_node_assoc;
insert into permission
(
id, type_qname, name
)
select
id, type_qname, name
from
T_permission;
insert into access_control_list
(
id, inherits
)
select
id, inherits
from
T_access_control_list;
insert into auth_ext_keys
(
id, externalKey
)
select
id, externalKey
from
T_auth_ext_keys;
insert into authority
(
recipient
)
select
recipient
from
T_authority;
insert into access_control_entry
(
id, acl_id, permission_id, authority_id, allowed
)
select
id, acl_id, permission_id, authority_id, allowed
from
T_access_control_entry;
SET FOREIGN_KEY_CHECKS = 1;
-- Allow longer patch identifiers
ALTER TABLE applied_patch MODIFY id varchar(64) not null;

View File

@@ -1,17 +0,0 @@
--
-- Explicit index for alf_transaction.commit_time_ms (Generic Schema 1.4)
--
UPDATE alf_transaction SET commit_time_ms = id WHERE commit_time_ms IS NULL;
--
-- Record script finish
--
delete from alf_applied_patch where id = 'patch.db-V1.4-TxnCommitTimeIndex';
insert into alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
values
(
'patch.db-V1.4-TxnCommitTimeIndex', 'Executed script AlfrescoSchemaUpdate-1.4-TxnCommitTimeIndex.sql',
0, 75, -1, 76, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -1,130 +0,0 @@
-- ------------------------------------------------------
-- Alfresco Schema conversion V1.3 to V1.4 Part 1 (MySQL)
--
-- Adds the columns required to enforce the duplicate name detection
--
-- Author: Derek Hulley
-- ------------------------------------------------------
--
-- Delete intermediate tables from previous upgrades
--
DROP TABLE IF EXISTS T_access_control_entry;
DROP TABLE IF EXISTS T_access_control_list;
DROP TABLE IF EXISTS T_applied_patch;
DROP TABLE IF EXISTS T_auth_ext_keys;
DROP TABLE IF EXISTS T_authority;
DROP TABLE IF EXISTS T_child_assoc;
DROP TABLE IF EXISTS T_node;
DROP TABLE IF EXISTS T_node_aspects;
DROP TABLE IF EXISTS T_node_assoc;
DROP TABLE IF EXISTS T_node_properties;
DROP TABLE IF EXISTS T_node_status;
DROP TABLE IF EXISTS T_permission;
DROP TABLE IF EXISTS T_store;
DROP TABLE IF EXISTS T_version_count;
--
-- Upgrades to 1.3 of MyIsam tables could have missed the applied_patch table InnoDB
--
ALTER TABLE applied_patch ENGINE = InnoDB;
--
-- Unique name constraint
--
-- Apply new schema changes to child assoc table
ALTER TABLE child_assoc
ADD COLUMN child_node_name VARCHAR(50) NOT NULL DEFAULT 'V1.4 upgrade' AFTER type_qname,
ADD COLUMN child_node_name_crc bigint(20) NOT NULL DEFAULT -1 AFTER child_node_name;
UPDATE child_assoc
SET child_node_name_crc = id * -1;
ALTER TABLE child_assoc
ADD UNIQUE INDEX IDX_CHILD_NAMECRC(parent_node_id, type_qname, child_node_name, child_node_name_crc);
-- Apply unique index for node associations
ALTER TABLE node_assoc
ADD UNIQUE INDEX IDX_ASSOC(source_node_id, type_qname, target_node_id);
--
-- Rename tables to give 'alf_' prefix
--
ALTER TABLE access_control_entry RENAME TO alf_access_control_entry;
ALTER TABLE access_control_list RENAME TO alf_access_control_list;
ALTER TABLE applied_patch RENAME TO alf_applied_patch;
ALTER TABLE auth_ext_keys RENAME TO alf_auth_ext_keys;
ALTER TABLE authority RENAME TO alf_authority;
ALTER TABLE child_assoc RENAME TO alf_child_assoc;
ALTER TABLE node RENAME TO alf_node;
ALTER TABLE node_aspects RENAME TO alf_node_aspects;
ALTER TABLE node_assoc RENAME TO alf_node_assoc;
ALTER TABLE node_properties RENAME TO alf_node_properties;
ALTER TABLE node_status RENAME TO alf_node_status;
ALTER TABLE permission RENAME TO alf_permission;
ALTER TABLE store RENAME TO alf_store;
ALTER TABLE version_count RENAME TO alf_version_count;
--
-- The table renames will cause Hibernate to rehash the FK constraint names.
-- For MySQL, Hibernate will generate scripts to add the appropriate constraints
-- and indexes.
--
ALTER TABLE alf_access_control_entry
DROP FOREIGN KEY FKF064DF7560601995,
DROP INDEX FKF064DF7560601995,
DROP FOREIGN KEY FKF064DF75B25A50BF,
DROP INDEX FKF064DF75B25A50BF,
DROP FOREIGN KEY FKF064DF75B9553F6C,
DROP INDEX FKF064DF75B9553F6C;
ALTER TABLE alf_auth_ext_keys
DROP FOREIGN KEY FK31D3BA097B7FDE43,
DROP INDEX FK31D3BA097B7FDE43;
ALTER TABLE alf_child_assoc
DROP FOREIGN KEY FKC6EFFF3274173FF4,
DROP INDEX FKC6EFFF3274173FF4,
DROP FOREIGN KEY FKC6EFFF328E50E582,
DROP INDEX FKC6EFFF328E50E582;(optional)
ALTER TABLE alf_child_assoc
DROP FOREIGN KEY FKFFC5468E74173FF4,
DROP INDEX FKFFC5468E74173FF4,
DROP FOREIGN KEY FKFFC5468E8E50E582,
DROP INDEX FKFFC5468E8E50E582;(optional)
ALTER TABLE alf_node
DROP FOREIGN KEY FK33AE02B9553F6C,
DROP INDEX FK33AE02B9553F6C;
ALTER TABLE alf_node
DROP FOREIGN KEY FK33AE02D24ADD25,
DROP INDEX FK33AE02D24ADD25;
ALTER TABLE alf_node_properties
DROP FOREIGN KEY FKC962BF907F2C8017,
DROP INDEX FKC962BF907F2C8017;
ALTER TABLE alf_node_aspects
DROP FOREIGN KEY FK2B91A9DE7F2C8017,
DROP INDEX FK2B91A9DE7F2C8017;
ALTER TABLE alf_node_assoc
DROP FOREIGN KEY FK5BAEF398B69C43F3,
DROP INDEX FK5BAEF398B69C43F3;
ALTER TABLE alf_node_assoc
DROP FOREIGN KEY FK5BAEF398A8FC7769,
DROP INDEX FK5BAEF398A8FC7769;
ALTER TABLE alf_node_status
DROP FOREIGN KEY FK38ECB8CF7F2C8017,
DROP INDEX FK38ECB8CF7F2C8017;
ALTER TABLE alf_store
DROP FOREIGN KEY FK68AF8E122DBA5BA,
DROP INDEX FK68AF8E122DBA5BA;
--
-- Record script finish
--
delete from alf_applied_patch where id = 'patch.schemaUpdateScript-V1.4-1';
insert into alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
values
(
'patch.schemaUpdateScript-V1.4-1', 'Manually execute script upgrade V1.4 part 1',
0, 19, -1, 20, now(), 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -1,66 +0,0 @@
-- ------------------------------------------------------
-- Alfresco Schema conversion V1.3 to V1.4 Part 2 (MySQL)
--
-- Adds the alf_transaction and alf_server tables to keep track of the sources
-- of transactions.
--
-- Author: Derek Hulley
-- ------------------------------------------------------
--
-- Create server and transaction tables
--
CREATE TABLE alf_server (
id bigint(20) NOT NULL auto_increment,
ip_address varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ip_address (ip_address)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into alf_server (id, ip_address) values (0, '0.0.0.0');
CREATE TABLE alf_transaction (
id bigint(20) NOT NULL auto_increment,
server_id bigint(20) default NULL,
change_txn_id varchar(56) NOT NULL,
PRIMARY KEY (id),
KEY FKB8761A3A9AE340B7 (server_id),
CONSTRAINT FKB8761A3A9AE340B7 FOREIGN KEY (server_id) REFERENCES alf_server (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- add index for perfromance
create index ug_index_142_1 on alf_transaction (change_txn_id);
insert into alf_transaction
(
server_id, change_txn_id
)
select (select max(id) from alf_server), change_txn_id from alf_node_status group by change_txn_id;
-- Alter node status
ALTER TABLE alf_node_status
ADD COLUMN transaction_id bigint(20) NOT NULL DEFAULT 0 AFTER node_id;
-- Update FK column
UPDATE alf_node_status ns SET ns.transaction_id =
(
select t.id from alf_transaction t where t.change_txn_id = ns.change_txn_id
);
-- remove index added for performance
ALTER TABLE alf_node_status
DROP COLUMN change_txn_id,
ADD CONSTRAINT FK71C2002B9E57C13D FOREIGN KEY (transaction_id) REFERENCES alf_transaction (id),
ADD INDEX FK71C2002B9E57C13D (transaction_id);
ALTER TABLE alf_node_status
DROP COLUMN deleted
;(optional)
drop index ug_index_142_1 on alf_transaction;
--
-- Record script finish
--
delete from alf_applied_patch where id = 'patch.schemaUpdateScript-V1.4-2';
insert into alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
values
(
'patch.schemaUpdateScript-V1.4-2', 'Manually execute script upgrade V1.4 part 2',
0, 20, -1, 21, now(), 'UNKOWN', 1, 1, 'Script completed'
);

View File

@@ -3,7 +3,7 @@
-- Database: Generic
-- Since: V3.0.0 Schema
--
CREATE INDEX post_jobtasknode_idx ON alf_activity_post(job_task_node);
CREATE INDEX post_status_idx ON alf_activity_post(status);

View File

@@ -0,0 +1,23 @@
--
-- Title: Upgrade to V3.4 - Create AVM sequences
-- Database: Generic
-- Since: V3.4 schema 4105
-- Author: unknown
--
-- creates sequences for AVM tables
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-Fix-AVM-Seqs';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.3-Fix-AVM-Seqs', 'Manually executed script upgrade V3.3 to create AVM sequences',
0, 4104, -1, 4105, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -1,7 +1,7 @@
--
-- Title: Upgrade to V3.3 - Create repo sequences
-- Database: Generic
-- Since: V3.3 schema 4008
-- Since: V3.4 schema 4105
-- Author: unknown
--
-- creates sequences for repo tables
@@ -13,11 +13,11 @@
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-Fix-Repo-Seqs_1';
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-Fix-Repo-Seqs';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.3-Fix-Repo-Seqs_1', 'Manually executed script upgrade V3.3 to create repo sequences',
0, 4007, -1, 4008, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
'patch.db-V3.3-Fix-Repo-Seqs', 'Manually executed script upgrade V3.3 to create repo sequences',
0, 4104, -1, 4105, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -0,0 +1,25 @@
--
-- Title: Upgrade to V3.4 - Add alf_prop_unique_ctx.prop1_id column
-- Database: MySQL
-- Since: V3.4 schema 4105
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
ALTER TABLE alf_prop_unique_ctx
ADD COLUMN prop1_id BIGINT NULL AFTER value3_prop_id,
ADD CONSTRAINT fk_alf_propuctx_p1 FOREIGN KEY (prop1_id) REFERENCES alf_prop_root (id)
;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-property-unique-ctx-value';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.3-property-unique-ctx-value', 'Manually executed script upgrade V3.3',
0, 4104, -1, 4105, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -0,0 +1,33 @@
--
-- Title: Upgrade to V3.4 - Create AVM sequences
-- Database: PostgreSQL
-- Since: V3.4 schema 4105
-- Author: unknown
--
-- creates sequences for AVM tables
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
--ASSIGN:hibernate_seq_next_value=value
SELECT NEXTVAL(hibernate_sequence) AS value;
CREATE SEQUENCE avm_stores_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE avm_store_properties_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE avm_nodes_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE avm_version_roots_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-Fix-AVM-Seqs';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.3-Fix-AVM-Seqs', 'Manually executed script upgrade V3.3 to create AVM sequences',
0, 4104, -1, 4105, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -1,7 +1,7 @@
--
-- Title: Upgrade to V3.3 - Create repo sequences
-- Database: PostgreSQL
-- Since: V3.3 schema 4005
-- Since: V3.4 schema 4105
-- Author: unknown
--
-- creates sequences for repo tables
@@ -9,11 +9,54 @@
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE SEQUENCE alf_namespace_seq START WITH 1 INCREMENT BY 1;
SELECT SETVAL('alf_namespace_seq', NEXTVAL('hibernate_sequence'));
--ASSIGN:hibernate_seq_next_value=value
SELECT NEXTVAL(hibernate_sequence) AS value;
CREATE SEQUENCE alf_qname_seq START WITH 1 INCREMENT BY 1;
SELECT SETVAL('alf_qname_seq', CURRVAL('hibernate_sequence'));
CREATE SEQUENCE alf_namespace_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1; -- (optional)
CREATE SEQUENCE alf_qname_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1; -- (optional)
CREATE SEQUENCE alf_permission_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_ace_context_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_authority_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_access_control_entry_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_acl_change_set_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_access_control_list_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_acl_member_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_authority_alias_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_audit_config_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_audit_date_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_audit_source_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_audit_fact_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_server_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_transaction_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_store_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_node_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_child_assoc_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_locale_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_attributes_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_node_assoc_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
CREATE SEQUENCE alf_usage_delta_seq START WITH ${hibernate_seq_next_value} INCREMENT BY 1;
--
-- Record script finish
@@ -24,5 +67,5 @@ INSERT INTO alf_applied_patch
VALUES
(
'patch.db-V3.3-Fix-Repo-Seqs', 'Manually executed script upgrade V3.3 to create repo sequences',
0, 4004, -1, 4005, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
0, 4104, -1, 4105, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -1,28 +0,0 @@
--
-- Title: Upgrade to V3.3 - Create repo sequences
-- Database: PostgreSQL
-- Since: V3.3 schema 4008
-- Author: unknown
--
-- creates sequences for repo tables
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
CREATE SEQUENCE alf_namespace_seq START WITH 1 INCREMENT BY 1;
SELECT SETVAL('alf_namespace_seq', NEXTVAL('hibernate_sequence'));
CREATE SEQUENCE alf_qname_seq START WITH 1 INCREMENT BY 1;
SELECT SETVAL('alf_qname_seq', CURRVAL('hibernate_sequence'));
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-Fix-Repo-Seqs_1';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.3-Fix-Repo-Seqs_1', 'Manually executed script upgrade V3.3 to create repo sequences',
0, 4007, -1, 4008, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -0,0 +1,25 @@
--
-- Title: Upgrade to V3.4 - Add alf_prop_unique_ctx.prop1_id column
-- Database: PostgreSQL
-- Since: V3.4 schema 4105
-- Author: Derek Hulley
--
-- Please contact support@alfresco.com if you need assistance with the upgrade.
--
ALTER TABLE alf_prop_unique_ctx
ADD COLUMN prop1_id INT8,
ADD CONSTRAINT fk_alf_propuctx_p1 FOREIGN KEY (prop1_id) REFERENCES alf_prop_root (id)
;
--
-- Record script finish
--
DELETE FROM alf_applied_patch WHERE id = 'patch.db-V3.3-property-unique-ctx-value';
INSERT INTO alf_applied_patch
(id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report)
VALUES
(
'patch.db-V3.3-property-unique-ctx-value', 'Manually executed script upgrade V3.3',
0, 4104, -1, 4105, null, 'UNKOWN', ${TRUE}, ${TRUE}, 'Script completed'
);

View File

@@ -39,15 +39,41 @@
overflowToDisk="false"
statistics="false"
/>
<!-- approx 15MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.aspects"
name="org.alfresco.cache.node.rootNodesCache"
maxElementsInMemory="500"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.node.nodesCache"
maxElementsInMemory="100000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.node.aspectsCache"
maxElementsInMemory="40000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 10MB memory required -->
<cache
name="org.alfresco.cache.node.propertiesCache"
maxElementsInMemory="40000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.node.parentAssocsCache"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.properties"
maxElementsInMemory="20000"
@@ -55,7 +81,6 @@
overflowToDisk="false"
statistics="false"
/>
<!-- approx 250MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.ChildAssocImpl"
maxElementsInMemory="200000"
@@ -63,14 +88,6 @@
overflowToDisk="false"
statistics="false"
/>
<!-- general use node associations are not common -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeAssocImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- low numbers of objects expected -->
<cache
name="org.alfresco.repo.domain.hibernate.StoreImpl"
@@ -79,71 +96,6 @@
overflowToDisk="false"
statistics="false"
/>
<!-- Permission related caches -->
<!-- approx 1MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlEntryContextImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 5MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 5MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListChangeSetImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 1MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 1MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListMemberImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 1MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAuthorityAliasImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 10MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAuthorityImpl"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- approx 1MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbPermissionImpl"
maxElementsInMemory="500"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- Audit caches -->
<cache
name="org.alfresco.repo.audit.hibernate.AuditConfigImpl"
@@ -166,35 +118,6 @@
overflowToDisk="false"
statistics="false"
/>
<!-- Attribute Service Caches. -->
<cache
name="org.alfresco.repo.attributes.AttributeImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.repo.attributes.ListEntryImpl"
maxElementsInMemory="2000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.repo.attributes.MapEntryImpl"
maxElementsInMemory="2000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.repo.attributes.GlobalAttributeEntryImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- AVM caches -->
@@ -248,36 +171,8 @@
statistics="false"
/>
<cache
name="org.alfresco.cache.qnameEntityCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.namespaceEntityCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.localeIdCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.mimetypeEntityCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.encodingEntityCache"
maxElementsInMemory="1000"
name="org.alfresco.cache.propertyValueCache"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
statistics="false"
@@ -296,20 +191,6 @@
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.storeAndNodeIdCache"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.parentAssocsCache"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.userToAuthorityCache"
maxElementsInMemory="5000"
@@ -352,6 +233,9 @@
overflowToDisk="true"
statistics="false"
/>
<!-- ACL caches -->
<cache
name="org.alfresco.cache.aclCache"
maxElementsInMemory="50000"
@@ -360,6 +244,30 @@
statistics="false"
/>
<cache
name="org.alfresco.cache.permissions.aclEntityCache"
maxElementsInMemory="50000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.permissions.authorityEntityCache"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<cache
name="org.alfresco.cache.permissions.permissionEntityCache"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
statistics="false"
/>
<!-- Web Client Config (tenant-based) -->
<cache

View File

@@ -1,15 +0,0 @@
<!--
This configures the cache properties for Alfresco's in-transaction caches.
Do not cluster this.
-->
<ehcache>
<diskStore
path="java.io.tmpdir"/>
<defaultCache
maxElementsInMemory="5000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
/>
</ehcache>

View File

@@ -90,8 +90,8 @@
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.aspects"
maxElementsInMemory="10000"
name="org.alfresco.cache.node.rootNodesCache"
maxElementsInMemory="500"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -108,6 +108,80 @@
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.node.nodesCache"
maxElementsInMemory="100000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.node.aspectsCache"
maxElementsInMemory="40000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.node.propertiesCache"
maxElementsInMemory="40000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.node.parentAssocsCache"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.properties"
maxElementsInMemory="10000"
@@ -146,25 +220,6 @@
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.NodeAssocImpl"
maxElementsInMemory="5000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.StoreImpl"
maxElementsInMemory="100"
@@ -184,142 +239,6 @@
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlEntryContextImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListChangeSetImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListMemberImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAuthorityAliasImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbAuthorityImpl"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.DbPermissionImpl"
maxElementsInMemory="500"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.audit.hibernate.AuditConfigImpl"
maxElementsInMemory="2"
@@ -371,74 +290,6 @@
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.attributes.AttributeImpl"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.attributes.ListEntryImpl"
maxElementsInMemory="2000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.attributes.MapEntryImpl"
maxElementsInMemory="2000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.attributes.GlobalAttributeEntryImpl"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<!-- Non-Hibernate -->
<cache
@@ -545,93 +396,8 @@
</cache>
<cache
name="org.alfresco.cache.storeAndNodeIdCache"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.qnameEntityCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.namespaceEntityCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.localeIdCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.mimetypeEntityCache"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.encodingEntityCache"
maxElementsInMemory="1000"
name="org.alfresco.cache.propertyValueCache"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
statistics="false"
@@ -680,23 +446,6 @@
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.parentAssocsCache"
maxElementsInMemory="80000"
eternal="true"
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.userToAuthorityCache"
maxElementsInMemory="5000"
@@ -816,7 +565,9 @@
replicateUpdatesViaCopy = true,
replicateAsynchronously = false"/>
</cache>
<!-- ACL caches -->
<cache
name="org.alfresco.cache.aclCache"
maxElementsInMemory="50000"
@@ -824,7 +575,7 @@
overflowToDisk="false"
statistics="false"
>
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
@@ -833,7 +584,22 @@
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.cache.permissions.aclEntityCache"
maxElementsInMemory="50000"
eternal="true"
overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<!-- Web Client Config (tenant-based) -->
<cache

View File

@@ -28,9 +28,6 @@
<property name="sharedCache">
<ref bean="tenantsSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.tenantsTransactionalCache</value>
</property>

View File

@@ -56,13 +56,8 @@
<!-- Alfresco Node Storage -->
<!-- -->
<value>org/alfresco/repo/domain/hibernate/Locale.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Node.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Transaction.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Permission.hbm.xml</value>
<value>org/alfresco/repo/attributes/hibernate/Attributes.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/UsageDelta.hbm.xml</value>
<value>org/alfresco/repo/activities/hibernate/Activities.hbm.xml</value>
<!-- Audit config -->
<!-- TODO: Move into org/alfresco/repo/domain/hibernate/ -->
@@ -167,20 +162,9 @@
<props>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.ChildAssocImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeAssocImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.StoreImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.TransactionImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.ServerImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlEntryContextImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListChangeSetImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListMemberImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityAliasImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbPermissionImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.audit.hibernate.AuditConfigImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.audit.hibernate.AuditDateImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.audit.hibernate.AuditSourceImpl">${cache.strategy}</prop>
@@ -189,7 +173,6 @@
<property name="collectionCacheStrategies" >
<props>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.properties">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.aspects">${cache.strategy}</prop>
</props>
</property>
</bean>
@@ -203,126 +186,6 @@
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="permissionsDaoComponent" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
<property name="proxyInterface">
<value>org.alfresco.repo.security.permissions.impl.PermissionsDaoComponent</value>
</property>
<property name="defaultBinding">
<ref bean="dmPermissionsDaoComponent"></ref>
</property>
<property name="redirectedProtocolBindings">
<map>
<entry key="workspace"><ref bean="dmPermissionsDaoComponent"></ref></entry>
<entry key="versionStore"><ref bean="dmPermissionsDaoComponent"></ref></entry>
<entry key="avm"><ref bean="avmPermissionsDaoComponent"/></entry>
</map>
</property>
</bean>
<bean id="avmPermissionsDaoComponent" class="org.alfresco.repo.domain.hibernate.PermissionsDaoComponentImpl">
<property name="aclDaoComponent">
<ref bean="aclDaoComponent" />
</property>
<property name="protocolToACLDAO">
<map>
<entry key="workspace"><ref bean="nodeACLDAO"></ref></entry>
<entry key="avm"><ref bean="avmACLDAO"/></entry>
</map>
</property>
<property name="defaultACLDAO">
<ref bean="nodeACLDAO"/>
</property>
</bean>
<bean id="dmPermissionsDaoComponent" class="org.alfresco.repo.domain.hibernate.DMPermissionsDaoComponentImpl">
<property name="aclDaoComponent">
<ref bean="aclDaoComponent" />
</property>
<property name="protocolToACLDAO">
<map>
<entry key="workspace"><ref bean="nodeACLDAO"></ref></entry>
<entry key="avm"><ref bean="avmACLDAO"/></entry>
</map>
</property>
<property name="defaultACLDAO">
<ref bean="nodeACLDAO"/>
</property>
</bean>
<bean id="aclDaoComponent" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="aclDaoComponentImpl" />
</property>
<property name="interceptorNames">
<list>
<value>daoServiceDirtySessionInterceptor</value>
</list>
</property>
</bean>
<bean id="aclDaoComponentImpl" class="org.alfresco.repo.domain.hibernate.AclDaoComponentImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
</property>
<property name="patchDAO">
<ref bean="patchDAO" />
</property>
<property name="avmNodeDAO">
<ref bean="newAvmNodeDAO" />
</property>
<property name="aclCache">
<ref bean="aclCache" />
</property>
<property name="useOldPermissions">
<value>false</value>
</property>
</bean>
<bean id="nodeACLDAO" class="org.alfresco.repo.domain.hibernate.DMAccessControlListDAO">
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
<property name="aclDaoComponent">
<ref bean="aclDaoComponent"/>
</property>
<property name="hibernateSessionHelper">
<ref bean="hibernateSessionHelper"/>
</property>
<property name="nodeService">
<ref bean="dbNodeService"/>
</property>
</bean>
<bean id="avmACLDAO" class="org.alfresco.repo.domain.hibernate.AVMAccessControlListDAO">
<property name="avmRepository">
<ref bean="avmRepository"/>
</property>
<property name="avmService">
<ref bean="avmService"/>
</property>
<property name="aclDaoComponent">
<ref bean="aclDaoComponent"/>
</property>
<property name="avmSnapShotTriggeredIndexingMethodInterceptor">
<ref bean="avmSnapShotTriggeredIndexingMethodInterceptor"/>
</property>
<property name="hibernateSessionHelper">
<ref bean="hibernateSessionHelper"/>
</property>
</bean>
<bean id="usageDeltaDAO" class="org.alfresco.repo.domain.hibernate.HibernateUsageDeltaDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoServiceImpl" />
</property>
</bean>
<bean id="auditableTransactionHelper" class="org.alfresco.repo.transaction.RetryingTransactionHelper">
<property name="transactionService">
@@ -342,48 +205,6 @@
</property>
</bean>
<bean id="nodeDaoServiceImpl" class="org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl" >
<property name="enableTimestampPropagation">
<value>${system.enableTimestampPropagation}</value>
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
</property>
<property name="contentDataDAO">
<ref bean="contentDataDAO" />
</property>
<property name="usageDeltaDAO">
<ref bean="usageDeltaDAO"/>
</property>
<property name="aclDaoComponent">
<ref bean="aclDaoComponent"/>
</property>
<property name="localeDAO">
<ref bean="localeDAO" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="transactionService">
<ref bean="transactionService" />
</property>
<property name="auditableTransactionHelper">
<ref bean="auditableTransactionHelper" />
</property>
<property name="behaviourFilter">
<ref bean="policyBehaviourFilter" />
</property>
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="storeAndNodeIdCache">
<ref bean="storeAndNodeIdCache"/>
</property>
<property name="parentAssocsCache">
<ref bean="parentAssocsCache"/>
</property>
</bean>
<bean id="sessionSizeResourceInterceptor" class="org.alfresco.repo.transaction.SingleEntryTransactionResourceInterceptor" >
<property name="methodResourceManagers">
<list>
@@ -412,47 +233,8 @@
</property>
</bean>
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.TransactionalDaoInterceptor" >
<property name="daoService">
<ref bean="nodeDaoServiceImpl" />
</property>
</bean>
<bean id="daoServiceDirtySessionInterceptor" class="org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor" />
<bean id="nodeDaoService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="nodeDaoServiceImpl" />
</property>
<property name="interceptorNames">
<list>
<value>sessionSizeResourceInterceptor</value>
<value>daoServiceDirtySessionInterceptor</value>
<value>dbNodeDaoServiceTxnRegistration</value>
</list>
</property>
</bean>
<bean id="localeDAOImpl" class="org.alfresco.repo.domain.hibernate.HibernateLocaleDAOImpl" >
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="localeIdCache">
<ref bean="localeIdCache"/>
</property>
</bean>
<bean id="localeDAO" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="localeDAOImpl" />
</property>
<property name="interceptorNames">
<list>
<value>daoServiceDirtySessionInterceptor</value>
</list>
</property>
</bean>
<bean id="auditDaoHibernate" class="org.alfresco.repo.audit.hibernate.HibernateAuditDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>

View File

@@ -14,6 +14,11 @@
<sqlMap resource="alfresco/ibatis/#resource.dialect#/patch-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/qname-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/qname-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/locale-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/locale-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/node-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/node-update-acl-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/node-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/locks-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/locks-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/content-common-SqlMap.xml"/>
@@ -24,5 +29,9 @@
<sqlMap resource="alfresco/ibatis/#resource.dialect#/audit-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/avm-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/avm-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/permissions-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/permissions-insert-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/usage-common-SqlMap.xml"/>
<sqlMap resource="alfresco/ibatis/#resource.dialect#/usage-insert-SqlMap.xml"/>
</sqlMapConfig>
</sqlMapConfig>

View File

@@ -6,10 +6,18 @@
<sqlMap namespace="alfresco.activities">
<!-- -->
<!-- Type Defs -->
<!-- -->
<typeAlias alias="ActivityFeed" type="org.alfresco.repo.domain.activities.ActivityFeedEntity"/>
<typeAlias alias="FeedControl" type="org.alfresco.repo.domain.activities.FeedControlEntity"/>
<typeAlias alias="ActivityPost" type="org.alfresco.repo.domain.activities.ActivityPostEntity"/>
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="ActivityFeedResult" class="ActivityFeed">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="feedUserId" column="feed_user_id"/>
@@ -44,6 +52,48 @@
<result property="lastModified" column="last_modified"/>
</resultMap>
<!-- -->
<!-- SQL Snippets / Inserts -->
<!-- -->
<sql id="insert_ActivityFeedControl_AutoIncrement">
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
</sql>
<sql id="insert_ActivityFeedControl_Sequence">
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
</sql>
<sql id="insert_ActivityFeed_AutoIncrement">
insert into alf_activity_feed (activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
</sql>
<sql id="insert_ActivityFeed_Sequence">
insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#id#, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
</sql>
<sql id="insert_ActivityPost_AutoIncrement">
insert into alf_activity_post (status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
</sql>
<sql id="insert_ActivityPost_Sequence">
insert into alf_activity_post (sequence_id, status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#id#, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
</sql>
<!-- -->
<!-- Updates -->
<!-- -->
<!-- -->
<!-- Selects -->
<!-- -->
<!-- select feeds for cleaning -->
<select id="select_activity_feed_greater_than_max" parameterClass="int" resultClass="ActivityFeed">
<![CDATA[
@@ -71,7 +121,7 @@
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and post_user_id <> #feedUserId#
and activity_format = #activitySummaryFormat#
order by post_date desc
]]>
@@ -107,7 +157,7 @@
select id as id, activity_type as activityType, activity_format as activitySummaryFormat, activity_summary as activitySummary, feed_user_id as feedUserId, post_user_id as postUserId, site_network as siteNetwork, post_date as postDate
from alf_activity_feed
where feed_user_id = #feedUserId#
and post_user_id != #feedUserId#
and post_user_id <> #feedUserId#
and site_network = #siteNetwork#
and activity_format = #activitySummaryFormat#
order by post_date desc
@@ -139,6 +189,10 @@
]]>
</select>
<!-- -->
<!-- Deletes -->
<!-- -->
<delete id="delete_activity_feed_entries_older_than_date" parameterClass="Date">
<![CDATA[
delete from alf_activity_feed where post_date < #keepdate#
@@ -258,15 +312,19 @@
</delete>
<update id="update_activity_post_data" parameterClass="ActivityPost">
<![CDATA[
update alf_activity_post set status = #status#, activity_data=#activityData#, site_network=#siteNetwork#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
and status <> #status#
]]>
</update>
<update id="update_activity_post_status" parameterClass="ActivityPost">
<![CDATA[
update alf_activity_post set status = #status#, last_modified=#lastModified#
where sequence_id = #id#
and status != #status#
and status <> #status#
]]>
</update>
</sqlMap>

View File

@@ -11,11 +11,11 @@
<!-- -->
<typeAlias alias="AppliedPatch" type="org.alfresco.repo.domain.patch.AppliedPatchEntity"/>
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="result_AppliedPatch" class="AppliedPatch">
<result property="id" column="id" jdbcType="VARCHAR" javaType="string"/>
<result property="description" column="description" jdbcType="VARCHAR" javaType="string"/>
@@ -29,26 +29,10 @@
<result property="succeeded" column="succeeded" jdbcType="BOOLEAN" javaType="boolean"/>
<result property="report" column="report" jdbcType="VARCHAR" javaType="string"/>
</resultMap>
<!-- -->
<!-- SQL Snippets -->
<!-- -->
<!--
<sql id="insert_LockResource_AutoIncrement">
insert into alf_lock_resource (version, qname_ns_id, qname_localname)
values (#version#, #qnameNamespaceId#, #qnameLocalName#)
</sql>
<sql id="insert_Lock_AutoIncrement">
insert into alf_lock (version, shared_resource_id, excl_resource_id, lock_token, start_time, expiry_time)
values (#version#, #sharedResourceId#, #exclusiveResourceId#, #lockToken#, #startTime#, #expiryTime#)
</sql>
-->
<!-- -->
<!-- Inserts -->
<!-- -->
<!-- -->
<!-- SQL Snippets / Inserts -->
<!-- -->
<insert id="insert_AppliedPatch" parameterClass="AppliedPatch">
insert into alf_applied_patch
@@ -94,14 +78,14 @@
<select id="select_AppliedPatchById" parameterClass="AppliedPatch" resultMap="result_AppliedPatch">
select
id, description,
fixes_from_schema, fixes_to_schema, target_schema,
applied_to_schema, applied_on_date, applied_to_server,
was_executed, succeeded, report
from
alf_applied_patch
where
id = #id#
id, description,
fixes_from_schema, fixes_to_schema, target_schema,
applied_to_schema, applied_on_date, applied_to_server,
was_executed, succeeded, report
from
alf_applied_patch
where
id = #id#
</select>
<select id="select_AllAppliedPatches" resultMap="result_AppliedPatch">

View File

@@ -21,6 +21,8 @@
<typeAlias alias="AVMStoreProperty" type="org.alfresco.repo.domain.avm.AVMStorePropertyEntity"/>
<typeAlias alias="AVMNodeProperty" type="org.alfresco.repo.domain.avm.AVMNodePropertyEntity"/>
<typeAlias alias="IdListOfIdsParam" type="org.alfresco.repo.domain.patch.ibatis.IdListOfIdsParam"/>
<!-- -->
<!-- Result Maps -->
@@ -226,21 +228,41 @@
values (#version#, #name#, 0, null, null)
</sql>
<sql id="insert_AVMStore_Sequence">
insert into avm_stores (id, next_version_id, name, vers, current_root_id, acl_id)
values (#id#, #version#, #name#, 0, null, null)
</sql>
<sql id="insert_AVMNode_AutoIncrement">
insert into avm_nodes (class_type, deletedType, version_id, vers, store_new_id, acl_id, guid, owner, creator, createDate, lastModifier, modDate, accessDate, is_root, layer_id, indirection, indirection_version, primary_indirection, opacity, content_url, mime_type, encoding, length)
values (#classType#, #deletedType#, #version#, 0, #storeNewId#, #aclId#, #guid#, #owner#, #creator#, #createdDate#, #modifier#, #modifiedDate#, #accessDate#, #isRoot#, #layerId#, #indirection#, #indirectionVersion#, #primaryIndirection#, #opacity#, #contentUrl#, #mimetype#, #encoding#, #length#)
</sql>
<sql id="insert_AVMNode_Sequence">
insert into avm_nodes (id, class_type, deletedType, version_id, vers, store_new_id, acl_id, guid, owner, creator, createDate, lastModifier, modDate, accessDate, is_root, layer_id, indirection, indirection_version, primary_indirection, opacity, content_url, mime_type, encoding, length)
values (#id#, #classType#, #deletedType#, #version#, 0, #storeNewId#, #aclId#, #guid#, #owner#, #creator#, #createdDate#, #modifier#, #modifiedDate#, #accessDate#, #isRoot#, #layerId#, #indirection#, #indirectionVersion#, #primaryIndirection#, #opacity#, #contentUrl#, #mimetype#, #encoding#, #length#)
</sql>
<sql id="insert_AVMVersionRoot_AutoIncrement">
insert into avm_version_roots (avm_store_id, root_id, version_id, creator, create_date, tag, description)
values (#storeId#, #rootNodeId#, #version#, #creator#, #createdDate#, #tag#, #description#)
</sql>
<sql id="insert_AVMVersionRoot_Sequence">
insert into avm_version_roots (id, avm_store_id, root_id, version_id, creator, create_date, tag, description)
values (#id#, #storeId#, #rootNodeId#, #version#, #creator#, #createdDate#, #tag#, #description#)
</sql>
<sql id="insert_AVMStoreProperty_AutoIncrement">
insert into avm_store_properties (actual_type_n, persisted_type_n, multi_valued, boolean_value, long_value, float_value, double_value, string_value, serializable_value, avm_store_id, qname_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
</sql>
<sql id="insert_AVMStoreProperty_Sequence">
insert into avm_store_properties (id, actual_type_n, persisted_type_n, multi_valued, boolean_value, long_value, float_value, double_value, string_value, serializable_value, avm_store_id, qname_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
</sql>
<!-- -->
<!-- Insert Statements -->
@@ -523,16 +545,7 @@
class_type = 'layeredfile'
</select>
<select id="select_AVMNodes_IDs_byAcl" parameterMap="parameter_IdMap" resultClass="long">
select
id
from
avm_nodes
where
acl_id = ?
</select>
<select id="select_ContentUrlsForPlainFiles" resultClass="String">
<select id="select_ContentUrlsForPlainFiles" resultClass="String">
select
content_url
from
@@ -615,6 +628,29 @@
</isGreaterThan>
</update>
<!-- for patch -->
<update id="update_AVMNodeList_nullifyAcl" parameterClass="list">
update
avm_nodes set acl_id = null
where
acl_id is not null
and id in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</update>
<!-- for patch -->
<update id="update_AVMNodeList_setAcl" parameterClass="IdListOfIdsParam">
update
avm_nodes set acl_id = #id#
where
id in
<iterate property="listOfIds" open="(" close=")" conjunction=",">
#listOfIds[]#
</iterate>
</update>
<delete id="delete_AVMNode" parameterMap="parameter_IdMap">
delete
from

View File

@@ -78,8 +78,8 @@
<parameterMap id="parameter_ContentData" class="ContentData">
<parameter property="version" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="contentUrlId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="mimetypeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="encodingId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="mimetypeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="encodingId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="localeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.locale">
<!-- -->
<!-- Type Defs -->
<!-- -->
<typeAlias alias="Locale" type="org.alfresco.repo.domain.locale.LocaleEntity"/>
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="result_Locale" class="Locale">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="localeStr" column="locale_str" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
<!-- -->
<parameterMap id="parameter_LocaleStr" class="map">
<parameter property="str" jdbcType="VARCHAR" javaType="java.lang.String"/>
</parameterMap>
<parameterMap id="parameter_LocaleId" class="map">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<!-- -->
<!-- SQL Snippets -->
<!-- -->
<sql id="insert_Locale_AutoIncrement">
insert into alf_locale (version, locale_str)
values (#version#, #localeStr#)
</sql>
<!-- -->
<!-- Statements -->
<!-- -->
<select id="select_LocaleById" parameterMap="parameter_LocaleId" resultMap="result_Locale">
select
*
from
alf_locale
where
id = ?
</select>
<select id="select_LocaleByName" parameterMap="parameter_LocaleStr" resultMap="result_Locale">
select
*
from
alf_locale
where
locale_str = ?
</select>
</sqlMap>

View File

@@ -0,0 +1,864 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.node">
<!-- -->
<!-- Type Defs -->
<!-- -->
<typeAlias alias="Server" type="org.alfresco.repo.domain.node.ServerEntity"/>
<typeAlias alias="Transaction" type="org.alfresco.repo.domain.node.TransactionEntity"/>
<typeAlias alias="TransactionQuery" type="org.alfresco.repo.domain.node.TransactionQueryEntity"/>
<typeAlias alias="Store" type="org.alfresco.repo.domain.node.StoreEntity"/>
<typeAlias alias="Node" type="org.alfresco.repo.domain.node.NodeEntity"/>
<typeAlias alias="NodeUpdate" type="org.alfresco.repo.domain.node.NodeUpdateEntity"/>
<typeAlias alias="AuditProps" type="org.alfresco.repo.domain.node.AuditablePropertiesEntity"/>
<typeAlias alias="NodePropertyKey" type="org.alfresco.repo.domain.node.NodePropertyKey"/>
<typeAlias alias="NodePropertyValue" type="org.alfresco.repo.domain.node.NodePropertyValue"/>
<typeAlias alias="NodeProperty" type="org.alfresco.repo.domain.node.NodePropertyEntity"/>
<typeAlias alias="NodeAspects" type="org.alfresco.repo.domain.node.NodeAspectsEntity"/>
<typeAlias alias="NodeAssoc" type="org.alfresco.repo.domain.node.NodeAssocEntity"/>
<typeAlias alias="ChildAssoc" type="org.alfresco.repo.domain.node.ChildAssocEntity"/>
<typeAlias alias="PrimaryChildrenAclUpdate" type="org.alfresco.repo.domain.node.PrimaryChildrenAclUpdateEntity"/>
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="result_Server" class="Server">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="ipAddress" column="ip_address" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap id="result_Transaction" class="Transaction">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="changeTxnId" column="change_txn_id" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="commitTimeMs" column="commit_time_ms" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_StoreRef" class="Store">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="protocol" column="protocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="identifier" column="identifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap id="result_StoreRootNode" class="Node">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="store.id" column="storeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="store.protocol" column="storeProtocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="store.identifier" column="storeIdentifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="uuid" column="uuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap id="result_AuditProps" class="AuditProps">
<result property="auditCreator" column="audit_creator" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditCreated" column="audit_created" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditModifier" column="audit_modifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditModified" column="audit_modified" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditAccessed" column="audit_accessed" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap id="result_NodeRef" class="Node">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="store.protocol" column="protocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="store.identifier" column="identifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="uuid" column="uuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="deleted" column="node_deleted" jdbcType="BIT" javaType="java.lang.Boolean" />
</resultMap>
<resultMap id="result_Node" class="Node">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="store.id" column="store_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="store.protocol" column="protocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="store.identifier" column="identifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="uuid" column="uuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="typeQNameId" column="type_qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="aclId" column="acl_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="deleted" column="node_deleted" jdbcType="BIT" javaType="java.lang.Boolean" />
<result property="transaction.id" column="txn_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="transaction.changeTxnId" column="txn_change_id" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="auditableProperties" resultMap="alfresco.node.result_AuditProps"/>
</resultMap>
<resultMap id="result_NodeAcl" class="Node">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="aclId" column="acl_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_NodeProperty" class="NodeProperty">
<result property="nodeId" column="node_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="key.qnameId" column="qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="key.localeId" column="locale_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="key.listIndex" column="list_index" jdbcType="INT" javaType="java.lang.Integer"/>
<result property="value.actualType" column="actual_type_n" jdbcType="INT" javaType="java.lang.Integer"/>
<result property="value.persistedType" column="persisted_type_n" jdbcType="INT" javaType="java.lang.Integer"/>
<result property="value.booleanValue" column="boolean_value" jdbcType="BIT" javaType="java.lang.Boolean"/>
<result property="value.longValue" column="long_value" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="value.floatValue" column="float_value" jdbcType="FLOAT" javaType="java.lang.Float"/>
<result property="value.doubleValue" column="double_value" jdbcType="FLOAT" javaType="java.lang.Double"/>
<result property="value.stringValue" column="string_value" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="value.serializableValue" column="serializable_value" jdbcType="BLOB" javaType="java.io.Serializable"/>
</resultMap>
<resultMap id="result_NodeAssoc" class="NodeAssoc">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="sourceNode.id" column="sourceNodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="sourceNode.store.protocol" column="sourceNodeProtocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="sourceNode.store.identifier" column="sourceNodeIdentifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="sourceNode.uuid" column="sourceNodeUuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="targetNode.id" column="targetNodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="targetNode.store.protocol" column="targetNodeProtocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="targetNode.store.identifier" column="targetNodeIdentifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="targetNode.uuid" column="targetNodeUuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="typeQNameId" column="type_qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_ChildAssoc" class="ChildAssoc">
<result property="id" column="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="parentNode.id" column="parentNodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="parentNode.store.protocol" column="parentNodeProtocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="parentNode.store.identifier" column="parentNodeIdentifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="parentNode.uuid" column="parentNodeUuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="childNode.id" column="childNodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="childNode.store.protocol" column="childNodeProtocol" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="childNode.store.identifier" column="childNodeIdentifier" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="childNode.uuid" column="childNodeUuid" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="typeQNameId" column="type_qname_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="childNodeNameCrc" column="child_node_name_crc" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="childNodeName" column="child_node_name" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="qnameNamespaceId" column="qname_ns_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="qnameLocalName" column="qname_localname" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="isPrimary" column="is_primary" jdbcType="BIT" javaType="java.lang.Boolean" />
<result property="assocIndex" column="assoc_index" jdbcType="INT" javaType="java.lang.Integer"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
<!-- -->
<parameterMap id="parameter_Id" class="java.lang.Long">
<parameter property="id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_NodeProperty" class="NodeProperty">
<parameter property="nodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="key.qnameId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="key.localeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="key.listIndex" jdbcType="INT" javaType="java.lang.Integer"/>
<parameter property="value.actualType" jdbcType="INT" javaType="java.lang.Integer"/>
<parameter property="value.persistedType" jdbcType="INT" javaType="java.lang.Integer"/>
<parameter property="value.booleanValue" jdbcType="BIT" javaType="java.lang.Boolean"/>
<parameter property="value.longValue" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="value.floatValue" jdbcType="FLOAT" javaType="java.lang.Float"/>
<parameter property="value.doubleValue" jdbcType="FLOAT" javaType="java.lang.Double"/>
<parameter property="value.stringValue" jdbcType="VARCHAR" javaType="java.lang.String"/>
<parameter property="value.serializableValue" jdbcType="BLOB" javaType="java.io.Serializable"/>
</parameterMap>
<parameterMap id="parameter_NodeAspect" class="map">
<parameter property="nodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="qnameId" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<parameterMap id="parameter_NodesWithAspect" class="map">
<parameter property="minNodeId" jdbcType="BIGINT" javaType="java.lang.Long"/>
<parameter property="qnameId" jdbcType="BIGINT" javaType="java.lang.Long"/>
</parameterMap>
<!-- -->
<!-- SQL Snippets -->
<!-- -->
<sql id="insert_Server_AutoIncrement">
insert into alf_server (version, ip_address)
values (#version#, #ipAddress#)
</sql>
<sql id="insert_Server_Sequence">
insert into alf_server (id, version, ip_address)
values (#id#, #version#, #ipAddress#)
</sql>
<sql id="insert_Transaction_AutoIncrement">
insert into alf_transaction (version, server_id, change_txn_id, commit_time_ms)
values (#version#, #server.id#, #changeTxnId#, #commitTimeMs#)
</sql>
<sql id="insert_Transaction_Sequence">
insert into alf_transaction (id, version, server_id, change_txn_id, commit_time_ms)
values (#id#, #version#, #server.id#, #changeTxnId#, #commitTimeMs#)
</sql>
<sql id="insert_Store_AutoIncrement">
insert into alf_store (version, protocol, identifier, root_node_id)
values (#version#, #protocol#, #identifier#, #rootNode.id#)
</sql>
<sql id="insert_Store_Sequence">
insert into alf_store (id, version, protocol, identifier, root_node_id)
values (#id#, #version#, #protocol#, #identifier#, #rootNode.id#)
</sql>
<sql id="insert_Node_AutoIncrement">
insert into alf_node
(
version, store_id, uuid, type_qname_id, acl_id, node_deleted, transaction_id
<isNotNull property="auditableProperties" prepend=",">
audit_creator, audit_created,
audit_modifier, audit_modified,
audit_accessed
</isNotNull>
)
values
(
#version#, #store.id#, #uuid#, #typeQNameId#, #aclId#, #deleted#, #transaction.id#
<isNotNull property="auditableProperties" prepend=",">
#auditableProperties.auditCreator#, #auditableProperties.auditCreated#,
#auditableProperties.auditModifier#, #auditableProperties.auditModified#,
#auditableProperties.auditAccessed#
</isNotNull>
)
</sql>
<sql id="insert_Node_Sequence">
insert into alf_node
(
id, version, store_id, uuid, type_qname_id, acl_id, node_deleted, transaction_id
<isNotNull property="auditableProperties" prepend=",">
audit_creator, audit_created,
audit_modifier, audit_modified,
audit_accessed
</isNotNull>
)
values
(
#id#, #version#, #store.id#, #uuid#, #typeQNameId#, #aclId#, #deleted#, #transaction.id#
<isNotNull property="auditableProperties" prepend=",">
#auditableProperties.auditCreator#, #auditableProperties.auditCreated#,
#auditableProperties.auditModifier#, #auditableProperties.auditModified#,
#auditableProperties.auditAccessed#
</isNotNull>
)
</sql>
<sql id="insert_ChildAssoc_AutoIncrement">
insert into alf_child_assoc
(
version, parent_node_id, child_node_id, type_qname_id,
child_node_name_crc, child_node_name,
qname_ns_id, qname_localname, qname_crc,
is_primary, assoc_index
)
values
(
#version#, #parentNode.id#, #childNode.id#, #typeQNameId#,
#childNodeNameCrc#, #childNodeName#,
#qnameNamespaceId#, #qnameLocalName#, #qnameCrc#,
#isPrimary#, #assocIndex#
)
</sql>
<sql id="insert_ChildAssoc_Sequence">
insert into alf_child_assoc
(
id, version, parent_node_id, child_node_id, type_qname_id,
child_node_name_crc, child_node_name,
qname_ns_id, qname_localname, qname_crc,
is_primary, assoc_index
)
values
(
#id#, #version#, #parentNode.id#, #childNode.id#, #typeQNameId#,
#childNodeNameCrc#, #childNodeName#,
#qnameNamespaceId#, #qnameLocalName#, #qnameCrc#,
#isPrimary#, #assocIndex#
)
</sql>
<sql id="insert_NodeAssoc_AutoIncrement">
insert into alf_node_assoc (version, source_node_id, target_node_id, type_qname_id)
values (#version#, #sourceNode.id#, #targetNode.id#, #typeQNameId#)
</sql>
<sql id="insert_NodeAssoc_Sequence">
insert into alf_node_assoc (id, version, source_node_id, target_node_id, type_qname_id)
values (#id#, #version#, #sourceNode.id#, #targetNode.id#, #typeQNameId#)
</sql>
<!-- -->
<!-- Inserts -->
<!-- -->
<insert id="insert_NodeProperty" parameterMap="parameter_NodeProperty">
insert into alf_node_properties
(
node_id, qname_id, locale_id, list_index,
actual_type_n, persisted_type_n,
boolean_value, long_value, float_value, double_value, string_value, serializable_value
)
values
(
?, ?, ?, ?,
?, ?,
?, ?, ?, ?, ?, ?
)
</insert>
<insert id="insert_NodeAspect" parameterMap="parameter_NodeAspect">
insert into alf_node_aspects
(node_id, qname_id)
values
(?, ?)
</insert>
<!-- -->
<!-- Updates -->
<!-- -->
<update id="update_TransactionCommitTime" parameterClass="Transaction">
update alf_transaction set
commit_time_ms = #commitTimeMs#
where
id = #id#
</update>
<update id="update_StoreRoot" parameterClass="Store">
update alf_store set
root_node_id = #rootNode.id#
where
id = #id#
</update>
<update id="update_Node" parameterClass="NodeUpdate">
update alf_node set
version = #version#
<isEqual property="updateStore" compareValue="true"> , store_id = #store.id#</isEqual>
<isEqual property="updateUuid" compareValue="true"> , uuid = #uuid#</isEqual>
<isEqual property="updateTypeQNameId" compareValue="true" > , type_qname_id = #typeQNameId#</isEqual>
<isEqual property="updateAclId" compareValue="true" > , acl_id = #aclId#</isEqual>
<isEqual property="updateDeleted" compareValue="true" > , node_deleted = #deleted#</isEqual>
<isEqual property="updateTransaction" compareValue="true" > , transaction_id = #transaction.id#</isEqual>
<isEqual property="updateAuditableProperties" compareValue="true" >
, audit_creator = #auditableProperties.auditCreator#
, audit_created = #auditableProperties.auditCreated#
, audit_modifier = #auditableProperties.auditModifier#
, audit_modified = #auditableProperties.auditModified#
, audit_accessed = #auditableProperties.auditAccessed#
</isEqual>
where
id = #id#
<isGreaterThan property="version" compareValue="1">
and version = (#version#-1)
</isGreaterThan>
</update>
<update id="update_ChildAssocsUniqueName" parameterClass="ChildAssoc">
update alf_child_assoc set
child_node_name_crc = #childNodeNameCrc#,
child_node_name = #childNodeName#
where
child_node_id = #childNode.id# and
child_node_name_crc > 0
</update>
<update id="update_ChildAssocsIndex" parameterClass="ChildAssoc">
update alf_child_assoc set
assoc_index = #assocIndex#
where
parent_node_id = #parentNode.id# and
type_qname_id = #typeQNameId# and
qname_ns_id = #qnameNamespaceId# and
qname_localname = #qnameLocalName#
</update>
<update id="update_ParentAssocsOfChild" parameterClass="ChildAssoc">
update alf_child_assoc set
parent_node_id = #parentNode.id#
<isNotNull property="typeQNameId">, type_qname_id = #typeQNameId#</isNotNull>
<isNotNull property="childNodeNameCrc">, child_node_name_crc = #childNodeNameCrc#</isNotNull>
<isNotNull property="childNodeName">, child_node_name = #childNodeName#</isNotNull>
<isNotNull property="qnameNamespaceId">, qname_ns_id = #qnameNamespaceId#</isNotNull>
<isNotNull property="qnameLocalName">, qname_localname = #qnameLocalName#</isNotNull>
<isNotNull property="qnameCrc">, qname_crc = #qnameCrc#</isNotNull>
where
child_node_id = #childNode.id# and
is_primary = #isPrimary#
</update>
<!-- -->
<!-- Deletes -->
<!-- -->
<delete id="delete_TransactionById" parameterClass="Transaction">
delete from alf_transaction
where
id = #id#
</delete>
<delete id="delete_NodeById" parameterClass="Node">
delete from alf_node
where
id = #id#
<isEqual property="deleted" compareValue="true">and node_deleted = #deleted#</isEqual>
</delete>
<delete id="delete_NodeProperties" parameterClass="NodeProperty">
delete from alf_node_properties
where
node_id = #nodeId#
<isNotNull property="key.qnameId">and qname_id = #key.qnameId#</isNotNull>
<isNotNull property="key.localeId">and locale_id = #key.localeId#</isNotNull>
<isNotNull property="key.listIndex">and list_index = #key.listIndex#</isNotNull>
<isNotNull property="qnameIds">
and qname_id in
<iterate property="qnameIds" open="(" close=")" conjunction=",">#qnameIds[]#</iterate>
</isNotNull>
</delete>
<delete id="delete_NodeAspects" parameterClass="NodeAspects">
delete from alf_node_aspects
where
node_id = #id#
<isNotNull property="aspectQNameIds" prepend="">
and qname_id in
<iterate property="aspectQNameIds" open="(" close=")" conjunction=", ">#aspectQNameIds[]#</iterate>
</isNotNull>
</delete>
<delete id="delete_NodeAssoc" parameterClass="NodeAssoc">
delete from alf_node_assoc
where
source_node_id = #sourceNode.id# and
target_node_id = #targetNode.id# and
type_qname_id = #typeQNameId#
</delete>
<delete id="delete_NodeAssocsToAndFrom" parameterClass="NodeAssoc">
delete from alf_node_assoc
where
(source_node_id = #sourceNode.id# or target_node_id = #targetNode.id#)
<isNotNull property="typeQNameIds">
and type_qname_id in
<iterate property="typeQNameIds" open="(" close=")" conjunction=",">#typeQNameIds[]#</iterate>
</isNotNull>
</delete>
<delete id="delete_ChildAssocById" parameterClass="ChildAssoc">
delete from alf_child_assoc
where
id = #id#
</delete>
<delete id="delete_ChildAssocsToAndFrom" parameterClass="ChildAssoc">
delete from alf_child_assoc
where
(parent_node_id = #parentNode.id# or child_node_id = #childNode.id#)
<isNotNull property="typeQNameIds">
and type_qname_id in
<iterate property="typeQNameIds" open="(" close=")" conjunction=",">#typeQNameIds[]#</iterate>
</isNotNull>
</delete>
<!-- -->
<!-- Statements -->
<!-- -->
<select id="select_ServerByIpAddress" parameterClass="Server" resultMap="result_Server">
select
id,
version,
ip_address
from
alf_server
where
ip_address = #ipAddress#
</select>
<select id="select_StoreAll" resultMap="result_StoreRef">
select
id,
protocol,
identifier
from
alf_store
</select>
<select id="select_StoreRootNodeById" parameterClass="Store" resultMap="result_StoreRootNode">
select
node.id as id,
store.id as storeId,
store.protocol as storeProtocol,
store.identifier as storeIdentifier,
node.uuid as uuid
from
alf_store store
join alf_node node on (store.root_node_id = node.id)
where
store.id = #id#
</select>
<select id="select_StoreRootNodeByRef" parameterClass="Store" resultMap="result_StoreRootNode">
select
node.id as id,
store.id as storeId,
store.protocol as storeProtocol,
store.identifier as storeIdentifier,
node.uuid as uuid
from
alf_store store
join alf_node node on (store.root_node_id = node.id)
where
store.protocol = #protocol# and
store.identifier = #identifier#
</select>
<!-- Common results for result_Node -->
<sql id="select_Node_Results">
select
node.id as id,
node.version as version,
store.id as store_id,
store.protocol as protocol,
store.identifier as identifier,
node.uuid as uuid,
node.type_qname_id as type_qname_id,
node.acl_id as acl_id,
node.node_deleted as node_deleted,
txn.id as txn_id,
txn.change_txn_id as txn_change_id,
node.audit_creator as audit_creator,
node.audit_created as audit_created,
node.audit_modifier as audit_modifier,
node.audit_modified as audit_modified,
node.audit_accessed as audit_accessed
</sql>
<select id="select_NodeById" parameterClass="Node" resultMap="result_Node">
<include refid="alfresco.node.select_Node_Results"/>
from
alf_node node
join alf_store store on (store.id = node.store_id)
join alf_transaction txn on (txn.id = node.transaction_id)
where
node.id = #id#
<isNotNull property="deleted">and node.node_deleted = #deleted#</isNotNull>
</select>
<select id="select_NodeByNodeRef" parameterClass="Node" resultMap="result_Node">
<include refid="alfresco.node.select_Node_Results"/>
from
alf_node node
join alf_store store on (store.id = node.store_id)
join alf_transaction txn on (txn.id = node.transaction_id)
where
store.protocol = #store.protocol# and
store.identifier = #store.identifier# and
node.uuid = #uuid#
<isNotNull property="deleted">and node.node_deleted = #deleted#</isNotNull>
</select>
<sql id="select_NodeProperty_Results">
select
prop.node_id as node_id,
prop.qname_id as qname_id,
prop.locale_id as locale_id,
prop.list_index as list_index,
prop.actual_type_n as actual_type_n,
prop.persisted_type_n as persisted_type_n,
prop.boolean_value as boolean_value,
prop.long_value as long_value,
prop.float_value as float_value,
prop.double_value as double_value,
prop.string_value as string_value,
prop.serializable_value as serializable_value
</sql>
<select id="select_NodeProperties" parameterClass="NodeProperty" resultMap="result_NodeProperty">
<include refid="alfresco.node.select_NodeProperty_Results"/>
from
alf_node_properties prop
where
prop.node_id = #nodeId#
<isNotNull property="key.qnameId">and qname_id = #key.qnameId#</isNotNull>
<isNotNull property="qnameIds">
and qname_id in
<iterate property="qnameIds" open="(" close=")" conjunction=",">#qnameIds[]#</iterate>
</isNotNull>
</select>
<select id="select_NodeAspectIds" parameterMap="parameter_Id" resultClass="java.lang.Long">
select
qname_id
from
alf_node_aspects
where
node_id = ?
</select>
<select id="select_NodesWithAspectId" parameterMap="parameter_NodesWithAspect" resultMap="result_NodeRef" >
select
node.id as id,
store.protocol as protocol,
store.identifier as identifier,
node.uuid as uuid,
node.node_deleted as node_deleted
from
alf_node node
join alf_store store on (store.id = node.store_id)
join alf_node_aspects na on (na.node_id = node.id and na.node_id > ? and na.qname_id = ?)
order by
node.id
</select>
<!-- Common results for result_NodeAssoc -->
<sql id="select_NodeAssoc_Results">
select
assoc.id as id,
sourceNode.id as sourceNodeId,
sourceStore.protocol as sourceNodeProtocol,
sourceStore.identifier as sourceNodeIdentifier,
sourceNode.uuid as sourceNodeUuid,
targetNode.id as targetNodeId,
targetStore.protocol as targetNodeProtocol,
targetStore.identifier as targetNodeIdentifier,
targetNode.uuid as targetNodeUuid,
assoc.type_qname_id as type_qname_id
from
alf_node_assoc assoc
join alf_node sourceNode on (sourceNode.id = assoc.source_node_id)
join alf_store sourceStore on (sourceStore.id = sourceNode.store_id)
join alf_node targetNode on (targetNode.id = assoc.target_node_id)
join alf_store targetStore on (targetStore.id = targetNode.store_id)
</sql>
<select id="select_NodeAssocsBySource" parameterClass="NodeAssoc" resultMap="result_NodeAssoc">
<include refid="alfresco.node.select_NodeAssoc_Results"/>
where
sourceNode.id = #sourceNode.id#
</select>
<select id="select_NodeAssocsByTarget" parameterClass="NodeAssoc" resultMap="result_NodeAssoc">
<include refid="alfresco.node.select_NodeAssoc_Results"/>
where
targetNode.id = #targetNode.id#
</select>
<!-- Common results for result_ChildAssoc -->
<sql id="select_ChildAssoc_Results">
select
assoc.id as id,
parentNode.id as parentNodeId,
parentStore.protocol as parentNodeProtocol,
parentStore.identifier as parentNodeIdentifier,
parentNode.uuid as parentNodeUuid,
childNode.id as childNodeId,
childStore.protocol as childNodeProtocol,
childStore.identifier as childNodeIdentifier,
childNode.uuid as childNodeUuid,
assoc.type_qname_id as type_qname_id,
assoc.child_node_name_crc as child_node_name_crc,
assoc.child_node_name as child_node_name,
assoc.qname_ns_id as qname_ns_id,
assoc.qname_localname as qname_localname,
assoc.is_primary as is_primary,
assoc.assoc_index as assoc_index
</sql>
<sql id="select_ChildAssoc_FromSimple">
from
alf_child_assoc assoc
join alf_node parentNode on (parentNode.id = assoc.parent_node_id)
join alf_store parentStore on (parentStore.id = parentNode.store_id)
join alf_node childNode on (childNode.id = assoc.child_node_id)
join alf_store childStore on (childStore.id = childNode.store_id)
</sql>
<sql id="select_ChildAssoc_OrderBy">
order by
assoc.assoc_index ASC,
assoc.id ASC
</sql>
<select id="select_ChildAssocById" parameterClass="ChildAssoc" resultMap="result_ChildAssoc">
<include refid="alfresco.node.select_ChildAssoc_Results"/>
<include refid="alfresco.node.select_ChildAssoc_FromSimple"/>
where
assoc.id = #id#
</select>
<select id="select_ChildAssocsOfParent" parameterClass="ChildAssoc" resultMap="result_ChildAssoc">
<include refid="alfresco.node.select_ChildAssoc_Results"/>
<include refid="alfresco.node.select_ChildAssoc_FromSimple"/>
where
parentNode.id = #parentNode.id#
<isNotNull property="childNode">and assoc.child_node_id = #childNode.id#</isNotNull>
<isNotNull property="typeQNameIds">
and type_qname_id in <iterate property="typeQNameIds" open="(" close=")" conjunction=",">#typeQNameIds[]#</iterate>
</isNotNull>
<isNotNull property="typeQNameId">and assoc.type_qname_id = #typeQNameId#</isNotNull>
<isNotNull property="qnameCrc">and assoc.qname_crc = #qnameCrc#</isNotNull>
<isNotNull property="qnameNamespaceId">and assoc.qname_ns_id = #qnameNamespaceId#</isNotNull>
<isNotNull property="qnameLocalName">and assoc.qname_localname = #qnameLocalName#</isNotNull>
<isNotNull property="isPrimary">and assoc.is_primary = #isPrimary#</isNotNull>
<isNotNull property="childNodeName">and assoc.child_node_name = #childNodeName#</isNotNull>
<isNotNull property="childNodeNameCrc">and assoc.child_node_name_crc = #childNodeNameCrc#</isNotNull>
<isNotNull property="childNodeNameCrcs">
and child_node_name_crc in <iterate property="childNodeNameCrcs" open="(" close=")" conjunction=",">#childNodeNameCrcs[]#</iterate>
</isNotNull>
<isNotNull property="childNodeTypeQNameIds">
and childNode.type_qname_id in <iterate property="childNodeTypeQNameIds" open="(" close=")" conjunction=",">#childNodeTypeQNameIds[]#</iterate>
</isNotNull>
<isNotNull property="sameStore">
<isEqual property="sameStore" compareValue="true">and parentStore.id = childStore.id</isEqual>
<isEqual property="sameStore" compareValue="false"><![CDATA[and parentStore.id <> childStore.id]]></isEqual>
</isNotNull>
<isEqual property="ordered" compareValue="true">
<include refid="alfresco.node.select_ChildAssoc_OrderBy"/>
</isEqual>
</select>
<select id="select_ChildAssocsOfParentWithoutParentAssocsOfType" parameterClass="ChildAssoc" resultMap="result_ChildAssoc">
<include refid="alfresco.node.select_ChildAssoc_Results"/>
from
(
alf_child_assoc assoc
join alf_node parentNode on (parentNode.id = assoc.parent_node_id)
join alf_store parentStore on (parentStore.id = parentNode.store_id)
join alf_node childNode on (childNode.id = assoc.child_node_id)
join alf_store childStore on (childStore.id = childNode.store_id)
)
LEFT OUTER JOIN
(
alf_child_assoc a
JOIN alf_child_assoc z2 ON (z2.parent_node_id = #parentNode.id# AND z2.child_node_id = a.parent_node_id )
)
ON (a.child_node_id = childNode.id AND a.type_qname_id = #typeQNameId#)
where
parentNode.id = #parentNode.id# and
a.child_node_id IS NULL
</select>
<select id="select_NodePrimaryChildAcls" parameterClass="ChildAssoc" resultMap="result_NodeAcl">
select
node.id as id,
node.acl_id as acl_id
from
alf_node node
join alf_child_assoc assoc on
(
node.id = assoc.child_node_id
and assoc.parent_node_id = #parentNode.id#
and assoc.is_primary = #isPrimary#
)
</select>
<select id="select_ParentAssocsOfChild" parameterClass="ChildAssoc" resultMap="result_ChildAssoc">
<include refid="alfresco.node.select_ChildAssoc_Results"/>
<include refid="alfresco.node.select_ChildAssoc_FromSimple"/>
where
childNode.id = #childNode.id#
<isNotNull property="parentNode">and assoc.parent_node_id = #parentNode.id#</isNotNull>
<isNotNull property="typeQNameIds">
and type_qname_id in <iterate property="typeQNameIds" open="(" close=")" conjunction=",">#typeQNameIds[]#</iterate>
</isNotNull>
<isNotNull property="typeQNameId">and assoc.type_qname_id = #typeQNameId#</isNotNull>
<isNotNull property="qnameCrc">and assoc.qname_crc = #qnameCrc#</isNotNull>
<isNotNull property="qnameNamespaceId">and assoc.qname_ns_id = #qnameNamespaceId#</isNotNull>
<isNotNull property="qnameLocalName">and assoc.qname_localname = #qnameLocalName#</isNotNull>
<isNotNull property="isPrimary">and assoc.is_primary = #isPrimary#</isNotNull>
</select>
<sql id="select_Transaction_Results">
select
txn.id as id,
txn.version as version,
txn.change_txn_id as change_txn_id,
txn.commit_time_ms as commit_time_ms
</sql>
<sql id="select_Transaction_OrderByCommitTime">
<isEqual property="orderByCommit" compareValue="true">order by txn.commit_time ASC</isEqual>
<isEqual property="orderByCommit" compareValue="false">order by txn.commit_time DESC</isEqual>
</sql>
<!-- Full WHERE clause for TransactionQueryEntity -->
<sql id="select_Transaction_FullWhere">
<dynamic prepend="where">
<isNotNull property="id" prepend="---">txn.id = #id#</isNotNull>
<isNotNull property="storeId" prepend="and"> store.id = #storeId#</isNotNull>
<isNotNull property="excludeServerId" prepend="and"><![CDATA[ server_id <> #excludeServerId#]]></isNotNull>
<isNotNull property="minCommitTime" prepend="and"><![CDATA[ txn.commit_time_ms >= #minCommitTime#]]></isNotNull>
<isNotNull property="maxCommitTime" prepend="and"><![CDATA[ txn.commit_time_ms < #maxCommitTime#]]></isNotNull>
<isNotEmpty property="includeTxnIds" prepend="and">
txn.id in <iterate property="includeTxnIds" open="(" close=")" conjunction=",">#includeTxnIds[]#</iterate>
</isNotEmpty>
<isNotEmpty property="excludeTxnIds" prepend="and">
txn.id NOT in <iterate property="excludeTxnIds" open="(" close=")" conjunction=",">#excludeTxnIds[]#</iterate>
</isNotEmpty>
</dynamic>
</sql>
<select id="select_TxnLast" parameterClass="TransactionQuery" resultMap="result_Transaction">
<include refid="alfresco.node.select_Transaction_Results"/>
from
alf_transaction txn
where
txn.commit_time_ms =
(
select max(commit_time_ms) from alf_transaction
<![CDATA[where commit_time_ms <= #maxCommitTime#]]>
)
</select>
<select id="select_TxnNodes" parameterClass="TransactionQuery" resultMap="result_NodeRef">
select
node.id as id,
store.protocol as protocol,
store.identifier as identifier,
node.uuid as uuid,
node.node_deleted as node_deleted
from
alf_node node
join alf_store store on (store.id = node.store_id)
join alf_transaction txn on (txn.id = node.transaction_id)
<include refid="alfresco.node.select_Transaction_FullWhere"/>
</select>
<select id="select_Txns" parameterClass="TransactionQuery" resultMap="result_Transaction">
<include refid="alfresco.node.select_Transaction_Results"/>
from
alf_transaction txn
<include refid="alfresco.node.select_Transaction_FullWhere"/>
</select>
<select id="select_TxnCount" resultClass="java.lang.Integer">
select
count(txn.id)
from
alf_transaction txn
</select>
<select id="select_TxnNodeCount" parameterClass="Node" resultClass="java.lang.Integer">
select
count(node.id)
from
alf_node node
where
node.transaction_id = #transaction.id#
<isNotNull property="deleted">and node.node_deleted = #deleted#</isNotNull>
</select>
<select id="select_TxnsUnused" parameterClass="TransactionQuery" resultClass="java.lang.Long">
select
txn.id
from
alf_transaction txn
right join alf_node node on (node.transaction_id = txn.id)
where
node.id is null
<isNotNull property="minId"><![CDATA[and txn.id >= #minId#]]></isNotNull>
<isNotNull property="maxCommitTime"><![CDATA[and txn.commit_time_ms <= #maxCommitTime#]]></isNotNull>
</select>
<select id="select_TxnMinCommitTime" resultClass="java.lang.Long">
select
min(commit_time_ms)
from
alf_transaction
</select>
<select id="select_TxnMaxCommitTime" resultClass="java.lang.Long">
select
max(commit_time_ms)
from
alf_transaction
</select>
</sqlMap>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.node">
<!--
The ANSI form requires a subselect. This is not compatible with MySQL.
-->
<update id="update_PrimaryChildrenSharedAcl" parameterClass="PrimaryChildrenAclUpdate">
update
alf_node
set
acl_id = #newSharedAclId#
where id in
(
select n.id
from
alf_node n
join alf_child_assoc ca on (n.id = ca.child_node_id and ca.is_primary = #isPrimary#)
where
ca.parent_node_id = #primaryParentNodeId#
and
(
n.acl_id is null
<isNotNull property="optionalOldSharedAclIdInAdditionToNull"> OR n.acl_id = #optionalOldSharedAclIdInAdditionToNull#</isNotNull>
)
)
</update>
</sqlMap>

View File

@@ -24,6 +24,11 @@
<result property="stringValue" column="string_value" jdbcType="VARCHAR" javaType="java.lang.String"/>
</resultMap>
<resultMap class="java.util.HashMap" id="result_authoritiesAndCrc">
<result property="authority" column="authority" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="crc" column="crc" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
<!-- -->
@@ -89,6 +94,14 @@
]]>
</select>
<select id="select_authoritiesAndCrc" resultMap="result_authoritiesAndCrc">
select
authority,
crc
from
alf_authority
</select>
<!-- -->
<!-- Updates -->
<!-- -->

View File

@@ -0,0 +1,661 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.permissions">
<!-- -->
<!-- Type Defs -->
<!-- -->
<typeAlias alias="Acl" type="org.alfresco.repo.domain.permissions.AclEntity"/>
<typeAlias alias="AclMember" type="org.alfresco.repo.domain.permissions.AclMemberEntity"/>
<typeAlias alias="AclChangeSet" type="org.alfresco.repo.domain.permissions.AclChangeSetEntity"/>
<typeAlias alias="Ace" type="org.alfresco.repo.domain.permissions.AceEntity"/>
<typeAlias alias="AceContext" type="org.alfresco.repo.domain.permissions.AceContextEntity"/>
<typeAlias alias="Permission" type="org.alfresco.repo.domain.permissions.PermissionEntity"/>
<typeAlias alias="Authority" type="org.alfresco.repo.domain.permissions.AuthorityEntity"/>
<typeAlias alias="AuthorityAlias" type="org.alfresco.repo.domain.permissions.AuthorityAliasEntity"/>
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="result_Acl" class="Acl">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="aclId" column="acl_id" jdbcType="VARCHAR" javaType="string"/>
<result property="latest" column="latest" jdbcType="BIT" javaType="boolean"/>
<result property="aclVersion" column="acl_version" jdbcType="BIGINT" javaType="long"/>
<result property="inherits" column="inherits" jdbcType="BIT" javaType="boolean"/>
<result property="inheritsFrom" column="inherits_from" jdbcType="BIGINT" javaType="long"/>
<result property="type" column="type" jdbcType="INT" javaType="int"/>
<result property="inheritedAcl" column="inherited_acl" jdbcType="BIGINT" javaType="long"/>
<result property="isVersioned" column="is_versioned" jdbcType="BIT" javaType="boolean"/>
<result property="requiresVersion" column="requires_version" jdbcType="BIT" javaType="boolean"/>
<result property="aclChangeSet" column="acl_change_set" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<resultMap id="result_AclMember" class="AclMember">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="aclId" column="acl_id" jdbcType="BIGINT" javaType="long"/>
<result property="aceId" column="ace_id" jdbcType="BIGINT" javaType="long"/>
<result property="pos" column="pos" jdbcType="INT" javaType="int"/>
</resultMap>
<resultMap id="result_AclChangeSet" class="AclChangeSet">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<resultMap id="result_Ace" class="Ace">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="permissionId" column="permission_id" jdbcType="BIGINT" javaType="long"/>
<result property="authorityId" column="authority_id" jdbcType="BIGINT" javaType="long"/>
<result property="allowed" column="allowed" jdbcType="BIT" javaType="boolean"/>
<result property="applies" column="applies" jdbcType="INT" javaType="int"/>
<result property="contextId" column="context_id" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<resultMap id="result_AceContext" class="AceContext">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="classContext" column="class_context" jdbcType="VARCHAR" javaType="string"/>
<result property="propertyContext" column="property_context" jdbcType="VARCHAR" javaType="string"/>
<result property="kvpContext" column="kvp_context" jdbcType="VARCHAR" javaType="string"/>
</resultMap>
<resultMap id="result_Permission" class="Permission">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="qnameId" column="type_qname_id" jdbcType="BIGINT" javaType="long"/>
<result property="name" column="name" jdbcType="VARCHAR" javaType="string"/>
</resultMap>
<resultMap id="result_Authority" class="Authority">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="authority" column="authority" jdbcType="VARCHAR" javaType="string"/>
<result property="crc" column="crc" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<resultMap id="result_AuthorityAlias" class="AuthorityAlias">
<result property="id" column="id" jdbcType="BIGINT" javaType="long"/>
<result property="version" column="version" jdbcType="BIGINT" javaType="long"/>
<result property="authId" column="auth_id" jdbcType="BIGINT" javaType="long"/>
<result property="aliasId" column="alias_id" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<resultMap id="result_AceAndAuthority" class="HashMap">
<result property="allowed" column="allowed" jdbcType="BIT" javaType="boolean"/>
<result property="applies" column="applies" jdbcType="INT" javaType="int"/>
<result property="authority" column="authority" jdbcType="VARCHAR" javaType="string"/>
<result property="permissionId" column="permission_id" jdbcType="BIGINT" javaType="long"/>
<result property="pos" column="pos" jdbcType="INT" javaType="int"/>
<result property="aclmemId" column="aclmem_id" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
<!-- -->
<parameterMap id="parameter_IdMap" class="map">
<parameter property="id" jdbcType="BIGINT" javaType="long"/>
</parameterMap>
<parameterMap id="parameter_NameMap" class="map">
<parameter property="name" jdbcType="VARCHAR" javaType="string"/>
</parameterMap>
<parameterMap id="parameter_IdNameMap" class="map">
<parameter property="id" jdbcType="BIGINT" javaType="long"/>
<parameter property="name" jdbcType="VARCHAR" javaType="string"/>
</parameterMap>
<parameterMap id="parameter_IdBoolMap" class="map">
<parameter property="id" jdbcType="BIGINT" javaType="long"/>
<parameter property="bool" jdbcType="BIT" javaType="boolean"/>
</parameterMap>
<parameterMap id="parameter_NameBoolMap" class="map">
<parameter property="name" jdbcType="VARCHAR" javaType="string"/>
<parameter property="bool" jdbcType="BIT" javaType="boolean"/>
</parameterMap>
<parameterMap id="parameter_IdIdIntBoolMap" class="map">
<parameter property="id1" jdbcType="BIGINT" javaType="long"/>
<parameter property="id2" jdbcType="BIGINT" javaType="long"/>
<parameter property="bool" jdbcType="BIT" javaType="boolean"/>
<parameter property="int" jdbcType="INT" javaType="int"/>
</parameterMap>
<!-- -->
<!-- SQL Snippets / Inserts -->
<!-- -->
<sql id="insert_Acl_AutoIncrement">
insert into alf_access_control_list
(version, acl_id, latest, acl_version, inherits, inherits_from,
type, inherited_acl, is_versioned, requires_version, acl_change_set)
values
(#version#, #aclId#, #latest#, #aclVersion#, #inherits#, #inheritsFrom#,
#type#, #inheritedAcl#, #isVersioned#, #requiresVersion#, #aclChangeSet#)
</sql>
<sql id="insert_Acl_Sequence">
insert into alf_access_control_list
(id, version, acl_id, latest, acl_version, inherits, inherits_from,
type, inherited_acl, is_versioned, requires_version, acl_change_set)
values
(#id#, #version#, #aclId#, #latest#, #aclVersion#, #inherits#, #inheritsFrom#,
#type#, #inheritedAcl#, #isVersioned#, #requiresVersion#, #aclChangeSet#)
</sql>
<sql id="insert_AclMember_AutoIncrement">
insert into alf_acl_member
(version, acl_id, ace_id, pos)
values
(#version#, #aclId#, #aceId#, #pos#)
</sql>
<sql id="insert_AclMember_Sequence">
insert into alf_acl_member
(id, version, acl_id, ace_id, pos)
values
(#id#, #version#, #aclId#, #aceId#, #pos#)
</sql>
<sql id="insert_AclChangeSet_AutoIncrement">
insert into alf_acl_change_set
(version)
values
(#version#)
</sql>
<sql id="insert_AclChangeSet_Sequence">
insert into alf_acl_change_set
(id, version)
values
(#id#, #version#)
</sql>
<sql id="insert_Ace_AutoIncrement">
insert into alf_access_control_entry
(version, permission_id, authority_id, allowed, applies, context_id)
values
(#version#, #permissionId#, #authorityId#, #allowed#, #applies#, #contextId#)
</sql>
<sql id="insert_Ace_Sequence">
insert into alf_access_control_entry
(id, version, permission_id, authority_id, allowed, applies, context_id)
values
(#id#, #version#, #permissionId#, #authorityId#, #allowed#, #applies#, #contextId#)
</sql>
<sql id="insert_AceContext_AutoIncrement">
insert into alf_ace_context
(version, class_context, property_context, kvp_context)
values
(#version#, #classContext#, #propertyContext#, #kvpContext#)
</sql>
<sql id="insert_AceContext_Sequence">
insert into alf_ace_context
(id, version, class_context, property_context, kvp_context)
values
(#id#, #version#, #classContext#, #propertyContext#, #kvpContext#)
</sql>
<sql id="insert_Permission_AutoIncrement">
insert into alf_permission
(version, type_qname_id, name)
values
(#version#, #qnameId#, #name#)
</sql>
<sql id="insert_Permission_Sequence">
insert into alf_permission
(id, version, type_qname_id, name)
values
(#id#, #version#, #qnameId#, #name#)
</sql>
<sql id="insert_Authority_AutoIncrement">
insert into alf_authority
(version, authority, crc)
values
(#version#, #authority#, #crc#)
</sql>
<sql id="insert_Authority_Sequence">
insert into alf_authority
(id, version, authority, crc)
values
(#id#, #version#, #authority#, #crc#)
</sql>
<sql id="insert_AuthorityAlias_AutoIncrement">
insert into alf_authority_alias
(version, auth_id, alias_id)
values
(#version#, #authId#, #aliasId#)
</sql>
<sql id="insert_AuthorityAlias_Sequence">
insert into alf_authority_alias
(id, version, auth_id, alias_id)
values
(#id#, #version#, #authId#, #aliasId#)
</sql>
<!-- -->
<!-- Updates -->
<!-- -->
<!-- Optimistic update of the acl -->
<update id="update_Acl" parameterClass="Acl">
update
alf_access_control_list
set
acl_id = #aclId#,
latest = #latest#,
acl_version = #aclVersion#,
inherits = #inherits#,
inherits_from = #inheritsFrom#,
type = #type#,
inherited_acl = #inheritedAcl#,
is_versioned = #isVersioned#,
requires_version = #requiresVersion#,
acl_change_set = #aclChangeSet#,
version = #version#
where
id = #id#
<isGreaterThan property="version" compareValue="1">
and version = (#version#-1)
</isGreaterThan>
</update>
<!-- Optimistic update of the acl member -->
<update id="update_AclMember" parameterClass="AclMember">
update
alf_acl_member
set
acl_id = #aclId#,
ace_id = #aceId#,
pos = #pos#,
version = #version#
where
id = #id#
<isGreaterThan property="version" compareValue="1">
and version = (#version#-1)
</isGreaterThan>
</update>
<!-- Optimistic update of the authority -->
<update id="update_Authority" parameterClass="Authority">
update
alf_authority
set
authority = #authority#,
crc = #crc#,
version = #version#
where
id = #id#
<isGreaterThan property="version" compareValue="1">
and version = (#version#-1)
</isGreaterThan>
</update>
<!-- Optimistic update of the permission -->
<update id="update_Permission" parameterClass="Permission">
update
alf_permission
set
qname_id = #qnameId#,
name = #name#,
version = #version#
where
id = #id#
<isGreaterThan property="version" compareValue="1">
and version = (#version#-1)
</isGreaterThan>
</update>
<!-- -->
<!-- Selects -->
<!-- -->
<select id="select_AclById" parameterMap="parameter_IdMap" resultMap="result_Acl">
select
*
from
alf_access_control_list
where
id = ?
</select>
<select id="select_AclsThatInheritFromAcl" parameterMap="parameter_IdBoolMap" resultClass="long">
select
acl.id
from
alf_access_control_list acl
where
acl.inherits_from = ? and acl.inherits = ?
</select>
<select id="select_LatestAclByGuid" parameterMap="parameter_NameBoolMap" resultClass="long">
select
acl.id
from
alf_access_control_list acl
where
acl.acl_id = ? and acl.latest = ?
</select>
<select id="select_ADMNodesByAclId" parameterMap="parameter_IdMap" resultClass="long">
select
id
from
alf_node
where
acl_id = ?
</select>
<select id="select_AVMNodesByAclId" parameterMap="parameter_IdMap" resultClass="long">
select
id
from
avm_nodes
where
acl_id = ?
</select>
<!-- for patch -->
<select id="select_AllAclIds" resultClass="long">
select
id
from
alf_access_control_list
</select>
<!-- for patch -->
<select id="select_UsedAclIds" resultClass="long">
select acl_id from avm_nodes where acl_id is not null
union select acl_id from avm_stores where acl_id is not null
union select acl_id from alf_node where acl_id is not null
union select acl_id from alf_attributes where acl_id is not null
</select>
<!-- for patch -->
<select id="select_MaxAclId" resultClass="long">
select
max(acl.id)
from
alf_access_control_list acl
</select>
<!-- for patch -->
<select id="select_DmNodeCount">
select
count(*)
from
alf_node
</select>
<!-- for patch -->
<select id="select_DmNodeCountWherePermissionsHaveChanged" parameterMap="parameter_IdMap">
select
count(*)
from
alf_node
where
acl_id > ?
</select>
<select id="select_AclMembersByAclId" parameterMap="parameter_IdMap" resultMap="result_AclMember">
select
*
from
alf_acl_member
where
acl_id = ?
</select>
<select id="select_AclMembersByAuthorityName" parameterMap="parameter_NameMap" resultMap="result_AclMember">
select
aclmem.*
from
alf_acl_member aclmem
join alf_access_control_entry ace on (aclmem.ace_id = ace.id)
join alf_authority authority on (ace.authority_id = authority.id)
where
authority.authority = ?
</select>
<select id="select_AclChangeSetById" parameterMap="parameter_IdMap" resultMap="result_AclChangeSet">
select
*
from
alf_acl_change_set
where
id = ?
</select>
<select id="select_AceById" parameterMap="parameter_IdMap" resultMap="result_Ace">
select
*
from
alf_access_control_entry
where
id = ?
</select>
<select id="select_AceContextById" parameterMap="parameter_IdMap" resultMap="result_AceContext">
select
*
from
alf_ace_context
where
id = ?
</select>
<select id="select_AceWithNoContext" parameterMap="parameter_IdIdIntBoolMap" resultMap="result_Ace">
select
*
from
alf_access_control_entry ace
where
ace.permission_id = ? and
ace.authority_id = ? and
ace.allowed = ? and
ace.applies = ? and
ace.context_id is null
</select>
<select id="select_AcesAndAuthoritiesByAclId" parameterMap="parameter_IdMap" resultMap="result_AceAndAuthority">
select
ace.allowed, ace.applies, authority.authority, ace.permission_id, aclmem.pos, aclmem.id as aclmem_id
from
alf_acl_member aclmem
join alf_access_control_list acl on (aclmem.acl_id = acl.id)
join alf_access_control_entry ace on (aclmem.ace_id = ace.id)
join alf_authority authority on (ace.authority_id = authority.id)
where
acl.id = ?
</select>
<select id="select_AcesByAuthorityId" parameterMap="parameter_IdMap" resultMap="result_Ace">
select
*
from
alf_access_control_entry
where
authority_id = ?
</select>
<select id="select_PermissionById" parameterMap="parameter_IdMap" resultMap="result_Permission">
select
*
from
alf_permission
where
id = ?
</select>
<select id="select_PermissionByTypeAndName" parameterMap="parameter_IdNameMap" resultMap="result_Permission">
select
*
from
alf_permission
where
type_qname_id = ? and
name = ?
</select>
<select id="select_AuthorityById" parameterMap="parameter_IdMap" resultMap="result_Authority">
select
*
from
alf_authority
where
id = ?
</select>
<select id="select_AuthorityByName" parameterMap="parameter_NameMap" resultMap="result_Authority">
select
*
from
alf_authority
where
authority = ?
</select>
<!-- -->
<!-- Deletes -->
<!-- -->
<delete id="delete_Acl" parameterMap="parameter_IdMap">
delete
from
alf_access_control_list
where
id = ?
</delete>
<!-- for patch -->
<delete id="delete_AclList" parameterClass="list">
delete
from
alf_access_control_list
where
id in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</delete>
<delete id="delete_AcesList" parameterClass="list">
delete
from
alf_access_control_entry
where
id in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</delete>
<!-- for patch -->
<delete id="delete_UnusedAces">
delete
from
alf_access_control_entry
where
id not in
(
select
distinct(m.ace_id)
from
alf_acl_member m
)
</delete>
<delete id="delete_AclMembersList" parameterClass="list">
delete
from
alf_acl_member
where
id in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</delete>
<delete id="delete_AclMembersByAclId" parameterMap="parameter_IdMap">
delete
from
alf_acl_member
where
acl_id = ?
</delete>
<!-- for patch -->
<delete id="delete_AclMembersForAclList" parameterClass="list">
delete
from
alf_acl_member
where
acl_id in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</delete>
<delete id="delete_AclChangeSet" parameterMap="parameter_IdMap">
delete
from
alf_acl_change_set
where
id = ?
</delete>
<delete id="delete_AceContext" parameterMap="parameter_IdMap">
delete
from
alf_ace_context
where
id = ?
</delete>
<delete id="delete_Authority" parameterMap="parameter_IdMap">
delete
from
alf_authority
where
id = ?
</delete>
<delete id="delete_AuthorityAlias" parameterMap="parameter_IdMap">
delete
from
alf_authority_alias
where
id = ?
</delete>
<delete id="delete_Permission" parameterMap="parameter_IdMap">
delete
from
alf_permission
where
id = ?
</delete>
</sqlMap>

View File

@@ -95,6 +95,7 @@
<result property="value1PropId" column="value1_prop_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="value2PropId" column="value2_prop_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="value3PropId" column="value3_prop_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
<result property="propertyId" column="prop1_id" jdbcType="BIGINT" javaType="java.lang.Long"/>
</resultMap>
<resultMap id="result_PropertyIdSearchRow" class="PropertyIdSearchRow">
<!-- If we use nested ResultMaps, then this ResultMap can't be embedded... -->
@@ -167,14 +168,18 @@
insert into alf_prop_root (version)
values (?)
</sql>
<sql id="insert_PropertyValue_Sequence">
<sql id="insert_PropertyRoot_Sequence">
insert into alf_prop_root (id, version)
values (?, ?)
</sql>
<sql id="insert_PropertyUniqueContext_AutoIncrement">
insert into alf_prop_unique_ctx (version, value1_prop_id, value2_prop_id, value3_prop_id)
values (#version#, #value1PropId#, #value2PropId#, #value3PropId#)
insert into alf_prop_unique_ctx (version, value1_prop_id, value2_prop_id, value3_prop_id, prop1_id)
values (#version#, #value1PropId#, #value2PropId#, #value3PropId#, #propertyId#)
</sql>
<sql id="insert_PropertyUniqueContext_Sequence">
insert into alf_prop_unique_ctx (id, version, value1_prop_id, value2_prop_id, value3_prop_id, prop1_id)
values (#id#, #version#, #value1PropId#, #value2PropId#, #value3PropId#, #propertyId#)
</sql>
<!-- -->
@@ -353,7 +358,7 @@
from
alf_prop_value pv
left join alf_prop_double_value dv on (dv.id = pv.long_value and pv.persisted_type = 2)
left join alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5))
left join alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5 OR pv.persisted_type = 6))
left join alf_prop_serializable_value serv on (serv.id = pv.long_value and pv.persisted_type = 4)
where
pv.id = #id#
@@ -377,7 +382,7 @@
alf_prop_link pl
join alf_prop_value pv on (pl.value_prop_id = pv.id)
left join alf_prop_double_value dv on (dv.id = pv.long_value and pv.persisted_type = 2)
left join alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5))
left join alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5 OR pv.persisted_type = 6))
left join alf_prop_serializable_value serv on (serv.id = pv.long_value and pv.persisted_type = 4)
where
pl.root_prop_id = #id#
@@ -402,7 +407,7 @@
alf_prop_link pl
join alf_prop_value pv on (pl.value_prop_id = pv.id)
left join alf_prop_double_value dv on (dv.id = pv.long_value and pv.persisted_type = 2)
left join alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5))
left join alf_prop_string_value sv on (sv.id = pv.long_value and (pv.persisted_type = 3 OR pv.persisted_type = 5 OR pv.persisted_type = 6))
left join alf_prop_serializable_value serv on (serv.id = pv.long_value and pv.persisted_type = 4)
<dynamic prepend="where pl.root_prop_id in ">
<iterate property="rootPropIds" open="(" close=")" conjunction=", ">
@@ -466,7 +471,8 @@
version,
value1_prop_id,
value2_prop_id,
value3_prop_id
value3_prop_id,
prop1_id
from
alf_prop_unique_ctx
where
@@ -479,13 +485,18 @@
version,
value1_prop_id,
value2_prop_id,
value3_prop_id
value3_prop_id,
prop1_id
from
alf_prop_unique_ctx
where
value1_prop_id = #value1PropId# and
value2_prop_id = #value2PropId# and
value3_prop_id = #value3PropId#
value1_prop_id = #value1PropId#
<isNotNull property="value2PropId">
and value2_prop_id = #value2PropId#
</isNotNull>
<isNotNull property="value3PropId">
and value3_prop_id = #value3PropId#
</isNotNull>
</select>
<update id="update_PropertyUniqueContext" parameterClass="PropertyUniqueContext">
@@ -495,7 +506,8 @@
version = #version#,
value1_prop_id = #value1PropId#,
value2_prop_id = #value2PropId#,
value3_prop_id = #value3PropId#
value3_prop_id = #value3PropId#,
prop1_id = #propertyId#
where
id = #id#
<isGreaterThan property="version" compareValue="1">

View File

@@ -54,7 +54,6 @@
insert into alf_namespace (version, uri)
values (#version#, #uri#)
</sql>
<sql id="insert_Namespace_Sequence">
insert into alf_namespace (id, version, uri)
values (#id#, #version#, #uri#)
@@ -64,7 +63,6 @@
insert into alf_qname (version, ns_id, local_name)
values (#version#, #namespaceId#, #localName#)
</sql>
<sql id="insert_QName_AutoIncrement_Sequence">
insert into alf_qname (id, version, ns_id, local_name)
values (#id#, #version#, #namespaceId#, #localName#)

View File

@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.usage">
<!-- -->
<!-- Type Defs -->
<!-- -->
<typeAlias alias="UsageDelta" type="org.alfresco.repo.domain.usage.UsageDeltaEntity"/>
<!-- -->
<!-- Result Maps -->
<!-- -->
<resultMap id="result_UsageDelta" class="UsageDelta">
<result property="deltaCount" column="delta_count" jdbcType="INTEGER" javaType="int"/>
<result property="deltaSize" column="delta_size" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<resultMap id="result_UsernameUUID" class="HashMap">
<result property="username" column="username" jdbcType="VARCHAR" javaType="string"/>
<result property="uuid" column="uuid" jdbcType="VARCHAR" javaType="string"/>
</resultMap>
<resultMap id="result_UserContentUrl" class="HashMap">
<result property="owner" column="owner" jdbcType="VARCHAR" javaType="string"/>
<result property="creator" column="creator" jdbcType="VARCHAR" javaType="string"/>
<result property="contentUrl" column="contentUrl" jdbcType="VARCHAR" javaType="string"/>
</resultMap>
<resultMap id="result_UserContentSize" class="HashMap">
<result property="owner" column="owner" jdbcType="VARCHAR" javaType="string"/>
<result property="creator" column="creator" jdbcType="VARCHAR" javaType="string"/>
<result property="contentSize" column="contentSize" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
<!-- -->
<parameterMap id="parameter_IdMap" class="map">
<parameter property="id" jdbcType="BIGINT" javaType="long"/>
</parameterMap>
<parameterMap id="parameter_Selector1Map" class="map">
<parameter property="personTypeQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="usernamePropQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="sizeCurrentPropQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="storeProtocol" jdbcType="VARCHAR" javaType="string"/>
<parameter property="storeIdentifier" jdbcType="VARCHAR" javaType="string"/>
</parameterMap>
<parameterMap id="parameter_Selector2Map" class="map">
<parameter property="contentTypeQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="ownerPropQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="contentPropQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="storeProtocol" jdbcType="VARCHAR" javaType="string"/>
<parameter property="storeIdentifier" jdbcType="VARCHAR" javaType="string"/>
</parameterMap>
<parameterMap id="parameter_Selector3Map" class="map">
<parameter property="personTypeQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="sizeCurrentPropQNameID" jdbcType="BIGINT" javaType="long"/>
<parameter property="storeProtocol" jdbcType="VARCHAR" javaType="string"/>
<parameter property="storeIdentifier" jdbcType="VARCHAR" javaType="string"/>
<parameter property="isDeleted" jdbcType="BIT" javaType="boolean"/>
</parameterMap>
<!-- -->
<!-- SQL Snippets / Inserts -->
<!-- -->
<sql id="insert_UsageDelta_AutoIncrement">
insert into alf_usage_delta
(version, node_id, delta_size)
values
(#version#, #nodeId#, #deltaSize#)
</sql>
<sql id="insert_UsageDelta_Sequence">
insert into alf_usage_delta
(id, version, node_id, delta_size)
values
(#id#, #version#, #nodeId#, #deltaSize#)
</sql>
<!-- -->
<!-- Updates -->
<!-- -->
<!-- -->
<!-- Selects -->
<!-- -->
<!-- Get total usage delta for a node -->
<select id="select_GetTotalDeltaSizeByNodeId" parameterMap="parameter_IdMap" resultMap="result_UsageDelta">
select
count(delta_size) as delta_count,
sum(delta_size) as delta_size
from
alf_usage_delta
where
node_id = ?
</select>
<!-- Get nodes with usage deltas -->
<select id="select_GetUsageDeltaNodes" resultClass="long">
select
distinct(node_id)
from
alf_usage_delta
</select>
<select id="select_GetUsersWithoutUsage" parameterMap="parameter_Selector1Map" resultMap="result_UsernameUUID">
select
p1.string_value as username,
n.uuid as uuid
from
alf_node n
join alf_store s on (s.id = n.store_id and n.type_qname_id = ?)
join alf_node_properties p1 on (p1.node_id = n.id and p1.qname_id = ?)
join alf_node_properties p2 on (p2.node_id = n.id and p2.qname_id = ?)
where
s.protocol = ? and
s.identifier = ? and
p2.persisted_type_n = 0 and
<![CDATA[p1.string_value <> 'System']]>
</select>
<select id="select_GetUsersWithUsage" parameterMap="parameter_Selector1Map" resultMap="result_UsernameUUID">
select
p1.string_value as username,
n.uuid as uuid
from
alf_node n
join alf_store s on (s.id = n.store_id and n.type_qname_id = ?)
join alf_node_properties p1 on (p1.node_id = n.id and p1.qname_id = ?)
join alf_node_properties p2 on (p2.node_id = n.id and p2.qname_id = ?)
where
s.protocol = ? and
s.identifier = ? and
<![CDATA[p2.persisted_type_n <> 0 and
p1.string_value <> 'System']]>
</select>
<!-- Query for the 'new' style content properties stored in the 'content_url' table -->
<select id="select_GetContentSizesForStoreNew" parameterMap="parameter_Selector2Map" resultMap="result_UserContentSize">
select
p1.string_value as owner,
n.audit_creator as creator,
sum(cu.content_size) as contentSize
from
alf_node n
join alf_store s on (s.id = n.store_id and n.type_qname_id = ?)
left join alf_node_properties p1 on (p1.node_id = n.id and p1.qname_id = ?)
join alf_node_properties p2 on (p2.node_id = n.id and p2.qname_id = ?)
join alf_content_data cd on (p2.long_value = cd.id)
join alf_content_url cu on (cd.content_url_id = cu.id)
where
s.protocol = ? and
s.identifier = ? and
<![CDATA[(p1.string_value <> 'System' or
(p1.string_value is null and n.audit_creator <> 'System'))]]>
group by
owner, creator
</select>
<!-- for patch (PersonUsagePatch) -->
<select id="select_GetUsersWithoutUsageProp" parameterMap="parameter_Selector3Map" resultClass="string">
select
n.uuid as uuid
from
alf_node n
join alf_store s on (s.id = n.store_id and n.type_qname_id = ?)
left join alf_node_properties p1 on (p1.node_id = n.id and p1.qname_id = ?)
where
s.protocol = ? and
s.identifier = ? and
n.node_deleted = ? and
p1.persisted_type_n is null
</select>
<!-- -->
<!-- Deletes -->
<!-- -->
<delete id="delete_UsageDeltasByNodeId" parameterMap="parameter_IdMap">
delete
from
alf_usage_delta
where
node_id = ?
</delete>
</sqlMap>

View File

@@ -7,36 +7,27 @@
<sqlMap namespace="alfresco.activities">
<insert id="insert_activity_feedcontrol" parameterClass="FeedControl">
insert into alf_activity_feed_control (feed_user_id, site_network, app_tool, last_modified)
values (#feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<include refid="alfresco.activities.insert_ActivityFeedControl_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_activity_feed" parameterClass="ActivityFeed">
insert into alf_activity_feed (activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
<include refid="alfresco.activities.insert_ActivityFeed_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_activity_post" parameterClass="ActivityPost">
insert into alf_activity_post (status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
<include refid="alfresco.activities.insert_ActivityPost_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
</sqlMap>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.locale">
<insert id="insert_Locale" parameterClass="Locale">
<include refid="alfresco.locale.insert_Locale_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
</sqlMap>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.node">
<insert id="insert_Server" parameterClass="Server" >
<include refid="alfresco.node.insert_Server_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_Store" parameterClass="Store" >
<include refid="alfresco.node.insert_Store_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_Node" parameterClass="Node" >
<include refid="alfresco.node.insert_Node_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_Transaction" parameterClass="Transaction" >
<include refid="alfresco.node.insert_Transaction_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_NodeAssoc" parameterClass="NodeAssoc" >
<include refid="alfresco.node.insert_NodeAssoc_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_ChildAssoc" parameterClass="ChildAssoc" >
<include refid="alfresco.node.insert_ChildAssoc_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
</sqlMap>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.node">
<!--
MySQL does not allow the target table to be present in the subselect
-->
<update id="update_PrimaryChildrenSharedAcl" parameterClass="PrimaryChildrenAclUpdate">
update
alf_child_assoc assoc
join alf_node child on (child.id = assoc.child_node_id and assoc.is_primary = #isPrimary#)
set
child.acl_id = #newSharedAclId#
where
assoc.parent_node_id = #primaryParentNodeId#
and
(
child.acl_id is null
<isNotNull property="optionalOldSharedAclIdInAdditionToNull"> OR child.acl_id = #optionalOldSharedAclIdInAdditionToNull#</isNotNull>
)
</update>
</sqlMap>

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.permissions">
<insert id="insert_Acl" parameterClass="Acl">
<include refid="insert_Acl_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_AclMember" parameterClass="AclMember">
<include refid="insert_AclMember_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_AclChangeSet" parameterClass="AclChangeSet">
<include refid="insert_AclChangeSet_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_Ace" parameterClass="Ace">
<include refid="insert_Ace_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_AceContext" parameterClass="AceContext">
<include refid="insert_AceContext_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_Permission" parameterClass="Permission">
<include refid="insert_Permission_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_Authority" parameterClass="Authority">
<include refid="insert_Authority_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
<insert id="insert_AuthorityAlias" parameterClass="AuthorityAlias">
<include refid="insert_AuthorityAlias_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
</sqlMap>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.usage">
<insert id="insert_UsageDelta" parameterClass="UsageDelta">
<include refid="insert_UsageDelta_AutoIncrement"/>
<selectKey resultClass="long" keyProperty="id" type="post">
KEY_COLUMN:GENERATED_KEY
</selectKey>
</insert>
</sqlMap>

View File

@@ -7,36 +7,33 @@
<sqlMap namespace="alfresco.activities">
<insert id="insert_activity_feedcontrol" parameterClass="FeedControl">
<selectKey keyProperty="id" resultClass="long">
select nextVal('alf_activity_feed_control_seq')
</selectKey>
insert into alf_activity_feed_control (id, feed_user_id, site_network, app_tool, last_modified)
values (#id#, #feedUserId#, #siteNetwork#, #appTool#, #lastModified#)
<include refid="alfresco.activities.insert_ActivityFeedControl_Sequence"/>
</insert>
<insert id="insert_activity_feed" parameterClass="ActivityFeed">
<selectKey keyProperty="id" resultClass="long">
select nextVal('alf_activity_feed_seq')
</selectKey>
insert into alf_activity_feed (id, activity_type, activity_summary, activity_format, feed_user_id, post_user_id, post_date, post_id, site_network, app_tool, feed_date)
values (#id#, #activityType#, #activitySummary#, #activitySummaryFormat#, #feedUserId#, #postUserId#, #postDate#, #postId#, #siteNetwork#, #appTool#, #feedDate#)
<include refid="alfresco.activities.insert_ActivityFeed_Sequence"/>
</insert>
<insert id="insert_activity_post" parameterClass="ActivityPost">
<selectKey keyProperty="id" resultClass="long">
select nextVal('alf_activity_post_seq')
</selectKey>
insert into alf_activity_post (sequence_id, status, activity_data, post_user_id, post_date, activity_type, site_network, app_tool, job_task_node, last_modified)
values (#id#, #status#, #activityData#, #userId#, #postDate#, #activityType#, #siteNetwork#, #appTool#, #jobTaskNode#, #lastModified#)
<include refid="alfresco.activities.insert_ActivityPost_Sequence"/>
</insert>
</sqlMap>

View File

@@ -4,49 +4,45 @@
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.avm">
<sqlMap namespace="alfresco.avm">
<insert id="insert_AVMStore" parameterClass="AVMStore">
<selectKey resultClass="long" keyProperty="id">
select nextVal('hibernate_sequence')
select nextVal('avm_stores_seq')
</selectKey>
insert into avm_stores (id, next_version_id, name, vers, current_root_id, acl_id)
values (#id#, #version#, #name#, 0, null, null)
<include refid="alfresco.avm.insert_AVMStore_Sequence"/>
</insert>
<insert id="insert_AVMStoreProperty" parameterMap="parameter_IdStorePropertyPatternMap">
<selectKey resultClass="long" keyProperty="id">
select nextVal('hibernate_sequence')
select nextVal('avm_store_properties_seq')
</selectKey>
insert into avm_store_properties (id, actual_type_n, persisted_type_n, multi_valued, boolean_value, long_value, float_value, double_value, string_value, serializable_value, avm_store_id, qname_id)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
<include refid="alfresco.avm.insert_AVMStoreProperty_Sequence"/>
</insert>
<insert id="insert_AVMNode" parameterClass="AVMNode">
<selectKey resultClass="long" keyProperty="id">
select nextVal('hibernate_sequence')
select nextVal('avm_nodes_seq')
</selectKey>
insert into avm_nodes (id, class_type, deletedType, version_id, vers, store_new_id, acl_id, guid, owner, creator, createDate, lastModifier, modDate, accessDate, is_root, layer_id, indirection, indirection_version, primary_indirection, opacity, content_url, mime_type, encoding, length)
values (#id#, #classType#, #deletedType#, #version#, 0, #storeNewId#, #aclId#, #guid#, #owner#, #creator#, #createdDate#, #modifier#, #modifiedDate#, #accessDate#, #isRoot#, #layerId#, #indirection#, #indirectionVersion#, #primaryIndirection#, #opacity#, #contentUrl#, #mimetype#, #encoding#, #length#)
<include refid="alfresco.avm.insert_AVMNode_Sequence"/>
</insert>
<insert id="insert_AVMVersionRoot" parameterClass="AVMVersionRoot">
<selectKey resultClass="long" keyProperty="id">
select nextVal('hibernate_sequence')
select nextVal('avm_version_roots_seq')
</selectKey>
insert into avm_version_roots (id, avm_store_id, root_id, version_id, creator, create_date, tag, description)
values (#id#, #storeId#, #rootNodeId#, #version#, #creator#, #createdDate#, #tag#, #description#)
<include refid="alfresco.avm.insert_AVMVersionRoot_Sequence"/>
</insert>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.locale">
<insert id="insert_Locale" parameterClass="Locale">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_locale_seq')
</selectKey>
insert into alf_locale (id, version, locale_str)
values (#id#, #version#, #localeStr#)
</insert>
</sqlMap>

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.node">
<insert id="insert_Server" parameterClass="Server" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_server_seq')
</selectKey>
<include refid="alfresco.node.insert_Server_Sequence"/>
</insert>
<insert id="insert_Store" parameterClass="Store" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_store_seq')
</selectKey>
<include refid="alfresco.node.insert_Store_Sequence"/>
</insert>
<insert id="insert_Node" parameterClass="Node" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_node_seq')
</selectKey>
<include refid="alfresco.node.insert_Node_Sequence"/>
</insert>
<insert id="insert_Transaction" parameterClass="Transaction" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_transaction_seq')
</selectKey>
<include refid="alfresco.node.insert_Transaction_Sequence"/>
</insert>
<insert id="insert_NodeAssoc" parameterClass="NodeAssoc" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_node_assoc_seq')
</selectKey>
<include refid="alfresco.node.insert_NodeAssoc_Sequence"/>
</insert>
<insert id="insert_ChildAssoc" parameterClass="ChildAssoc" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_child_assoc_seq')
</selectKey>
<include refid="alfresco.node.insert_ChildAssoc_Sequence"/>
</insert>
</sqlMap>

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.permissions">
<insert id="insert_Acl" parameterClass="Acl">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_access_control_list_seq')
</selectKey>
<include refid="alfresco.permissions.insert_Acl_Sequence"/>
</insert>
<insert id="insert_AclMember" parameterClass="AclMember">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_acl_member_seq')
</selectKey>
<include refid="alfresco.permissions.insert_AclMember_Sequence"/>
</insert>
<insert id="insert_AclChangeSet" parameterClass="AclChangeSet">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_acl_change_set_seq')
</selectKey>
<include refid="alfresco.permissions.insert_AclChangeSet_Sequence"/>
</insert>
<insert id="insert_Ace" parameterClass="Ace">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_access_control_entry_seq')
</selectKey>
<include refid="alfresco.permissions.insert_Ace_Sequence"/>
</insert>
<insert id="insert_AceContext" parameterClass="AceContext">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_ace_context_seq')
</selectKey>
<include refid="alfresco.permissions.insert_AceContext_Sequence"/>
</insert>
<insert id="insert_Permission" parameterClass="Permission">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_permission_seq')
</selectKey>
<include refid="alfresco.permissions.insert_Permission_Sequence"/>
</insert>
<insert id="insert_Authority" parameterClass="Authority">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_authority_seq')
</selectKey>
<include refid="alfresco.permissions.insert_Authority_Sequence"/>
</insert>
<insert id="insert_AuthorityAlias" parameterClass="AuthorityAlias">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_authority_alias_seq')
</selectKey>
<include refid="alfresco.permissions.insert_AuthorityAlias_Sequence"/>
</insert>
</sqlMap>

View File

@@ -64,18 +64,14 @@
<selectKey resultClass="long" keyProperty="id" type="pre">
select nextVal('alf_prop_root_seq')
</selectKey>
<include refid="insert_PropertyValue_Sequence"/>
<include refid="insert_PropertyRoot_Sequence"/>
</insert>
<insert id="insert_PropertyUniqueContext" parameterClass="PropertyUniqueContext" >
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_prop_unique_ctx_seq')
</selectKey>
insert into alf_prop_unique_ctx (id, version, value1_prop_id, value2_prop_id, value3_prop_id)
values (#id#, #version#, #value1PropId#, #value2PropId#, #value3PropId#)
<include refid="insert_PropertyUniqueContext_Sequence"/>
</insert>
</sqlMap>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="alfresco.usage">
<insert id="insert_UsageDelta" parameterClass="UsageDelta">
<selectKey resultClass="long" keyProperty="id">
select nextVal('alf_usage_delta_seq')
</selectKey>
<include refid="insert_UsageDelta_Sequence"/>
</insert>
</sqlMap>

View File

@@ -40,8 +40,8 @@
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
<property name="nodeDAO">
<ref bean="nodeDAO" />
</property>
<property name="tenantService">
<ref bean="tenantService" />

View File

@@ -220,11 +220,6 @@ start-avm-workflow.workflow-name.display-label=The name of the WCM workflow to i
copy-to-web-project.title=Copy item to a folder in a web project
copy-to-web-project.description=This will copy the matched item to a folder in a web project.
avm-link-validation.title=Performs a link validation check.
avm-link-validation.description=Performs a link validation check.
avm-link-validation.monitor.display-label=The status object used to determine progress
avm-link-validation.compare-to-staging.display-label=Determines whether the link check should use the corresponding staging area for comparison
create-version.title=Creates new version
create-version.description=Creates a new version
create-version.description.display-label=Version description

View File

@@ -1,5 +1,5 @@
# AVM related messages
expiredcontent.workflow.title=Expired Content In ''{0}''
avmlockservice.locked=You do not have access to the item at path {0} it is currently locked by another user {1}.
avmlockservice.locked=You do not have access to ''{0}''; it is currently locked by user ''{1}''.
testserver.taken=The test server ''{0}'' you selected has been allocated to another user, if possible, select a different server and try again.

View File

@@ -1,3 +0,0 @@
# Link Validation related messages
linkvalidation.disabled=Link validation not performed - currently disabled

View File

@@ -187,9 +187,6 @@ patch.genericWorkflow.result.deployed=Re-deployed {0} workflows.
patch.redeploySubmitProcess.description=Re-deploy WCM Submit Process Definition.
patch.deploySubmitDirectProcess.description=Deploy WCM Direct Submit Process Definition.
patch.AVMLocking.description=Adds existing web projects to locking service.
patch.AVMLocking.result=Necessary web projects added.
patch.AVMAspects.description=Changes storage of aspects on AVM Nodes.
patch.AVMAspects.result=Aspects were moved.
@@ -339,8 +336,8 @@ patch.convertContentUrls.store.done=This job is complete. Deactivate the schedu
patch.fixAuthoritiesCrcValues.description=Fixes authority CRC32 values to match UTF-8 encoding.
patch.fixAuthoritiesCrcValues.result=Fixed CRC32 values for UTF-8 encoding for {0} authorities. See file {1} for details.
patch.fixAuthoritiesCrcValues.fixed=Updated CRC32 values for authority ID {0}, authority ''{1}'': {2} -> {3}.
patch.fixAuthoritiesCrcValues.unableToChange=Failed to update the CRC32 value for authority ID {0}: \n Authority: {1} \n authority CRC old: {2} \n authority CRC new: {3} \n Error: {4}
patch.fixAuthoritiesCrcValues.fixed=Updated CRC32 values for authority '{0}'.
patch.fixAuthoritiesCrcValues.unableToChange=Failed to update the CRC32 value for authority: \n Authority: {0} \n Error: {1}
patch.updateMimetypes1.description=Fix mimetypes for Excel and Powerpoint.

View File

@@ -225,15 +225,6 @@
</properties>
</aspect>
<!--
Aspect controlling some index behaviour.
Sometimes it is necessary to reindex an entire hierarchy. But instead of
doing that inline, it can be done as a background process.
-->
<aspect name="sys:indexChildren">
<title>Cascade Index Children</title>
</aspect>
</aspects>
</model>

View File

@@ -195,13 +195,10 @@
<property name="dbNodeService">
<ref bean="dbNodeService" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
<property name="nodeDAO">
<ref bean="nodeDAO" />
</property>
</bean>
<bean id="nodeCleanup.indexChildrenWhereRequired"
class="org.alfresco.repo.node.db.IndexChildrenWhereRequiredWorker"
parent="nodeCleanupBase"/>
<bean id="nodeCleanup.deleteNodeCleanup"
class="org.alfresco.repo.node.db.DeletedNodeCleanupWorker"
parent="nodeCleanupBase">
@@ -218,8 +215,11 @@
<property name="transactionService">
<ref bean="transactionService" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
<property name="qnameDAO">
<ref bean="qnameDAO" />
</property>
<property name="nodeDAO">
<ref bean="nodeDAO" />
</property>
<property name="policyComponent">
<ref bean="policyComponent"/>

View File

@@ -145,11 +145,8 @@
<property name="fixesToSchema"><value>2</value></property>
<property name="targetSchema"><value>3</value></property>
<!-- helper beans -->
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
<property name="aclCrudDAO">
<ref bean="aclCrudDAO" />
</property>
</bean>
<bean id="patch.guestUser" class="org.alfresco.repo.admin.patch.impl.GuestUserPatch" parent="basePatch" >
@@ -172,15 +169,14 @@
<ref bean="bootstrapSpacesMessageSource" />
</property>
</bean>
<bean id="patch.fixNodeSerializableValues" class="org.alfresco.repo.admin.patch.impl.NodePropertySerializablePatch" parent="basePatch" >
<bean id="patch.fixNodeSerializableValues" class="org.alfresco.repo.admin.patch.impl.NoLongerSupportedPatch" parent="basePatch" >
<property name="id"><value>patch.fixNodeSerializableValues</value></property>
<property name="description"><value>patch.fixNodeSerializableValues.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>3</value></property>
<property name="targetSchema"><value>4</value></property>
<!-- helper beans -->
<property name="sessionFactory">
<ref bean="sessionFactory" />
<property name="lastSupportedVersion" >
<value>3.2</value>
</property>
</bean>
<bean id="patch.updateGuestPermission" class="org.alfresco.repo.admin.patch.impl.UpdateGuestPermissionPatch" parent="basePatch" >
@@ -190,11 +186,8 @@
<property name="fixesToSchema"><value>5</value></property>
<property name="targetSchema"><value>6</value></property>
<!-- helper beans -->
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
<property name="aclCrudDAO">
<ref bean="aclCrudDAO" />
</property>
<property name="dependsOn">
<list>
@@ -261,11 +254,8 @@
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>6</value></property>
<property name="targetSchema"><value>7</value></property>
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
<property name="aclCrudDAO">
<ref bean="aclCrudDAO" />
</property>
<property name="dependsOn">
<list>
@@ -448,14 +438,14 @@
</property>
</bean>
<bean id="patch.schemaUpdateScript-V1.4-1" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<bean id="patch.schemaUpdateScript-V1.4-1" class="org.alfresco.repo.admin.patch.impl.NoLongerSupportedPatch" parent="basePatch">
<property name="id"><value>patch.schemaUpdateScript-V1.4-1</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>19</value></property>
<property name="targetSchema"><value>20</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/1.4/${db.script.dialect}/AlfrescoSchemaUpdate-1.4-1.sql</value>
<property name="lastSupportedVersion" >
<value>3.3.x</value>
</property>
</bean>
<bean id="patch.uniqueChildName" class="org.alfresco.repo.admin.patch.impl.NoLongerSupportedPatch" parent="basePatch" >
@@ -468,20 +458,14 @@
<value>2.1.4</value>
</property>
</bean>
<bean id="patch.schemaUpdateScript-V1.4-2" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<bean id="patch.schemaUpdateScript-V1.4-2" class="org.alfresco.repo.admin.patch.impl.NoLongerSupportedPatch" parent="basePatch">
<property name="id"><value>patch.schemaUpdateScript-V1.4-2</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>20</value></property>
<property name="targetSchema"><value>21</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/1.4/${db.script.dialect}/AlfrescoSchemaUpdate-1.4-2.sql</value>
</property>
<!-- dependent on upgrade script 1.4-1 having being run -->
<property name="dependsOn" >
<list>
<ref bean="patch.schemaUpdateScript-V1.4-1" />
</list>
<property name="lastSupportedVersion" >
<value>3.3.x</value>
</property>
</bean>
<bean id="patch.InvalidNameEnding" class="org.alfresco.repo.admin.patch.impl.InvalidNameEndingPatch" parent="basePatch" >
@@ -494,9 +478,6 @@
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
</bean>
<bean id="patch.systemDescriptorContent" class="org.alfresco.repo.admin.patch.impl.SystemDescriptorContentPatch" parent="basePatch" >
<property name="id"><value>patch.systemDescriptorContent</value></property>
@@ -553,9 +534,6 @@
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
</bean>
<bean id="patch.systemRegistryBootstrap" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
@@ -673,7 +651,7 @@
<property name="avmNodeDao">
<ref bean="newAvmNodeDAO"/>
</property>
<property name="patchDao">
<property name="patchDAO">
<ref bean="patchDAO"/>
</property>
</bean>
@@ -723,7 +701,7 @@
<property name="avmNodeDao">
<ref bean="newAvmNodeDAO"/>
</property>
<property name="patchDao">
<property name="patchDAO">
<ref bean="patchDAO"/>
</property>
</bean>
@@ -761,17 +739,6 @@
</property>
</bean>
<bean id="patch.AVMLocking" class="org.alfresco.repo.admin.patch.impl.AVMLockingPatch" parent="basePatch">
<property name="id"><value>patch.AVMLocking</value></property>
<property name="description"><value>patch.AVMLocking.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>58</value></property>
<property name="targetSchema"><value>59</value></property>
<property name="avmLockingService">
<ref bean="avmLockingService"/>
</property>
</bean>
<bean id="patch.ReadmeTemplate" class="org.alfresco.repo.admin.patch.impl.GenericBootstrapPatch" parent="basePatch" >
<property name="id"><value>patch.ReadmeTemplate</value></property>
<property name="description"><value>patch.ReadmeTemplate.description</value></property>
@@ -996,20 +963,14 @@
</property>
</bean>
<bean id="patch.db-V1.4-TxnCommitTimeIndex" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<bean id="patch.db-V1.4-TxnCommitTimeIndex" class="org.alfresco.repo.admin.patch.impl.NoLongerSupportedPatch" parent="basePatch">
<property name="id"><value>patch.db-V1.4-TxnCommitTimeIndex</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>110</value></property>
<property name="targetSchema"><value>111</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/1.4/${db.script.dialect}/AlfrescoSchemaUpdate-1.4-TxnCommitTimeIndex.sql</value>
</property>
<!-- dependent on upgrade script 1.4-2 having being run -->
<property name="dependsOn" >
<list>
<ref bean="patch.schemaUpdateScript-V1.4-2" />
</list>
<property name="lastSupportedVersion" >
<value>3.3.x</value>
</property>
</bean>
@@ -1148,11 +1109,8 @@
<property name="fixesToSchema"><value>119</value></property>
<property name="targetSchema"><value>120</value></property>
<!-- helper beans -->
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
<property name="aclCrudDAO">
<ref bean="aclCrudDAO" />
</property>
<property name="dependsOn" >
<list>
@@ -1282,10 +1240,10 @@
<property name="targetSchema"><value>125</value></property>
<!-- helper beans -->
<property name="accessControlListDao">
<ref bean="nodeACLDAO" />
<ref bean="admNodeACLDAO"/>
</property>
<property name="aclDaoComponent">
<ref bean="aclDaoComponent" />
<property name="patchDAO">
<ref bean="patchDAO"/>
</property>
</bean>
@@ -1296,7 +1254,7 @@
<property name="fixesToSchema"><value>125</value></property>
<property name="targetSchema"><value>126</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/create/3.0/${db.script.dialect}/create-activities-extras.sql</value>
<value>classpath:alfresco/dbscripts/upgrade/3.0/${db.script.dialect}/create-activities-extras.sql</value>
</property>
</bean>
@@ -1528,9 +1486,6 @@
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>2001</value></property>
<property name="targetSchema"><value>2002</value></property>
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="avmService">
<ref bean="avmService" />
</property>
@@ -1543,8 +1498,17 @@
<property name="authorityService">
<ref bean="authorityService" />
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
<property name="avmStoreDAO">
<ref bean="newAvmStoreDAO" />
</property>
<property name="avmNodeLinksDAO">
<ref bean="newAvmNodeLinksDAO" />
</property>
<property name="aclCrudDAO">
<ref bean="aclCrudDAO" />
</property>
<property name="patchDAO">
<ref bean="patchDAO" />
</property>
<property name="replaceAllWith">
<value>ContentManager</value>
@@ -1561,7 +1525,7 @@
</list>
</property>
</bean>
<!-- note: does not need to be run if patch.wcmPostPermissionSnapshotPatch2 already applied -->
<bean id="patch.wcmPostPermissionSnapshotPatch3" class="org.alfresco.repo.admin.patch.impl.WCMPostPermissionSnapshotPatch" parent="basePatch" >
<property name="id"><value>patch.wcmPostPermissionSnapshotPatch3</value></property>
@@ -1569,15 +1533,15 @@
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>2001</value></property>
<property name="targetSchema"><value>2002</value></property>
<property name="avmService">
<ref bean="AVMService" />
</property>
<property name="avmSnapShotTriggeredIndexingMethodInterceptor">
<ref bean="avmSnapShotTriggeredIndexingMethodInterceptor" />
</property>
<property name="aclDaoComponent">
<ref bean="aclDaoComponent" />
<property name="patchDAO">
<ref bean="patchDAO"/>
</property>
<property name="dependsOn" >
<list>
@@ -1785,7 +1749,7 @@
<property name="targetSchema"><value>2011</value></property>
<property name="scriptUrl">
<!-- Share a create script -->
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-LockTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-LockTables.sql</value>
</property>
</bean>
@@ -1870,7 +1834,7 @@
<property name="targetSchema"><value>2016</value></property>
<property name="scriptUrl">
<!-- Share a create script -->
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-ContentTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-ContentTables.sql</value>
</property>
</bean>
@@ -1924,7 +1888,7 @@
<property name="targetSchema"><value>3001</value></property>
<property name="scriptUrl">
<!-- Share a create script -->
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-PropertyValueTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-PropertyValueTables.sql</value>
</property>
</bean>
@@ -1936,7 +1900,7 @@
<property name="targetSchema"><value>3002</value></property>
<property name="scriptUrl">
<!-- Share a create script -->
<value>classpath:alfresco/dbscripts/create/3.2/${db.script.dialect}/AlfrescoPostCreate-3.2-AuditTables.sql</value>
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AuditTables.sql</value>
</property>
</bean>
@@ -1959,8 +1923,8 @@
<property name="fixesToSchema"><value>3004</value></property>
<property name="targetSchema"><value>3005</value></property>
<!-- helper beans -->
<property name="nodeDaoService">
<ref bean="nodeDaoService"/>
<property name="patchDAO">
<ref bean="patchDAO"/>
</property>
<property name="personStoreUrl">
<value>${spaces.store}</value>
@@ -1997,8 +1961,8 @@
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
<property name="nodeDAO">
<ref bean="nodeDAO" />
</property>
<property name="qnameDAO">
<ref bean="qnameDAO" />
@@ -2153,9 +2117,6 @@
<property name="jobLockService">
<ref bean="jobLockService"/>
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService"/>
</property>
<property name="patchDAO">
<ref bean="patchDAO"/>
</property>
@@ -2179,17 +2140,6 @@
</property>
</bean>
<bean id="patch.db-V3.3-Fix-Repo-Seqs_1" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V3.3-Fix-Repo-Seqs_1</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>4007</value></property>
<property name="targetSchema"><value>4008</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/3.3/${db.script.dialect}/fix-Repo-seqs_1.sql</value>
</property>
</bean>
<bean id="patch.fixAuthoritiesCrcValues" class="org.alfresco.repo.admin.patch.impl.FixAuthoritiesCrcValuesPatch" parent="basePatch" >
<property name="id"><value>patch.fixAuthoritiesCrcValues</value></property>
<property name="description"><value>patch.fixAuthoritiesCrcValues.description</value></property>
@@ -2197,15 +2147,15 @@
<property name="fixesToSchema"><value>4100</value></property>
<property name="targetSchema"><value>4101</value></property>
<property name="applyToTenants"><value>false</value></property>
<property name="sessionFactory">
<ref bean="sessionFactory" />
<property name="patchDAO">
<ref bean="patchDAO" />
</property>
<property name="aclCrudDAO">
<ref bean="aclCrudDAO" />
</property>
<property name="controlDAO">
<ref bean="controlDAO" />
</property>
<property name="ruleService">
<ref bean="ruleService" />
</property>
</bean>
<bean id="patch.updateMimetypes1" class="org.alfresco.repo.admin.patch.impl.GenericMimetypeRenamePatch" parent="basePatch" >
@@ -2261,7 +2211,46 @@
<property name="fixesToSchema"><value>4103</value></property>
<property name="targetSchema"><value>4104</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/create/2.2/${db.script.dialect}/AlfrescoPostCreate-2.2-MappedFKIndexes.sql</value>
<value>classpath:alfresco/dbscripts/upgrade/2.2/${db.script.dialect}/AddFKIndexes.sql</value>
</property>
</bean>
<bean id="patch.db-V3.3-Fix-Repo-Seqs" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V3.3-Fix-Repo-Seqs</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>4104</value></property>
<property name="targetSchema"><value>4105</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/3.3/${db.script.dialect}/fix-Repo-seqs.sql</value>
</property>
</bean>
<bean id="patch.db-V3.3-Fix-AVM-Seqs" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V3.3-Fix-AVM-Seqs</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>4104</value></property>
<property name="targetSchema"><value>4105</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/3.3/${db.script.dialect}/fix-AVM-seqs.sql</value>
</property>
</bean>
<bean id="patch.db-V3.3-property-unique-ctx-value" class="org.alfresco.repo.admin.patch.impl.SchemaUpgradeScriptPatch" parent="basePatch">
<property name="id"><value>patch.db-V3.3-property-unique-ctx-value</value></property>
<property name="description"><value>patch.schemaUpgradeScript.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>4104</value></property>
<property name="targetSchema"><value>4105</value></property>
<property name="scriptUrl">
<value>classpath:alfresco/dbscripts/upgrade/3.3/${db.script.dialect}/property-unique-ctx-value.sql</value>
</property>
<property name="alternatives" >
<list>
<ref bean="patch.db-V3.2-PropertyValueTables" />
</list>
</property>
</bean>
</beans>

View File

@@ -1097,12 +1097,9 @@
</property>
<property name="mappedNames">
<list>
<value>exists</value>
<value>getAttribute</value>
<value>getAttributes</value>
<value>query</value>
<value>getKeys</value>
<value>exists</value>
<value>getCount</value>
</list>
</property>
</bean>
@@ -1115,11 +1112,10 @@
<property name="mappedNames">
<list>
<value>setAttribute</value>
<value>setAttributes</value>
<value>createAttribute</value>
<value>updateOrCreateAttribute</value>
<value>removeAttribute</value>
<value>addAttribute</value>
<value>addAttributes</value>
<value>removeEntries</value>
<value>removeAttributes</value>
</list>
</property>
</bean>
@@ -1150,11 +1146,8 @@
</property>
<property name="mappedNames">
<list>
<value>getLock</value>
<value>getUsersLocks</value>
<value>getWebProjectLocks</value>
<value>getWebProjects</value>
<value>getStoreLocks</value>
<value>getLockOwner</value>
<value>getLockState</value>
<value>hasAccess</value>
</list>
</property>
@@ -1166,13 +1159,10 @@
</property>
<property name="mappedNames">
<list>
<value>addWebProject</value>
<value>lockPath</value>
<value>removeLock</value>
<value>removeWebProject</value>
<value>lock</value>
<value>modifyLock</value>
<value>removeStoreLocks</value>
<value>removeLocksInDirectory</value>
<value>removeLock</value>
<value>removeLocks</value>
</list>
</property>
</bean>
@@ -1401,63 +1391,6 @@
</property>
</bean>
<!-- LinkValidationService -->
<!-- Read transaction advisor for link validation service. -->
<bean id="linkValidationServiceReadTxnAdvisor"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<ref bean="retryingReadTxnAdvice"/>
</property>
<property name="mappedNames">
<list>
<value>getHrefManifest</value>
<value>getBrokenHrefManifest</value>
<value>getHrefDifference</value>
<value>getHrefManifestBrokenByNewOrMod</value>
<value>getHrefsDependentUponFile</value>
<value>getPollInterval</value>
<value>isLinkValidationDisabled</value>
</list>
</property>
</bean>
<!-- Write transaction advisor for link validation service. -->
<bean id="linkValidationServiceWriteTxnAdvisor"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
<property name="advice">
<ref bean="retryingWriteTxnAdvice"/>
</property>
<property name="mappedNames">
<list>
<value>onBootstrap</value>
<value>onShutdown</value>
<value>setLinkValidationDisabled</value>
<value>updateHrefInfo</value>
</list>
</property>
</bean>
<bean id="LinkValidationService"
class="org.springframework.aop.framework.ProxyFactoryBean"
lazy-init="true">
<property name="proxyInterfaces">
<list>
<value>org.alfresco.linkvalidation.LinkValidationService</value>
</list>
</property>
<property name="targetName">
<value>linkValidationService</value>
</property>
<property name="interceptorNames">
<list>
<value>linkValidationServiceWriteTxnAdvisor</value>
<value>linkValidationServiceReadTxnAdvisor</value>
<value>checkTxnAdvisor</value>
</list>
</property>
</bean>
<!-- Repository Admin Service -->
<bean id="RepoAdminService" class="org.springframework.aop.framework.ProxyFactoryBean">

View File

@@ -80,8 +80,8 @@
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="aclDaoComponent">
<ref bean="aclDaoComponent" />
<property name="aclDAO">
<ref bean="aclDAO" />
</property>
<property name="dynamicAuthorities">
<list>

View File

@@ -1,236 +1,204 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Alfresco Remote Services Definition -->
<bean id="avmRemoteTransport" class="org.alfresco.repo.avm.AVMRemoteTransportService"
init-method="init" destroy-method="shutDown">
<property name="idleTimeout">
<value>${avm.remote.idlestream.timeout}</value>
</property>
<property name="avmService">
<ref bean="AVMService"/>
</property>
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
</bean>
<!-- The RMI wrapper around the AVM remote interface. -->
<bean id="avmRemoteService" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="avmRemoteTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.AVMRemoteTransport</value>
</property>
<property name="serviceName">
<value>avm</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="servicePort">
<value>${avm.rmi.service.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
</bean>
<bean id="avmSyncServiceTransport" class="org.alfresco.repo.avm.AVMSyncServiceTransportImpl">
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
<property name="avmSyncService">
<ref bean="AVMSyncService"/>
</property>
</bean>
<bean id="avmSyncServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="avmSyncServiceTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.AVMSyncServiceTransport</value>
</property>
<property name="serviceName">
<value>avmsync</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${avmsync.rmi.service.port}</value>
</property>
</bean>
<!-- Remote export of AttributeService -->
<bean id="attributeServiceTransport" class="org.alfresco.repo.attributes.AttributeServiceTransportService">
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
<property name="attributeService">
<ref bean="AttributeService"/>
</property>
</bean>
<bean id="attributeServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="attributeServiceTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.AttributeServiceTransport</value>
</property>
<property name="serviceName">
<value>attributes</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${attribute.rmi.service.port}</value>
</property>
</bean>
<!-- The AuthenticationService exported as an RMI service. -->
<bean id="rmiAuthenticationService" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="AuthenticationService"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.security.AuthenticationService</value>
</property>
<property name="serviceName">
<value>authentication</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${authentication.rmi.service.port}</value>
</property>
</bean>
<!-- A Simple Filesystem like API for the repo implementation.
Unfinished, experimental, and probably ephemeral. -->
<bean id="repoRemoteService" class="org.alfresco.repo.remote.RepoRemoteService">
<property name="nodeService">
<ref bean="mtAwareNodeService"/>
</property>
<property name="fileFolderService">
<ref bean="fileFolderService"/>
</property>
<property name="contentService">
<ref bean="contentService"/>
</property>
</bean>
<!-- Transactionally wrapped version of above. -->
<bean id="RepoRemoteService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.service.cmr.remote.RepoRemote</value>
</property>
<property name="target">
<ref bean="repoRemoteService"/>
</property>
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="create*">${server.transaction.mode.default}</prop>
<prop key="get*">${server.transaction.mode.readOnly}</prop>
<prop key="lookup">${server.transaction.mode.readOnly}</prop>
<prop key="read*">${server.transaction.mode.readOnly}</prop>
<prop key="remove*">${server.transaction.mode.default}</prop>
<prop key="rename">${server.transaction.mode.default}</prop>
<prop key="write*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<!-- The server side repo remote transport, to be exported via RMI, etc. -->
<bean id="repoRemoteTransport" class="org.alfresco.repo.remote.RepoRemoteTransportService">
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
<property name="repoRemote">
<ref bean="RepoRemoteService"/>
</property>
<property name="idleTimeout">
<value>30000</value>
</property>
</bean>
<!-- The RMI export of the repo remote transport. -->
<bean id="repoRemoteTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service">
<ref bean="repoRemoteTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.RepoRemoteTransport</value>
</property>
<property name="serviceName">
<value>repo</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${repo.rmi.service.port}</value>
</property>
</bean>
<!-- Remoting the ActionService -->
<bean id="actionServiceTransport" class="org.alfresco.repo.action.ActionServiceTransportImpl">
<property name="actionService">
<ref bean="ActionService"/>
</property>
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
</bean>
<!-- The RMI export of the ActionService Transport -->
<bean id="actionServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service">
<ref bean="actionServiceTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.action.ActionServiceTransport</value>
</property>
<property name="serviceName">
<value>action</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${action.rmi.service.port}</value>
</property>
</bean>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Alfresco Remote Services Definition -->
<bean id="avmRemoteTransport" class="org.alfresco.repo.avm.AVMRemoteTransportService"
init-method="init" destroy-method="shutDown">
<property name="idleTimeout">
<value>${avm.remote.idlestream.timeout}</value>
</property>
<property name="avmService">
<ref bean="AVMService"/>
</property>
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
</bean>
<!-- The RMI wrapper around the AVM remote interface. -->
<bean id="avmRemoteService" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="avmRemoteTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.AVMRemoteTransport</value>
</property>
<property name="serviceName">
<value>avm</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="servicePort">
<value>${avm.rmi.service.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
</bean>
<bean id="avmSyncServiceTransport" class="org.alfresco.repo.avm.AVMSyncServiceTransportImpl">
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
<property name="avmSyncService">
<ref bean="AVMSyncService"/>
</property>
</bean>
<bean id="avmSyncServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="avmSyncServiceTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.AVMSyncServiceTransport</value>
</property>
<property name="serviceName">
<value>avmsync</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${avmsync.rmi.service.port}</value>
</property>
</bean>
<!-- The AuthenticationService exported as an RMI service. -->
<bean id="rmiAuthenticationService" class="org.springframework.remoting.rmi.RmiServiceExporter"
depends-on="registry">
<property name="service">
<ref bean="AuthenticationService"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.security.AuthenticationService</value>
</property>
<property name="serviceName">
<value>authentication</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${authentication.rmi.service.port}</value>
</property>
</bean>
<!-- A Simple Filesystem like API for the repo implementation.
Unfinished, experimental, and probably ephemeral. -->
<bean id="repoRemoteService" class="org.alfresco.repo.remote.RepoRemoteService">
<property name="nodeService">
<ref bean="mtAwareNodeService"/>
</property>
<property name="fileFolderService">
<ref bean="fileFolderService"/>
</property>
<property name="contentService">
<ref bean="contentService"/>
</property>
</bean>
<!-- Transactionally wrapped version of above. -->
<bean id="RepoRemoteService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.service.cmr.remote.RepoRemote</value>
</property>
<property name="target">
<ref bean="repoRemoteService"/>
</property>
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="create*">${server.transaction.mode.default}</prop>
<prop key="get*">${server.transaction.mode.readOnly}</prop>
<prop key="lookup">${server.transaction.mode.readOnly}</prop>
<prop key="read*">${server.transaction.mode.readOnly}</prop>
<prop key="remove*">${server.transaction.mode.default}</prop>
<prop key="rename">${server.transaction.mode.default}</prop>
<prop key="write*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<!-- The server side repo remote transport, to be exported via RMI, etc. -->
<bean id="repoRemoteTransport" class="org.alfresco.repo.remote.RepoRemoteTransportService">
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
<property name="repoRemote">
<ref bean="RepoRemoteService"/>
</property>
<property name="idleTimeout">
<value>30000</value>
</property>
</bean>
<!-- The RMI export of the repo remote transport. -->
<bean id="repoRemoteTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service">
<ref bean="repoRemoteTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.remote.RepoRemoteTransport</value>
</property>
<property name="serviceName">
<value>repo</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${repo.rmi.service.port}</value>
</property>
</bean>
<!-- Remoting the ActionService -->
<bean id="actionServiceTransport" class="org.alfresco.repo.action.ActionServiceTransportImpl">
<property name="actionService">
<ref bean="ActionService"/>
</property>
<property name="authenticationService">
<ref bean="AuthenticationService"/>
</property>
</bean>
<!-- The RMI export of the ActionService Transport -->
<bean id="actionServiceTransportRMI" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service">
<ref bean="actionServiceTransport"/>
</property>
<property name="serviceInterface">
<value>org.alfresco.service.cmr.action.ActionServiceTransport</value>
</property>
<property name="serviceName">
<value>action</value>
</property>
<property name="registryPort">
<value>${alfresco.rmi.services.port}</value>
</property>
<property name="registryHost">
<value>${alfresco.rmi.services.host}</value>
</property>
<property name="servicePort">
<value>${action.rmi.service.port}</value>
</property>
</bean>
</beans>

View File

@@ -363,28 +363,9 @@ domain.separator=
# AVM Specific properties.
avm.remote.idlestream.timeout=30000
#Format caption extracted from the XML Schema.
xforms.formatCaption=true
# ################################## #
# WCM Link Validation Configuration #
# ################################## #
#
# Note: Link Validation is disabled by default (as per poll interval = 0)
#
# linkvalidation.pollInterval - Poll interval to check getLatestSnapshotID (in milliseconds), eg. 5000 for 5 sec interval
# If pollInterval is 0, link validation is disabled.
#
# linkvalidation.retryInterval - Retry interval (Virtualization server is not accessible or an error has occurred
# during link validation.
#
# linkvalidation.disableOnFail - If set to TRUE link validation service will be terminated if an error will be occurred.
linkvalidation.pollInterval=0
linkvalidation.retryInterval=120000
linkvalidation.disableOnFail=false
# ECM content usages/quotas
system.usages.enabled=true
@@ -413,7 +394,6 @@ home.folder.creation.eager=true
#
avm.rmi.service.port=50501
avmsync.rmi.service.port=50502
attribute.rmi.service.port=50503
authentication.rmi.service.port=50504
repo.rmi.service.port=50505
action.rmi.service.port=50506

View File

@@ -16,7 +16,7 @@
</bean>
<bean id="usageServiceImpl" class="org.alfresco.repo.usage.UsageServiceImpl">
<property name="usageDeltaDAO" ref="usageDeltaDAO"/>
<property name="usageDAO" ref="usageDAO"/>
</bean>
<bean id="contentUsageImpl" class="org.alfresco.repo.usage.ContentUsageImpl" init-method="init">

View File

@@ -19,4 +19,4 @@ version.build=@build-number@
# Schema number
version.schema=4104
version.schema=4105

View File

@@ -47,7 +47,6 @@
<property name="nodeService" ref="NodeService"/>
<property name="searchService" ref="SearchService"/>
<property name="avmService" ref="AVMService"/>
<property name="avmLockingService" ref="AVMLockingService"/>
<property name="authorityService" ref="AuthorityService"/>
<property name="permissionService" ref="PermissionService"/>
<property name="personService" ref="PersonService"/>
@@ -55,6 +54,7 @@
<property name="virtServerRegistry" ref="VirtServerRegistry"/>
<property name="previewURIServiceRegistry" ref="previewURIServiceRegistry"/>
<property name="transactionService" ref="transactionService"/>
<property name="avmLockingService" ref="AVMLockingService"/>
</bean>
@@ -217,9 +217,9 @@
<property name="nodeService" ref="NodeService"/>
<property name="permissionService" ref="PermissionService"/>
<property name="avmService" ref="AVMService"/>
<property name="avmLockingService" ref="AVMLockingService"/>
<property name="virtServerRegistry" ref="VirtServerRegistry"/>
<property name="authorityService" ref="AuthorityService"/>
<property name="avmLockingService" ref="AVMLockingService"/>
</bean>

View File

@@ -26,31 +26,8 @@
</script>
</event>
<transition name="" to="serialorparallel" />
<transition name="checklinks" to="checklinks">
<condition>#{wcmwf_validateLinks != null &amp;&amp; wcmwf_validateLinks == true}</condition>
</transition>
</decision>
<!-- -->
<!-- Validate Links being submitted -->
<!-- -->
<decision name="checklinks">
<event type="node-enter">
<action class="org.alfresco.repo.avm.wf.AVMSubmitLinkChecker" />
</event>
<transition name="brokenlinkspresent" to="verifybrokenlinks" />
<transition name="nobrokenlinks" to="serialorparallel" >
<condition>#{wcmwf_brokenLinks == 0}</condition>
</transition>
</decision>
<task-node name="verifybrokenlinks">
<task name="wcmwf:verifyBrokenLinksTask" swimlane="initiator" />
<transition name="abort" to="end" />
<transition name="continue" to="serialorparallel" />
</task-node>
<!-- -->
<!-- Split into Serial or Parallel Review -->
<!-- -->
@@ -108,7 +85,7 @@
</expression>
</script>
</transition>
<transition name="reject" to="endreview" />
<transition name="reject" to="endreview" />
</task-node>
@@ -144,7 +121,7 @@
</expression>
</script>
</transition>
<transition name="reject" to="joinparallelreview" />
<transition name="reject" to="joinparallelreview" />
</task-node>
<join name="joinparallelreview">
@@ -280,7 +257,7 @@
<end-state name="end"/>
<event type="process-end">
<action class="org.alfresco.repo.avm.wf.AVMRemoveAllSrcWebappsHandler"/>
<action class="org.alfresco.repo.avm.wf.AVMRemoveAllSrcWebappsHandler"/>
<action class="org.alfresco.repo.avm.wf.AVMReleaseTestServerHandler"/>
<action class="org.alfresco.repo.avm.wf.AVMRemoveWFStoreHandler"/>
</event>

View File

@@ -70,8 +70,6 @@ wcmwf_workflowmodel.property.wcmwf_launchDate.title=Launch Date
wcmwf_workflowmodel.property.wcmwf_launchDate.description=Date the content in the submission should be committed
wcmwf_workflowmodel.property.wcmwf_autoDeploy.title=Auto Deploy
wcmwf_workflowmodel.property.wcmwf_autoDeploy.description=Whether the submitted changes should be deployed upon approval
wcmwf_workflowmodel.property.wcmwf_validateLinks.title=Validate Links
wcmwf_workflowmodel.property.wcmwf_validateLinks.description=Whether links should be verified before entering the review cycle
wcmwf_workflowmodel.property.wcmwf_webapp.title=Webapp
wcmwf_workflowmodel.property.wcmwf_webapp.description=The webapp within the workflow store to check links for
wcmwf_workflowmodel.property.wcmwf_reviewerCnt.title=Total Reviewed

View File

@@ -104,22 +104,22 @@
<aspect>wcmwf:reviewType</aspect>
</mandatory-aspects>
</type>
<type name="wcmwf:parallelReviewTask">
<parent>wcmwf:workflowTask</parent>
<overrides>
<property name="bpm:packageItemActionGroup">
<default>review_wcm_package_item_actions</default>
</property>
</overrides>
<mandatory-aspects>
<!-- One or more reviewers - this is here to allow view of all reviewers -->
<!-- in the review task -->
<aspect>bpm:assignees</aspect>
<aspect>wcmwf:submission</aspect>
<aspect>wcmwf:reviewType</aspect>
</mandatory-aspects>
</type>
<type name="wcmwf:parallelReviewTask">
<parent>wcmwf:workflowTask</parent>
<overrides>
<property name="bpm:packageItemActionGroup">
<default>review_wcm_package_item_actions</default>
</property>
</overrides>
<mandatory-aspects>
<!-- One or more reviewers - this is here to allow view of all reviewers -->
<!-- in the review task -->
<aspect>bpm:assignees</aspect>
<aspect>wcmwf:submission</aspect>
<aspect>wcmwf:reviewType</aspect>
</mandatory-aspects>
</type>
<type name="wcmwf:rejectedTask">
<parent>wcmwf:workflowTask</parent>
@@ -281,19 +281,19 @@
</index>
</property>
<property name="wcmwf:validateLinks">
<title>Validate Links</title>
<description>Determines whether links should be verified before entering the review cycle</description>
<title>Validate Links (Deprecated)</title>
<description>Deprecated</description>
<type>d:boolean</type>
</property>
<property name="wcmwf:webapp">
<title>Webapp</title>
<description>The webapp within the workflow store to check links for</description>
<type>d:text</type>
</property>
<property name="wcmwf:autoDeploy">
<title>Auto Deploy</title>
<description>Determines whether the changes should be deployed upon submission</description>
<type>d:boolean</type>
</property>
<property name="wcmwf:autoDeploy">
<title>Auto Deploy</title>
<description>Determines whether the changes should be deployed upon submission</description>
<type>d:boolean</type>
</property>
</properties>
</aspect>

View File

@@ -97,7 +97,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), ""); // we don't unnecessarily guess/store (see FileFolderService.createImpl)
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
assertNull(properties.get(CMISDictionaryModel.PROP_ALLOWED_CHILD_OBJECT_TYPE_IDS));
@@ -130,7 +130,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -181,7 +181,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -226,7 +226,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), ""); // we don't unnecessarily guess/store (see FileFolderService.createImpl)
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -260,7 +260,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -304,7 +304,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), pwc.toString());
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent (Working Copy)");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -335,7 +335,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -379,7 +379,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), pwc.toString());
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent (Working Copy)");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -410,7 +410,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -444,7 +444,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -475,7 +475,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -519,7 +519,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), pwc.toString());
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent (Working Copy)");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -550,7 +550,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -594,7 +594,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), pwc.toString());
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent (Working Copy)");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -626,7 +626,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_BY), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -669,7 +669,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), pwc.toString());
assertEquals(properties.get(CMISDictionaryModel.PROP_CHECKIN_COMMENT), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent (Working Copy)");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));
@@ -701,7 +701,7 @@ public class CMISPropertyServiceTest extends BaseCMISTest
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_BY), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_VERSION_SERIES_CHECKED_OUT_ID), null);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_LENGTH), 0L);
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "application/octet-stream");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE), "");
assertEquals(properties.get(CMISDictionaryModel.PROP_CONTENT_STREAM_FILENAME), "BaseContent");
assertNull(properties.get(CMISDictionaryModel.PROP_PARENT_ID));

View File

@@ -40,6 +40,7 @@ import org.alfresco.jlan.smb.SeekType;
import org.alfresco.jlan.smb.server.SMBSrvSession;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.content.AbstractContentReader;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.repo.content.encoding.ContentCharsetFinder;
import org.alfresco.repo.content.filestore.FileContentReader;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
@@ -411,10 +412,18 @@ public class ContentNetworkFile extends NodeRefNetworkFile
if (modified)
{
NodeRef contentNodeRef = getNodeRef();
// We may be in a retry block, in which case this section will already have executed and channel will be null
if (channel != null)
{
// Take a guess at the mimetype
// Take a guess at the mimetype (if it has not been set by something already)
if (content.getMimetype() == null || content.getMimetype().equals(MimetypeMap.MIMETYPE_BINARY) )
{
String filename = (String) nodeService.getProperty(contentNodeRef, ContentModel.PROP_NAME);
String mimetype = mimetypeService.guessMimetype(filename);
content.setMimetype(mimetype);
}
// Take a guess at the locale
channel.position(0);
InputStream is = new BufferedInputStream(Channels.newInputStream(channel));
ContentCharsetFinder charsetFinder = mimetypeService.getContentCharsetFinder();
@@ -451,7 +460,6 @@ public class ContentNetworkFile extends NodeRefNetworkFile
if (contentChanged)
{
NodeRef contentNodeRef = getNodeRef();
nodeService.removeAspect(contentNodeRef, ContentModel.ASPECT_NO_CONTENT);
try
{

Some files were not shown because too many files have changed in this diff Show More