15 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
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
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
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
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
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
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