Commit Graph

383 Commits

Author SHA1 Message Date
Roy Wetherall
0fc141e8be Merged DEV/ROYTEST to HEAD:
109931: Classification enforcement refactor
   110013: Classification enforecment refactor
       * rename veto as permission pre-processor
       * add support for permission post-processors
       * add transaction cache to classification enforcement
       * add records management permission post processor to remove code from extended permission service
   110191: Extended permission service unit test
   110301: Classification permission pre-processor unit test

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110507 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-20 02:51:23 +00:00
Alexandru Balan
6f1e8d7c1d Merged BRANCHES/V2.3 to HEAD:
Merged BRANCHES/V2.2 to BRANCHES/V2.3:
      109406: RM-2271 - added the job lock refresh mechanism so that for long running jobs that exceed the locks TTL the lock will be refreshed.
      109401: RM-2391 - Added capability checking to the AuditLog Get REST API. Added a unit test. Minor changes on the Share side to forward the forbidden status.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110465 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-19 14:17:10 +00:00
Alexandru Balan
2c563b88c6 Merged BRANCHES/V2.2 to BRANCHES/V2.3:
109406: RM-2271 - added the job lock refresh mechanism so that for long running jobs that exceed the locks TTL the lock will be refreshed.
   109401: RM-2391 - Added capability checking to the AuditLog Get REST API. Added a unit test. Minor changes on the Share side to forward the forbidden status.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@110464 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-19 14:08:27 +00:00
Tuna Aksoy
fda676e74f Added the ClassifyTest back to the suite
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110314 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-18 09:41:52 +00:00
Tuna Aksoy
463ff10b1a Removed temporarily the ClassifyTest from the test suite as the amp files are not being uploaded due to a failing test in ClassifyTest class.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110312 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-18 09:23:35 +00:00
Tom Page
d359e6f1ff RM-2502 Create new constraint for initial classification.
Previously we were restricting the initial classification to be a level
that the current user could access, but this is not always the case for
downgraded content.

Also add new integration test for initial classification constraint.

I tried adding a test that extended our BaseRMTestCase, but the
transactions all happened as system (or admin maybe?), and so the level 2
user is always allowed to reclassify level 1 content (by the constraint).
Consequently I ended up creating a stand-alone test for this.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@110144 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-14 13:34:56 +00:00
Roy Wetherall
d0cecbd4fa Classification enforcement refactor
* added permission veto registry
 * extend permission service to check vetos before permission evaluation
 * register classification veto
 * unit and integration tests run
 * UI tests run



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ROYTEST@109931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-12 04:57:37 +00:00
Roy Wetherall
7844c33db3 Remove rendition creation from test for the time being.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109928 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-12 00:17:25 +00:00
Roy Wetherall
a695f30686 RM-2509: The destruction of electronic records is not possible as it gets ghosted before destruction.
* unit test added to reproduce issue



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109872 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-11 04:18:12 +00:00
Tuna Aksoy
5e8cc326ca Fixed dependency issue ant removed ant as a dependecy
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109779 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-07 12:32:14 +00:00
Roy Wetherall
87d5c76f90 Acceptance Criteria Automation for RM-1997: Content store data cleansing
* added @AlfrescoTest annotation dependency to help track AC's back to JIRA
 * feedback from previous review
 * see RM-2460, RM-2461, RM-2462, RM-2505, RM-2506, RM-2507

+review RM 



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109733 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-07 02:04:51 +00:00
Tuna Aksoy
0a52f24c6a RM-2402 (Extend classification schedule REST API)
RM-2433 (Extend reclassification REST API)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109730 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-06 22:10:14 +00:00
Alexandru Balan
2e1d81ef2e RM-2391 - Added capability checking to the AuditLog Get REST API. Added a unit test. Minor changes on the Share side to forward the forbidden status.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.2@109401 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-08-03 08:43:40 +00:00
Tom Page
39dd741580 RM-2401, RM-2400, RM-2409 Store classification schedule properties.
Update Java API to store the classification schedule properties.

Fix the classification aspect behaviour to check newly classified
documents.

Add an application context test that the downgrade instructions are
mandatory when the downgrade date is set.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@109015 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-27 10:27:16 +00:00
Tuna Aksoy
d3e2ed6f3c RM-2421 (Add PUT method to classify content REST API)
+review RM-135

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108946 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-24 13:55:07 +00:00
Tom Page
60c41e5843 RM-2401 Pass classification schedule fields when classifying content.
Create a new data transfer object and add all the classification fields to
it. Update everywhere we're classifying content with the API to use the
data transfer object.  Also update the new edit classification API.

