Commit Graph

935 Commits

Author SHA1 Message Date
Neil McErlean
5a88c1d5c8 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
Tom Page
2fb85342f1 RM-2326 Rest API for GET exemption categories.
+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106576 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 15:35:32 +00:00
Tom Page
3bcad6ee1e 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
3eb1599fd9 RM-2319 Declare parameter key as "final".
This is needed to compile in java 7, but not java 8.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106532 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 10:16:06 +00:00
Tom Page
5d1ab4fa87 RM-2319 Refactor ClassificationServiceBootstrap.
Simplify code to load classification levels, classification reasons and
exemption categories using the same method.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106530 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 09:52:20 +00:00
Tom Page
941b637552 RM-2319 Validate classification reasons and exemption categories.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106529 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 09:52:18 +00:00
Tom Page
81f5c589c5 RM-2319 Create a general classification scheme entity validator.
Replace the existing classification level validator with the new class.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106528 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 09:52:13 +00:00
Tom Page
4ee3afa208 RM-2319 Separate the field validation from ClassificationLevelValidation.
Create field validators that are small and potentially re-usable.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106527 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 09:52:10 +00:00
Tom Page
88ee670c81 RM-2319 Refactor ClassificationServiceDAO.
All the config loading is now done by a single method using a factory to
create the individual entities.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106526 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 09:52:07 +00:00
Tom Page
cbe6ca551e RM-2319 Create marker interface for entities created from config files.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106525 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-19 09:52:05 +00:00
Tom Page
14bd5e4da8 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
Neil McErlean
c43ac5ab12 Trivial changes. Improved an exception message after review comments and fixed a copyright year.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106143 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-15 13:37:14 +00:00
Neil McErlean
623ac8eff8 Implementation of new tests as part of RM-2241.
Test to ensure the Unclassified abbreviation ('U') is rejected when duplicated by end user configuration.
Test to ensure any duplicate abbreviations are rejected.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106134 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-15 12:04:27 +00:00
Tuna Aksoy
f2010a9f2f RM-2280 (Move the code for checking if the content is classified to the service layer)
* moved the check to content classification service
   
+review RM-87

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106090 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-12 20:39:33 +00:00
Tom Page
ac56441fc3 RM-2217 Allow null as a filter value.
Also add a few unit tests for the file.

+review RM-96

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106034 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-12 13:19:08 +00:00
Tuna Aksoy
7c62bef29e 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@106030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-12 12:57:09 +00:00
Tom Page
ed210cd336 RM-2217 Filtering with special characters - fix backslash.
+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@106011 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-12 10:09:21 +00:00
Neil McErlean
5aeeb146be RM-2235. Changed Unclassified to 'U', which is the ID and abbreviation for unclassified.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105782 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-09 09:21:39 +00:00
Tuna Aksoy
aaecf7ad80 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
14a1c9f9bc RM-2280 (Move the code for checking if the content is classified to the service layer)
+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105735 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-08 11:03:19 +00:00
Neil McErlean
f8c417d0d0 Initial implementation of RM-2238, RM-2288, RM-2289 & RM-2290. Classification Abbreviations and tests.
In fact, this is pretty much done. Still to do: Unclassified Abbreviation.

New class ClassificationLevelValidation which contains the various validation checks for level abbreviations. Unit tests for same. This new class is used by ClassificationServiceBootstrap.
Added a new exception type just so that we have somewhere to store any illegal characters in a level abbreviation.
Had to change the classification level IDs to “TS”, “S” & “C” as “Confidential” has a length > 10. I’d been thinking of doing this is a separate commit but the additional validation requires that we do it now.
Minor fallout in test code due to ID changes.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105641 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-05 15:58:10 +00:00
Tuna Aksoy
9b61610016 In the user security clearance page if users cannot be found an error message should not be displayed.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105631 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-05 14:28:04 +00:00
Tuna Aksoy
3d8d3a2301 RM-2260 (Users with read&file permissions on content can not classify it if they are not the owners)
* Fixed failing integration test

