Commit Graph

46 Commits

Author SHA1 Message Date
Derek Hulley
ac71c4f7d7 Added multi-select for property values
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16542 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-27 20:57:47 +00:00
Derek Hulley
a48ac3deca Added method to delete multiple child contexts for unique property contexts
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16441 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-22 15:17:45 +00:00
Derek Hulley
14515875c7 Added table and DAO: alf_prop_unique_ctx
- Ensure uniqueness across any three (incl. null) Serializable values
 - Required to support RM rma:identifier contextual uniqueness

DB Update for MySQL:

drop table if exists alf_prop_unique_ctx;
CREATE TABLE alf_prop_unique_ctx
(
   id BIGINT NOT NULL AUTO_INCREMENT,
   version SMALLINT NOT NULL,
   value1_prop_id BIGINT NOT NULL,
   value2_prop_id BIGINT NOT NULL,
   value3_prop_id BIGINT NOT NULL,
   UNIQUE INDEX idx_alf_prop_unique_ctx (value1_prop_id, value2_prop_id, value3_prop_id),
   CONSTRAINT fk_alf_prop_unique_ctx_1 FOREIGN KEY (value1_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
   CONSTRAINT fk_alf_prop_unique_ctx_2 FOREIGN KEY (value2_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
   CONSTRAINT fk_alf_prop_unique_ctx_3 FOREIGN KEY (value3_prop_id) REFERENCES alf_prop_value (id) ON DELETE CASCADE,
   PRIMARY KEY (id)
);

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16417 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-21 22:20:29 +00:00
Derek Hulley
818791d88a Audit query extension: Search for audited data of any type
- Pulled out some of the query joins in favour of more cache hits


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16359 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-18 03:16:40 +00:00
Jan Vonka
45d25dcd7e iBatis boolean parameterization in AVM select queries (follow-on for r16347)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16353 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-17 17:14:00 +00:00
Derek Hulley
2f698d8669 Merged DEV/BELARUS/HEAD to HEAD
16340: Oracle and iBatis mappings
   16346: Minor formatting
   Removed some dangling svn:mergeinfos
   TODO: iBatis boolean parameterization in AVM select queries
   TODO: Ensure ALL FK CONSTRAINTS ARE PRESENT as expected


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16347 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-17 14:18:10 +00:00
Derek Hulley
95bfde2d56 Changed 'version' column from TINYINT to SMALLINT
- Tables are 'alf_prop_root' and 'alf_audit_app'
 - Added property test to update past the SMALLINT rollover to test reversion to 0
 - To modify your tables (not absolutely necessary)
   alter table alf_audit_app modify version SMALLINT NOT NULL;
   alter table alf_prop_root modify version SMALLINT NOT NULL;


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16320 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-16 16:55:37 +00:00
Derek Hulley
1bf3d65499 Fixed alf_audit_app update SQL syntax
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16288 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-15 21:22:16 +00:00
Derek Hulley
cd7aff5703 Audit log clearing and related tests
- RM start(), stop() and clear() implemented


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16276 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-15 13:13:41 +00:00
Derek Hulley
29b94cf0d7 Audit and Prop table enhancements
- alf_prop_xxx tables
   - Added alf_prop_root table
   - alf_prop_value_xxx tables enforce uniqueness
   - Better splitting up of Collections and Maps (attempt to use exact storage type)
   - Moved some indexes around to reduce size but maintain index data lookups
   - Allow updates and deletes of properties via alf_prop_root (entry-point table)
 - Audit Application
   - Unique by name
   - Add 'disabled paths' to control audit behaviour (not wired into services)
   - Added concurrency checks for updates to the Audit Application (model change, etc)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16217 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-11 13:59:45 +00:00
Jan Vonka
efb73c6e4c AVM DAO refactor - fix child entry name pattern match (+ missing test), also orphan reaper max limit
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16145 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-08 12:58:46 +00:00
Jan Vonka
c2cca0311b AVM DAO refactor
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16138 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-08 09:55:22 +00:00
Derek Hulley
bae58d6ee7 Added key-value audit query
- Currently supports lookups on string values (RM use-case)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16133 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-07 17:38:27 +00:00
Derek Hulley
fadc101ce4 Full resultset audit queries
- Use RollupRowHandler and nested ResultMap
 - Audit Map values are pulled back with entries


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16130 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-07 15:48:00 +00:00
Derek Hulley
4dc6006f1c Fixed usage of iBatis namespaces
- Turned namespacing on
 - Collapsed SqlMapConfig.xml files with the exception of that for activities, which uses a different datasource bean
 - Tried to use it and discovered a "feature": If any ID has a '.' in it, then it is assumed to be namespaced already ...
 - Fixed up all IDs for iBatis objects; replaced '.' with '_' except in our namespaces
 - Don't panic!  It's a find/replace job of ID strings.  Errors will be hard and fast, if there are any.  All DAO and activities tests run.
 - The AVM refactor will get some conflicts in the ibatis-context.xml
    - Either follow the same pattern and fix up the IDs, or
    - Keep a separate bean until some later time.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16106 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-05 10:59:01 +00:00
Derek Hulley
034027961d Audit queries
- Any combination of application (e.g. RM, repo, etc), user and time
 - TODO: Extend queries to support finding audit entries by arbitrary audited values
 - TODO: Full map retrieval in single query


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16086 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-04 00:34:28 +00:00
Derek Hulley
2cdc1777f9 Audit changes and fixes
- Removed notion of audit session
 - Removed 'scope' attribute for DataGenerator elements
 - Removed alf_audit_session table and replaced with alf_audit_app (see script)
 - DataGenerators are working properly


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16053 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-09-02 14:45:23 +00:00
Derek Hulley
200bf8d3a0 Added iBatis support for java.io.Serializable
- 'alf_prop_serializable_value' is working


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-29 00:47:25 +00:00
Derek Hulley
51a2ef5df3 alf_prop tables: Improvements to string-related queries and fix duplicate handling
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15946 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-27 05:24:09 +00:00
Derek Hulley
ef67ac777a AuditComponent implementation and fallout
- alf_prop_string_value now includes a CRC column and handles Oracle empty string issues
 - All property values are/must now be Serializable for auditing
 - Pushing data into audit is working


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15915 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-26 06:01:52 +00:00
Derek Hulley
00dfb8ee66 Audit session and bootstrap support
- Sessions are created using an application name (shared prop) and a persisted model ID
 - Added a bootstrap bean for audit that unmarshalls the models
 - Added hook points for repo-loading models, but won't implement yet


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15863 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-21 17:50:36 +00:00
Derek Hulley
33cb2a4d75 Better indexing for string properties to support path-based lookups
- Normal prefix-index has been shortened to 32 chars (from 64)
 - Added a fully indexed 'string_end' column of 16 characters
 - iBatis queries are optimized to pull short strings from the index
 - Long paths and NodeRefs are well-indexed using this approach


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15833 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-20 13:03:29 +00:00
Derek Hulley
528df9ef5f Audit DAO
- Audit config (alf_audit_cfg) now uses CRC check and persists via ContentService and alf_content_data
 - Reverted 3.3 references back to 3.2


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15805 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-19 02:30:42 +00:00
Derek Hulley
f00d441cae Nested collection (maps, sets, lists) property retrieval
- Single-shot query retrieves ordered view
 - MLText, HashMap and ArrayList currently supported


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15783 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-18 10:26:43 +00:00
Derek Hulley
5f8bfcae7a Support for searchable, arbitrarily-nested properties
- TODO: ID-based caching for entities that can't be found by value (e.g. maps, serializable)
 - TODO: Serializable table
 - TODO: Dedicated tests for node properties (QName-Serializable maps with nested MLText)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15753 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-14 14:53:12 +00:00
Derek Hulley
fe4d547316 Further date property support (yyyy-mm-dd)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15666 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-11 04:56:29 +00:00
Derek Hulley
aeef3a5af8 Property DAO support for date (yyyy-mm-dd)
- Avoided nasty timezone issues by using Epoch millisecond time


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15665 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-10 19:08:23 +00:00
Derek Hulley
2401bfc93e More property DAO changes
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15652 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-10 09:33:20 +00:00
Derek Hulley
686ec6479b Further DAO for audit values
- General-purpose property persisting in searchable schema
 - TODO: More high volume tests for general values


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15556 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-08-03 17:59:05 +00:00
Derek Hulley
fc2e47a119 Support 'alf_prop_string_value'
- Simple ID-string table
 - Non-unique and case-sensitive, but with re-use of entries as far as possible


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15430 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-07-27 13:55:08 +00:00
Derek Hulley
20b602324c PropertyValueDAO and alf_prop_class implementation
- Contains patch that is incomplete i.e. future DAO unit tests won't work for incremental dev upgrades

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15405 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-07-25 03:23:04 +00:00
Derek Hulley
a80acc7d9c Missed check-in from 14838: Unit test Suite for DAOs and some extra content clean tests and fallout
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-23 09:41:34 +00:00
Derek Hulley
2339843e99 Fixed return columns for orphaned Content URL query
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14835 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-22 14:33:08 +00:00
Derek Hulley
d22b8baa6c Integrated Content Properties Refactor and Content Purge
- MOB-30: Content Purge
 - MOB-415: Content Properties Refactor
 - Adds to MOB-214: Upgrade scripts for Ent DBs


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14810 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-19 15:11:24 +00:00
Dave Ward
ed44d4b54e Fix auto-detection of dialect when hibernate.dialect property not set
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14429 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-26 08:20:40 +00:00
Jan Vonka
eb0db2737a MOB-647 - activity feed cleaner improvement (now supports maxFeedSize in addition to maxAgeMins)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14119 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-29 11:24:03 +00:00
Derek Hulley
2ec7305fd9 Fixed LockDAO to use correct, new lock token during bulk update
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13954 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-15 12:07:57 +00:00
Derek Hulley
b2836c3aca MOB-434: Cluster-wide Locking Service
- DAO and unit tests (MOB-436)
 - MySQL and Derby scripts (MOB-438)
 - TODO: Oracle, PostgreSQL and SQLServer for Enterprise
 - TOD0: Wrap lock wait and lock retry behaviour


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13947 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-15 03:37:22 +00:00
Derek Hulley
1fcdfc0a5d Part of MOB-436: Cluster-wide Locking Service: Implement DB Changes and Service
- Unit test not checked in as it requires some schema change work that has been done manually
 - Moved activities DAO code and renamed data services to DAOs (as per iBatis and Wikipedia, etc)
 - DAO code should now go into org.alfresco.repo.domain...
 - DAO components are bean:xyzDAO and class:XyzDAO
 - Entity beans are XyzEntity, etc

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13922 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-09 15:27:19 +00:00
Jan Vonka
5860f369db MOB-594 - user activities feed now returns all activities (including own) - also have optional filters to either exclude own or exclude others
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-27 15:39:51 +00:00
Derek Hulley
b968070fbf Minor namespace change to 'alfresco.activities'
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13744 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-25 16:50:04 +00:00
Derek Hulley
f8310e39c0 MOB-452: Collapsed Activities iBatis mappings into two core files, with the *-insert-SqlMap.xml being overridden per dialect
- Paving way for introduction of more configuration files without config blow-out

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13734 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-24 12:32:28 +00:00
Derek Hulley
33902c69e2 MOB-448: Better patch for JDBC3 generated keys
- Fixes bug with different column types not matching generated key target type
 - Submitted to  https://issues.apache.org/jira/browse/IBATIS-142
 - MySQL and SQLServer use generated keys
 - Other tidy ups

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13732 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-24 06:21:00 +00:00
Derek Hulley
ea011cad59 More MOB-452: Full IBATIS Integration: Refactor Existing iBatis Usage and Test
- Integrated patch for iBatis to enable JDBC3 getGeneratedKeys
 - Enabled ID generation detection for MySQL

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13723 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-23 15:09:36 +00:00
Derek Hulley
3f78bf9b32 Fixed select statements to include "AS" when defining result aliases
- PostgreSQL didn't like it without "AS" e.g. failed with "select aa as AA, bb BB" but other DBs were fine.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13705 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-20 21:29:11 +00:00
Derek Hulley
a6e50e1fd1 First part of MOB-452: Full IBATIS Integration: Refactor Existing iBatis Usage and Test
- iBatis resources loaded according to Hibernate dialect class hierarchy
 - No longer need overrides for activities iBatis configurations
 - Moved PostgreSQL, Oracle and SQLServer iBatis configs into Enterprise projects
 - Removed HSQL configurations
 - Split INSERT statements into DB-specific config

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-03-20 21:07:41 +00:00