Break the classifyContent implementation into several smaller methods and
update unit tests to target these methods.

Don't actually use new fields in this commit, as there was plenty in this
commit as it was!

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108928 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-24 09:36:52 +00:00
Tuna Aksoy
80d1c9ff2d Fixed version number in some java and js files
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108912 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-23 21:38:31 +00:00
Tuna Aksoy
62c14b2fc6 RM-2129 (Check classification before method execution)
* Renamed ClassificationEnformentException to AccessDeniedException

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108657 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-21 12:49:06 +00:00
Tuna Aksoy
691b1f9a48 Enabled test for checking properties for a classified node
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108631 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-21 09:54:30 +00:00
Roy Wetherall
a37b04fd13 Fixes to classification enforcement:
* only process services that start with an upper case character.  We were being over zealous in our checking which was causing problems, we only care about public services.
 * add enable/disable/isenabled methods to pre-processor
 * switch off pre-processing when post-processing
 * remove method black list
 * unit tests, integration tests and UI tests run locally

+review RM @taksoy



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108613 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-21 05:30:53 +00:00
Tuna Aksoy
554ad56e63 Fixed failing automated UI tests
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@108149 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-11 15:56:28 +00:00
Tuna Aksoy
087c926d1b RM-2129 (Check classification before method execution)
* Preventing access to information without appropriate security clearance

+review RM-117

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107738 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-06 15:24:26 +00:00
Tuna Aksoy
882974d709 Temporary fix for the failing integration test
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107700 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-06 09:59:49 +00:00
Tuna Aksoy
2fbfa84b35 RM-2129 (Check classification before method execution)
+review RM-117

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107676 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-03 14:41:53 +00:00
Tuna Aksoy
7eaa62190c Removed warnings
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107669 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-03 10:52:45 +00:00
Tuna Aksoy
fc27e39843 RM-2129 (Check classification before method execution)
+review RM @rwetherall

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107649 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-07-02 18:05:18 +00:00
Neil McErlean
b37ce590c0 RM-2333, RM-2341, RM-2342, RM-2343, RM-2344, RM-2346.
Changed Classification Agency to optional throughtout the stack and added a new mandatory property Classified By throughout the stack.
Addressing the fallout in the existing tests due to these changes.
Also enhanced some existing tests to validate the classified by value persistence.

Still to do: need to initialise the Classified By field in the Classify dialog to the current user's full name (not as easy as I'd thought) and add additional AC tests.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107433 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-30 15:32:47 +00:00
Tuna Aksoy
5ce8ba691a Merged DEV/ENFORCE to HEAD:
105194: First pass at classification interceptor
   105294: Fixed compilation issue
   105323: Updated Aikau version to 1.0.20
   105565: RM-2129 (Check classification before method execution)
   105923: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106103: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106104: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106169: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106187: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106283: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106356: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106552: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106639: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106657: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106658: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106772: RM-2130 (Check classification after method execution, filtering results where appropriate)
   106774: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107009: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107163: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107164: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107246: RM-2130 Post method invocation processor for QueryEngineResults.
   107252: RM-2130 (Post method invocation processor for QueryEngineResults)
   107253: RM-2130 Make CollectionPostMethodInvocationProcessor concrete.
   107257: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107270: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107272: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107273: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107274: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107275: RM-2130 (Check classification after method execution, filtering results where appropriate)
   107282: RM-2130 Add support for other collections than Lists.
   107344: RM-2367 (Automate AC: Access to saved search)
   107355: RM-2130 Support for specific instantiable collections.
   107363: RM-2130 (Check classification after method execution, filtering results where appropriate)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107367 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-29 21:24:16 +00:00
Tuna Aksoy
df4e57ded7 RM-2367 (Automate AC: Access to saved search)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@107344 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-29 14:34:17 +00:00
Tuna Aksoy
a3c226f4d4 RM-2130 (Check classification after method execution, filtering results where appropriate)
- Fixed failing integration tests

+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@107274 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-28 17:29:54 +00:00
Tuna Aksoy
e4eb2a22ca RM-2130 (Check classification after method execution, filtering results where appropriate)
- Fixed failing integration test

