Merge branch 'master' of github.com:Alfresco/governance-services into feature/REPO-5439v2

 Conflicts:
	rm-enterprise/rm-enterprise-repo/pom.xml
This commit is contained in:
cturlica
2021-02-15 17:34:44 +02:00
11 changed files with 95 additions and 161 deletions

View File

@@ -559,8 +559,8 @@
<maven.resources.version>3.1.0</maven.resources.version>
<maven.tomcat.port>8080</maven.tomcat.port>
<jackson.version>2.11.3</jackson.version>
<jackson-databind.version>2.11.2</jackson-databind.version>
<jackson.version>2.12.1</jackson.version>
<jackson-databind.version>2.12.1</jackson-databind.version>
<fabric8.docker.version>0.31.0</fabric8.docker.version>
<mockito.version>1.10.19</mockito.version>
<postgresql.version>42.2.16</postgresql.version>
@@ -597,7 +597,7 @@
<javax.servlet-api.version>4.0.1</javax.servlet-api.version>
<apache-compress.version>1.19</apache-compress.version>
<!-- 7.0.0 dependencies -->
<alfresco-community-repo.version>8.378</alfresco-community-repo.version>
<alfresco-community-repo.version>8.382</alfresco-community-repo.version>
</properties>
<dependencyManagement>
@@ -649,7 +649,6 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-mock</artifactId>
<version>${camel.mock.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>

View File

@@ -265,7 +265,8 @@
<!-- Records Management Search Service -->
<bean id="recordsManagementSearchService" class="org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchServiceImpl">
<bean id="recordsManagementSearchService"
class="org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchServiceImpl" depends-on="org_alfresco_module_rm_resourceBundles">
<property name="fileFolderService" ref="FileFolderService"/>
<property name="siteService" ref="SiteService"/>
<property name="namespaceService" ref="NamespaceService" />
@@ -678,7 +679,9 @@
<!-- Records Management Action Service -->
<bean id="recordsManagementActionService" class="org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionServiceImpl" init-method="init">
<bean id="recordsManagementActionService"
class="org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementActionServiceImpl"
init-method="init" depends-on="org_alfresco_module_rm_resourceBundles">
<property name="policyComponent" ref="policyComponent"/>
<property name="nodeService" ref="nodeService"/>
</bean>

View File

@@ -394,14 +394,14 @@
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
<version>0.9.12</version>
<scope>test</scope>
</dependency>
<!-- swagger parser -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-parser</artifactId>
<version>1.0.35</version>
<version>1.0.52</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.fge/json-schema-validator -->

View File

@@ -37,6 +37,9 @@ import org.alfresco.repo.policy.annotation.BehaviourKind;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName;
import static org.alfresco.repo.policy.Behaviour.NotificationFrequency.TRANSACTION_COMMIT;
/**
* Audits file plan component property updates
*
@@ -53,7 +56,8 @@ public class UpdateObjectAuditEvent extends AuditEvent implements OnUpdateProper
@Behaviour
(
kind = BehaviourKind.CLASS,
type = "rma:filePlanComponent"
type = "rma:filePlanComponent",
notificationFrequency = TRANSACTION_COMMIT
)
public void onUpdateProperties(NodeRef nodeRef, Map<QName, Serializable> before, Map<QName, Serializable> after)
{

View File

@@ -205,14 +205,14 @@ public class RMAfterInvocationProvider extends RMSecurityCommon
{
return decide(authentication, object, config, (AssociationRef) returnedObject);
}
else if (ResultSet.class.isAssignableFrom(returnedObject.getClass()))
{
return decide(authentication, object, config, (ResultSet) returnedObject);
}
else if (PagingLuceneResultSet.class.isAssignableFrom(returnedObject.getClass()))
{
return decide(authentication, object, config, (PagingLuceneResultSet) returnedObject);
}
else if (ResultSet.class.isAssignableFrom(returnedObject.getClass()))
{
return decide(authentication, object, config, (ResultSet) returnedObject);
}
else if (QueryEngineResults.class.isAssignableFrom(returnedObject.getClass()))
{
return decide(authentication, object, config, (QueryEngineResults) returnedObject);
@@ -422,9 +422,11 @@ public class RMAfterInvocationProvider extends RMSecurityCommon
private ResultSet decide(Authentication authentication, Object object, ConfigAttributeDefinition config, PagingLuceneResultSet returnedObject)
{
ResultSet raw = returnedObject.getWrapped();
ResultSet raw = ((FilteringResultSet) returnedObject.getWrapped()).getUnFilteredResultSet();
ResultSet filteredForPermissions = decide(authentication, object, config, raw);
return new PagingLuceneResultSet(filteredForPermissions, returnedObject.getResultSetMetaData().getSearchParameters(), nodeService);
PagingLuceneResultSet plrs = new PagingLuceneResultSet(filteredForPermissions, returnedObject.getResultSetMetaData().getSearchParameters(), nodeService);
plrs.setTrimmedResultSet(true);
return plrs;
}
private ResultSet decide(Authentication authentication, Object object, ConfigAttributeDefinition config, ResultSet returnedObject)

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2021 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2021 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2021 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2021 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -

View File

@@ -2,7 +2,7 @@
* #%L
* Alfresco Records Management Module
* %%
* Copyright (C) 2005 - 2017 Alfresco Software Limited
* Copyright (C) 2005 - 2021 Alfresco Software Limited
* %%
* This file is part of the Alfresco software.
* -

View File

@@ -1,155 +1,81 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="cache-control" content="max-age=0"/>
<meta http-equiv="cache-control" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>
<meta http-equiv="pragma" content="no-cache"/>
<title>Alfresco Governance Services REST API Explorer</title>
<link rel="shortcut icon"
href="https://cdn-www.alfresco.com/sites/www.alfresco.com/themes/alfrescodotcom/favicon.ico"/>
<link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
<link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
<link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
<link href='css/alfresco.css' media='screen' rel='stylesheet' type='text/css'/>
<!-- Google Tag Manager -->
<script>
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-W4HV22');
</script>
<!-- End Google Tag Manager -->
<script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
<script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
<script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
<script src='lib/handlebars-4.0.5.js' type='text/javascript'></script>
<script src='lib/object-assign-pollyfill.js' type='text/javascript'></script>
<script src='lib/es5-shim.js' type='text/javascript'></script>
<script src='lib/js-yaml.min.js' type='text/javascript'></script>
<script src='lib/sanitize-html.min.js' type='text/javascript'></script>
<script src='lib/lodash.min.js' type='text/javascript'></script>
<script src='lib/backbone-min.js' type='text/javascript'></script>
<script src='swagger-ui.js' type='text/javascript'></script>
<script src='lib/highlight.9.1.0.pack.js' type='text/javascript'></script>
<script src='lib/highlight.9.1.0.pack_extended.js' type='text/javascript'></script>
<script src='lib/jsoneditor.min.js' type='text/javascript'></script>
<script src='lib/marked.js' type='text/javascript'></script>
<script src='lib/swagger-oauth.js' type='text/javascript'></script>
<link rel="stylesheet" type="text/css" href="./swagger-ui.css">
<link href='./css/alfresco.css' media='screen' rel='stylesheet' type='text/css'/>
<!-- Some basic translations -->
<!-- <script src='lang/translator.js' type='text/javascript'></script> -->
<!-- <script src='lang/ru.js' type='text/javascript'></script> -->
<!-- <script src='lang/en.js' type='text/javascript'></script> -->
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32"/>
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16"/>
<style>
html
{
box-sizing: border-box;
overflow: -moz-scrollbars-vertical;
overflow-y: scroll;
}
*, *:before, *:after
{
box-sizing: inherit;
}
body
{
margin:0;
background: #fafafa;
padding:0;
}
<script type="text/javascript">
$(function () {
window.swaggerUi = new SwaggerUi({
url: "definitions/gs-core-api.yaml",
dom_id: "swagger-ui-container",
supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
onComplete: function (swaggerApi, swaggerUi) {
.swagger-ui .topbar {
background-color: #e6e6ec;
}
.swagger-ui .topbar .download-url-wrapper .select-label {
color: #333;
}
.topbar-wrapper img[alt="Swagger UI"] {
visibility: collapse;
}
.topbar-wrapper .link:before {
content:url('images/logo.svg');
}
$('pre code').each(function (i, e) {
hljs.highlightBlock(e)
});
addAuthorization();
},
onFailure: function (data) {
log("Unable to Load SwaggerUI");
},
docExpansion: "none",
jsonEditor: false,
apisSorter: "alpha",
operationsSorter: "alpha",
defaultModelRendering: 'schema',
showRequestHeaders: false,
validatorUrl: null
});
function addAuthorization() {
var cacheA = new SwaggerClient.ApiKeyAuthorization("If-Modified-Since", "Mon, 26 Jul 1997 05:00:00 GMT", "header"),
cacheB = new SwaggerClient.ApiKeyAuthorization("Cache-Control", "no-cache", "header"),
cacheC = new SwaggerClient.ApiKeyAuthorization("Pragma", "no-cache", "header"),
username = $('#input_username').val(),
password = $('#input_password').val();
if (username.trim() != "" && password.trim() != "")
{
var basicAuth = new SwaggerClient.PasswordAuthorization(username, password);
window.swaggerUi.api.clientAuthorizations.remove("basicAuth");
window.swaggerUi.api.clientAuthorizations.add("basicAuth", basicAuth);
log("authorization added: username = " + username + ", auth = " + basicAuth);
}
window.swaggerUi.api.clientAuthorizations.add("cacheA", cacheA);
window.swaggerUi.api.clientAuthorizations.add("cacheB", cacheB);
window.swaggerUi.api.clientAuthorizations.add("cacheC", cacheC);
}
/* https://stackoverflow.com/a/65782841/1654265 */
.errors-wrapper {
display: none !important;
}
$('#input_username').change(addAuthorization);
$('#input_password').change(addAuthorization);
window.swaggerUi.load();
$('#select_baseUrl').change(function () {
window.swaggerUi.headerView.trigger('update-swagger-ui', {
url: $('#select_baseUrl').val()
});
});
function log() {
if ('console' in window)
{
console.log.apply(console, arguments);
}
}
});
</script>
</style>
</head>
<body class="swagger-section">
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W4HV22" height="0" width="0"
style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<div id='header'>
<div class="swagger-ui-wrap">
<a id="alflogo" href="#"><img src="images/logo.png" height="44px" width="160px"/></a>
<form id="api_selector">
<div class="input" id="select-wrapper">
<select id="select_baseUrl" name="select_baseUrl">
<option value="definitions/gs-core-api.yaml">GS Core API</option>
</select>
</div>
<div class="input"><input alt="Username" type="text" name="username" id="input_username" placeholder="username"
size="10" value="admin"></div>
<div class="input"><input alt="Password" type="password" name="password" id="input_password"
placeholder="password" size="10" value="admin"></div>
</form>
</div>
</div>
<body>
<div id="swagger-ui"></div>
<div id="message-bar" class="swagger-ui-wrap" data-sw-translate>&nbsp;</div>
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
<script src="./swagger-ui-bundle.js" charset="UTF-8"></script>
<script src="./swagger-ui-standalone-preset.js" charset="UTF-8"></script>
<script>
window.onload = function() {
const ui = SwaggerUIBundle({
urls: [
{url: "definitions/gs-core-api.yaml", name: "GS Core API"}
],
dom_id: '#swagger-ui',
deepLinking: true,
displayRequestDuration: true,
presets: [
SwaggerUIBundle.presets.apis,
SwaggerUIStandalonePreset
],
plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],
layout: "StandaloneLayout"
})
window.ui = ui
}
</script>
</body>
</html>