+review RM-83

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105567 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-05 09:31:43 +00:00
Tuna Aksoy
34beffedad 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
Tuna Aksoy
2ca633319d RM-2247 (Add classification banner to document details)
RM-2248 (Add classification banner to record details)

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105441 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-03 09:46:09 +00:00
Tom Page
91314b4833 Fix a few places I missed refactoring.
Hopefully this will fix the build.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105318 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-02 11:17:19 +00:00
Tom Page
ae171d5008 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
Tom Page
81dbb54471 Fix failing test on Sonar build.
Avoid calling the I18N utility by checking the display label key directly.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105312 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-02 09:21:30 +00:00
Tuna Aksoy
7916227e88 RM-2208 (Prevent classification of shared content)
+review RM @rwetherall

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105284 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-01 13:32:12 +00:00
Tom Page
43a2784387 Use mock in unit test for ClearanceLevelManager.
Although I'm not sure exactly why this unit test failed on the Sonar build,
it seems sensible to remove the dependency on another class by using a mock.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105192 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-06-01 07:59:10 +00:00
David Webster
8911277917 RM-2270: WIP: Extending QuickShareService to prevent classified content being shared. Checking in for +review @taksoy @tpage @rweatherall @nmcerlean
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@105022 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-29 10:53:36 +00:00
Tuna Aksoy
97ddd7182b RM-2268 (If the currentPage attribute value is changed to a invalid one in the URL the Security Clearance page is not displayed in error)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104905 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-27 15:59:48 +00:00
Tom Page
655a8d8a5d RM-2123 Ensure user has clearance to classify content.
Also add clearance check method into security profile.

+review RM-58

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104750 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-22 13:20:00 +00:00
Tom Page
eafaad25ea RM-2123 Use runAsAuthentication instead of actual authentication.
Check that the user the command is run as has clearance to view the
classification levels, rather than the user that initiated the command.

+review RM-58

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104729 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-22 08:43:12 +00:00
Tom Page
8aa3a6615c 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
94c65b83e8 RM-2123 Move clearance checking to SecurityClearanceService.
Refactor ContentClassificationService#hasClearance so that it calls out to
SecurityClearanceService#isCurrentUserClearedForClassification. Restrict
isCurrentUserClearedForClassification so that it only applies to the current
authenticated user (we don't need to use it for anything else).  Also
extract classification level comparison to a new class.

+review RM-58

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104568 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-20 08:28:46 +00:00
Tom Page
4d94c8b66b RM-2123 Don't create a user called system.
Also add special check in clearance service that gives system user maximum
clearance.

+review RM-58

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104480 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-19 09:57:02 +00:00
Tuna Aksoy
f11454f487 RM-2204 (Hover over classification reason id on properties page reveals nothing)
+review RM @rwetherall

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104476 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-18 21:22:17 +00:00
Tom Page
f03e36ee91 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
24780dc472 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
Tuna Aksoy
5c66e55735 RM-2160 (Update Classify Action config once users with security clearances exist)
+review RM-57

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104346 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-18 13:21:49 +00:00
Tuna Aksoy
340aa8ec6f RM-2160 (Update Classify Action config once users with security clearances exist)
+review RM @rwetherall @dwebster

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104308 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-15 16:20:16 +00:00
David Webster
59a2b20d34 RM-2197: restrict restrictList access, as suggested by Tom and Tuna during +review RM-56
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104305 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-15 16:07:20 +00:00
David Webster
80f7abbad0 RM-2197: Create REST GET API to return clearance levels
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104246 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-15 10:04:52 +00:00
David Webster
f66a29aba3 RM-2197: Extend Java service to return a list of security clearances the user can see.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104244 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-15 10:02:23 +00:00
Roy Wetherall
826a7d2403 Added 'hasClearance' method to SecurityClearanceService to support EntryVoter and AfterInvocationProvider implementations
* relates to RM-2129 & RM-2130
 * added 'getCurrentClassification" method to ClassificationService
 * added concept of system classification level "Unclassified" .. it no longer is required to be specified in the JSON bootstrap since this is a well known and alway required basic classification level
 * added concept of system security clearance level "No Clearance" .. automatically added and relates to unclassified classificaiton level
 * unit tests updated and added
 * started to move some of the logic out of unit test base class and into helper library called 'AlfMock'!



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104229 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-15 03:21:08 +00:00
David Webster
a9f57ea03b RM-2120: Add error handling (and test) as suggested by Neil during + review RM-46
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@104157 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-14 10:58:19 +00:00
Tom Page
d60071421e RM-2197 Replace "No Clearance" with "Unclassified" in list of levels.
Created a notion of clearance level distinct from (but related to)
classification level. A clearance level references the highest
classification level it has access to. A SecurityClearance now contains a
ClearanceLevel, which in turn contains a ClassificationLevel.

Created a ClearanceLevelManager and initialise it at the same time as the
ClassificationLevelManager.

+review RM

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@103929 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-11 08:16:03 +00:00
Roy Wetherall
960a3da39e RM-2186: Complete records can not be classified
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@103923 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-11 01:25:11 +00:00
Tom Page
1c62f51937 Revert RM-2123 Update Java API to filter with current user's clearance.
The circular dependency causes a problem when loading the Spring context.
Reverting to rethink the approach.

+review RM-47



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@103856 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2015-05-08 09:26:27 +00:00