+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@107273 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-28 15:45:01 +00:00
Tuna Aksoy
985d8de393 RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@107272 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-28 13:39:10 +00:00
Tuna Aksoy
e6b3975ee8 RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@107270 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-27 22:23:19 +00:00
Tuna Aksoy
28611c8e9a RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@107163 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-25 22:44:42 +00:00
Neil McErlean
cdcd367e68 RM-2333. Rename ClassificationAuthority to ClassificationAgency. +review RM
This addresses parts of RM-2341, RM-2342, RM-2343 and RM-2344. It replaces authority with agency in the content model
, the services and their APIs, the UI layer and the rm-automation tests.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@107108 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-25 13:24:38 +00:00
Tuna Aksoy
87d77fd755 RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@106774 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-22 22:41:26 +00:00
Tuna Aksoy
5cc5da5e9e RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@106658 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-21 21:58:42 +00:00
Tom Page
1ef89f8ebb RM-2320 Java API for getExemptionCategories.
Also RM-2321 automation testing for the initial loading of exemption
categories.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106565 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 14:28:20 +00:00
Tom Page
ece8e174cb RM-2319 Bootstrap initial exemption categories into the system.
This change does not include any validation. There is currently no
validation being done for classification reasons either, so it seemed
to make sense to do both in a separate change.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106417 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-17 15:38:10 +00:00
Tuna Aksoy
1b2fa2630f RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@106187 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-16 09:12:56 +00:00
Tuna Aksoy
90f787ea27 RM-2130 (Check classification after method execution, filtering results where appropriate)
+review RM-94

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@106169 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-15 20:59:10 +00:00
Tuna Aksoy
9c2d1c0632 RM-2280 (Move the code for checking if the content is classified to the service layer)
* Added integration tests
   
+review RM-87

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105748 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-08 13:53:44 +00:00
Tuna Aksoy
d9dc7c7e52 RM-2260 (Users with read&file permissions on content can not classify it if they are not the owners)
+review RM @rwetherall

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105541 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-04 15:41:00 +00:00
Tom Page
ea0548bdf8 Rename ClassificationService to ClassificationSchemeService.
Also rename ClassificationServiceException to ClassificationException.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105317 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-02 10:20:37 +00:00
Roy Wetherall
0b23552722 First pass at classification interceptor
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/DEV/ENFORCE@105194 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-01 08:20:12 +00:00
Tom Page
5c077ef098 RM-2124 Fix typo in assertion message.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104769 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-22 14:48:16 +00:00
Tom Page
f083b3cf22 RM-2124 Application context tests for restricted classification.
+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104751 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-22 13:20:01 +00:00
Tom Page
90be46f97e RM-2123 Fix comparator to be the correct way around.
Also add application context tests to cover this case.

+review RM-58

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104700 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-20 15:39:46 +00:00
Tom Page
5f6cf2187a RM-2123 Give clearance to the admin and system users.
Make sure this is executed as a patch and also bootstrapped into a clean
system using the BootstrapImporterModuleComponent.

Also restrict access to the classification levels (via the get API) to
only the levels that the user has clearance to.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104376 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-18 15:03:59 +00:00
Tom Page
582c179382 RM-2123 Create a new service for content classification.
Move methods to do with content from the ClassificationService and the
SecurityClearanceService into the ContentClassificationService.

Remove the dependency of SecurityClearanceService on ClassificationService
which will allow us to reverse this dependency in the next commit.  This is
needed in order to filter classifications by the current user's clearance.
Nb. This included adding a method in the SecurityClearanceService called
isClearedForClassification, which looks quite similar to a new API Roy
created hasClearance (see ContentClassificationService).  In the future we
should look to see if we can consolidate these.

Remove dependency of ClassificationServiceBootstrap on the services, so that
it can be passed into them. This allows us to provide access to the POJO
managers in the services (this is made harder as the POJO managers aren't
Spring beans).  In order to initialise these objects, change the POJO
managers to use setters rather than constructor arguments. This allows us
to store a reference to the manager before the data has been loaded.

Move the attribute service keys for classification levels and reasons into
the ClassifiedContentModel.

Expect NO_CLEARANCE to be passed into the ClearanceLevelManager, as
otherwise we have to have logic to exclude it (see initialise in the old
SecurityClearanceService) and then more logic to include it again (see the
old constructor for ClearanceLevelManager).

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104375 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-18 15:03:57 +00:00