Unverified Commit 28116e80 authored by Francesco Chicchiricco's avatar Francesco Chicchiricco
Browse files

Bump upgrade to Syncope 2.0.3

parent 3510ce4d
...@@ -6,7 +6,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); ...@@ -6,7 +6,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
...@@ -143,25 +143,43 @@ limitations under the License. ...@@ -143,25 +143,43 @@ limitations under the License.
<phase>process-resources</phase> <phase>process-resources</phase>
<configuration> <configuration>
<target> <target>
<unzip src="${settings.localRepository}/org/activiti/activiti-webapp-explorer2/${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war" dest="${project.build.directory}/activiti-webapp-explorer2" /> <unzip src="${settings.localRepository}/org/activiti/activiti-webapp-explorer2/${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war"
dest="${project.build.directory}/activiti-webapp-explorer2" />
<mkdir dir="${activiti-modeler.directory}" /> <mkdir dir="${activiti-modeler.directory}" />
<copy file="${project.build.directory}/activiti-webapp-explorer2/modeler.html" todir="${activiti-modeler.directory}" /> <copy file="${project.build.directory}/activiti-webapp-explorer2/modeler.html"
<replace file="${activiti-modeler.directory}/modeler.html" token="&lt;/head&gt;" value="&lt;script type=&quot;text/javascript&quot;&gt;window.onunload = refreshParent; function refreshParent() { window.opener.location.reload(); }&lt;/script&gt;&lt;/head&gt;" /> todir="${activiti-modeler.directory}" />
<copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/stencilset.json" todir="${activiti-modeler.directory}" /> <replace file="${activiti-modeler.directory}/modeler.html"
token="&lt;/head&gt;"
value="&lt;script type=&quot;text/javascript&quot;&gt;window.onunload = refreshParent; function refreshParent() { window.opener.location.reload(); }&lt;/script&gt;&lt;/head&gt;"/>
<copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/stencilset.json"
todir="${activiti-modeler.directory}" />
<mkdir dir="${activiti-modeler.directory}/editor-app" /> <mkdir dir="${activiti-modeler.directory}/editor-app" />
<copy todir="${activiti-modeler.directory}/editor-app"> <copy todir="${activiti-modeler.directory}/editor-app">
<fileset dir="${project.build.directory}/activiti-webapp-explorer2/editor-app" /> <fileset dir="${project.build.directory}/activiti-webapp-explorer2/editor-app" />
</copy> </copy>
<replaceregexp file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js" match="ORYX.CONFIG.ROOT_PATH =.*&quot;editor/&quot;; //TODO: Remove last slash!!" replace="BASE_PATH = window.location.toString().substr(0, window.location.toString().indexOf('/wicket')); ORYX.CONFIG.ROOT_PATH = BASE_PATH + &quot;/activiti-modeler/editor-app/editor/&quot;;" byline="true" /> <replaceregexp file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
<replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js" token="new Ajax.Request(ACTIVITI.CONFIG.contextRoot + '/editor/stencilset?version=' + Date.now(), {" value="new Ajax.Request(window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler')) + &quot;/activiti-modeler/stencilset.json&quot;, {" /> match="ORYX.CONFIG.ROOT_PATH =.*&quot;editor/&quot;; //TODO: Remove last slash!!"
<replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js" token="ORYX.Editor.createByUrl(modelUrl);" value="modelUrl = BASE_PATH + &quot;/workflowDefGET&quot;; ORYX.Editor.createByUrl(modelUrl);" /> replace="BASE_PATH = window.location.toString().substr(0, window.location.toString().indexOf(&#39;/wicket&#39;));
<replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js" token="ORYX.Editor.createByUrl = function(modelUrl){" value="modelUrl = BASE_PATH + &quot;/workflowDefGET&quot;; ORYX.Editor.createByUrl = function(modelUrl){" /> ORYX.CONFIG.ROOT_PATH = BASE_PATH + &quot;/activiti-modeler/editor-app/editor/&quot;;"
<replace file="${activiti-modeler.directory}/editor-app/configuration/toolbar-default-actions.js" token="window.location.href = &quot;./&quot;;" value="window.close();" /> byline="true"/>
<replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
token="new Ajax.Request(ACTIVITI.CONFIG.contextRoot + &#39;/editor/stencilset?version=&#39; + Date.now(), {"
value="new Ajax.Request(window.location.toString().substr(0, window.location.toString().indexOf(&#39;/activiti-modeler&#39;)) + &quot;/activiti-modeler/stencilset.json&quot;, {"/>
<replace file="${activiti-modeler.directory}/editor-app/editor/oryx.debug.js"
token="ORYX.Editor.createByUrl(modelUrl);"
value="modelUrl = BASE_PATH + &quot;/workflowDefGET?modelId=&quot; + modelId; ORYX.Editor.createByUrl(modelUrl);" />
<replace file="${activiti-modeler.directory}/editor-app/configuration/toolbar-default-actions.js"
token="window.location.href = &quot;./&quot;;"
value="window.close();"/>
<copy file="${basedir}/src/main/resources/url-config.js" todir="${activiti-modeler.directory}/editor-app/configuration" overwrite="true" /> <copy file="${basedir}/src/main/resources/url-config.js"
<copy file="${basedir}/src/main/resources/save-model.html" todir="${activiti-modeler.directory}/editor-app/popups" overwrite="true" /> todir="${activiti-modeler.directory}/editor-app/configuration"
overwrite="true" />
<copy file="${basedir}/src/main/resources/save-model.html"
todir="${activiti-modeler.directory}/editor-app/popups"
overwrite="true" />
</target> </target>
</configuration> </configuration>
<goals> <goals>
......
...@@ -63,7 +63,7 @@ import org.springframework.util.ReflectionUtils; ...@@ -63,7 +63,7 @@ import org.springframework.util.ReflectionUtils;
public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyObjectRestClient> { public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyObjectRestClient> {
private static final long serialVersionUID = -1100228004207271271L; private static final long serialVersionUID = -1100228004207271270L;
private static final String SERVICE_PROVIDER_ROLE = "Service provider"; private static final String SERVICE_PROVIDER_ROLE = "Service provider";
...@@ -72,8 +72,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO ...@@ -72,8 +72,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
// entitlements without which one coming from SERVICE ROLE // entitlements without which one coming from SERVICE ROLE
private final Set<String> entitlements = new HashSet<>(); private final Set<String> entitlements = new HashSet<>();
protected AnyObjectDirectoryPanel(final String id, final AnyObjectDirectoryPanel.Builder builder, protected AnyObjectDirectoryPanel(final String id, final Builder builder, final boolean wizardInModal) {
final boolean wizardInModal) {
super(id, builder, wizardInModal); super(id, builder, wizardInModal);
// --------------------------- // ---------------------------
...@@ -203,8 +202,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO ...@@ -203,8 +202,7 @@ public class AnyObjectDirectoryPanel extends AnyDirectoryPanel<AnyObjectTO, AnyO
@Override @Override
public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) { public void onClick(final AjaxRequestTarget target, final AnyObjectTO ignore) {
final IModel<AnyWrapper<AnyObjectTO>> formModel = new CompoundPropertyModel<>( final IModel<AnyWrapper<AnyObjectTO>> formModel = new CompoundPropertyModel<>(
new AnyWrapper<>( new AnyWrapper<>(model.getObject()));
model.getObject()));
altDefaultModal.setFormModel(formModel); altDefaultModal.setFormModel(formModel);
target.add(altDefaultModal.setContent(new AnyStatusModal<>( target.add(altDefaultModal.setContent(new AnyStatusModal<>(
......
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
# #
# http://www.apache.org/licenses/LICENSE-2.0 # Copyright 2015 The CHOReVOLUTION project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# #
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
console.directory=${conf.directory} console.directory=${conf.directory}
version=${syncope.version} version=${syncope.version}
site=${project.parent.url} site=${project.parent.url}
license=${licenseUrl}
anonymousUser=${anonymousUser} anonymousUser=${anonymousUser}
anonymousKey=${anonymousKey} anonymousKey=${anonymousKey}
...@@ -29,7 +27,10 @@ port=8080 ...@@ -29,7 +27,10 @@ port=8080
rootPath=/syncope/rest/ rootPath=/syncope/rest/
useGZIPCompression=true useGZIPCompression=true
csrf=true
activitiModelerDirectory=${activiti-modeler.directory} activitiModelerDirectory=${activiti-modeler.directory}
flowableModelerDirectory=${flowable-modeler.directory}
reconciliationReportKey=c3520ad9-179f-49e7-b315-d684d216dd97 reconciliationReportKey=c3520ad9-179f-49e7-b315-d684d216dd97
......
...@@ -106,7 +106,7 @@ under the License. ...@@ -106,7 +106,7 @@ under the License.
<li wicket:id="topologyLI"><a href="#" wicket:id="topology"><i class="fa fa-plug"></i><span><wicket:message key="topology"/></span></a></li> <li wicket:id="topologyLI"><a href="#" wicket:id="topology"><i class="fa fa-plug"></i><span><wicket:message key="topology"/></span></a></li>
<li wicket:id="reportsLI"><a href="#" wicket:id="reports"><i class="fa fa-pie-chart"></i><span><wicket:message key="reports"/></span></a></li> <li wicket:id="reportsLI"><a href="#" wicket:id="reports"><i class="fa fa-pie-chart"></i><span><wicket:message key="reports"/></span></a></li>
<li wicket:id="configurationLI" class="treeview"> <li wicket:id="configurationLI" class="treeview">
<a href="#"><i class="fa fa-edit"></i><span><wicket:message key="configuration"/></span> <i class="fa fa-angle-left pull-right"></i></a> <a href="#"><i class="fa fa-edit"></i><span><wicket:message key="configuration"/></span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>
<ul wicket:id="configurationUL" class="treeview-menu"> <ul wicket:id="configurationUL" class="treeview-menu">
<li wicket:id="auditLI"><a href="#" wicket:id="audit"><i class="fa fa-check-square-o"></i><wicket:message key="audit"/></a></li> <li wicket:id="auditLI"><a href="#" wicket:id="audit"><i class="fa fa-check-square-o"></i><wicket:message key="audit"/></a></li>
<li wicket:id="logsLI"><a href="#" wicket:id="logs"><i class="fa fa-file-text-o"></i><wicket:message key="logs"/></a></li> <li wicket:id="logsLI"><a href="#" wicket:id="logs"><i class="fa fa-file-text-o"></i><wicket:message key="logs"/></a></li>
...@@ -120,7 +120,7 @@ under the License. ...@@ -120,7 +120,7 @@ under the License.
</ul> </ul>
</li> </li>
<li wicket:id="extensionsLI" class="treeview"> <li wicket:id="extensionsLI" class="treeview">
<a href="#"><i class="fa fa-puzzle-piece"></i><span><wicket:message key="extensions"/></span> <i class="fa fa-angle-left pull-right"></i></a> <a href="#"><i class="fa fa-puzzle-piece"></i><span><wicket:message key="extensions"/></span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>
<ul class="treeview-menu" wicket:id="extPages"> <ul class="treeview-menu" wicket:id="extPages">
<li wicket:id="extPageLI"> <li wicket:id="extPageLI">
<a href="#" wicket:id="extPage"><i wicket:id="extPageIcon"></i><span wicket:id="extPageLabel"/></a> <a href="#" wicket:id="extPage"><i wicket:id="extPageIcon"></i><span wicket:id="extPageLabel"/></a>
...@@ -216,9 +216,7 @@ under the License. ...@@ -216,9 +216,7 @@ under the License.
<div class="control-sidebar-bg" style="position: fixed; height: auto;"></div> <div class="control-sidebar-bg" style="position: fixed; height: auto;"></div>
</div> </div>
<div id="veil"> <div id="veil">Loading...</div>
<img src="img/busy.gif"/>
</div>
<script type="text/javascript"> <script type="text/javascript">
$('.spanYear').html(new Date().getFullYear()); $('.spanYear').html(new Date().getFullYear());
......
...@@ -21,7 +21,7 @@ var KISBPM = KISBPM || {}; ...@@ -21,7 +21,7 @@ var KISBPM = KISBPM || {};
KISBPM.URL = { KISBPM.URL = {
getModel: function (modelId) { getModel: function (modelId) {
return window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler')) return window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler'))
+ "/workflowDefGET"; + "/workflowDefGET?modelId=" + modelId;
}, },
getStencilSet: function () { getStencilSet: function () {
return window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler')) return window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler'))
...@@ -29,6 +29,6 @@ KISBPM.URL = { ...@@ -29,6 +29,6 @@ KISBPM.URL = {
}, },
putModel: function (modelId) { putModel: function (modelId) {
return window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler')) return window.location.toString().substr(0, window.location.toString().indexOf('/activiti-modeler'))
+ "/workflowDefPUT"; + "/workflowDefPUT?modelId=" + modelId;
} }
}; };
# #
# Copyright 2015 The CHOReVOLUTION project # Copyright 2015 The CHOReVOLUTION project
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
...@@ -17,7 +17,6 @@ console.directory=${conf.directory} ...@@ -17,7 +17,6 @@ console.directory=${conf.directory}
version=${syncope.version} version=${syncope.version}
site=${project.parent.url} site=${project.parent.url}
license=${licenseUrl}
anonymousUser=${anonymousUser} anonymousUser=${anonymousUser}
anonymousKey=${anonymousKey} anonymousKey=${anonymousKey}
...@@ -26,7 +25,25 @@ scheme=http ...@@ -26,7 +25,25 @@ scheme=http
host=localhost host=localhost
port=9080 port=9080
rootPath=/syncope/rest/ rootPath=/syncope/rest/
useGZIPCompression=true
csrf=true
activitiModelerDirectory=${activiti-modeler.directory} activitiModelerDirectory=${activiti-modeler.directory}
flowableModelerDirectory=${flowable-modeler.directory}
reconciliationReportKey=c3520ad9-179f-49e7-b315-d684d216dd97
reconciliationReportKey=1 page.dashboard=org.apache.syncope.client.console.pages.Dashboard
page.realms=org.apache.syncope.client.console.pages.Realms
page.topology=org.apache.syncope.client.console.topology.Topology
page.reports=org.apache.syncope.client.console.pages.Reports
page.workflow=org.apache.syncope.client.console.pages.Workflow
page.audit=org.apache.syncope.client.console.pages.Audit
page.logs=org.apache.syncope.client.console.pages.Logs
page.securityquestions=org.apache.syncope.client.console.pages.SecurityQuestions
page.types=org.apache.syncope.client.console.pages.Types
page.roles=org.apache.syncope.client.console.pages.Roles
page.policies=org.apache.syncope.client.console.pages.Policies
page.notifications=org.apache.syncope.client.console.pages.Notifications
page.parameters=org.apache.syncope.client.console.pages.Parameters
...@@ -21,7 +21,7 @@ limitations under the License. ...@@ -21,7 +21,7 @@ limitations under the License.
<classpath fallback="default"> <classpath fallback="default">
<dir name="${basedir}/../console/target/classes"> <dir name="${basedir}/../console/target/classes">
</dir> </dir>
<dir name="${basedir}/../../ext/choreography/client-console/target/classes"> <dir name="${basedir}/../ext/choreography/client-console/target/classes">
</dir> </dir>
</classpath> </classpath>
...@@ -31,7 +31,7 @@ limitations under the License. ...@@ -31,7 +31,7 @@ limitations under the License.
</dir> </dir>
</link> </link>
<link target="/"> <link target="/">
<dir name="${basedir}/../../ext/choreography/client-console/target/classes"> <dir name="${basedir}/../ext/choreography/client-console/target/classes">
</dir> </dir>
</link> </link>
</web> </web>
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2015 The CHOReVOLUTION project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="classpath*:domains/*Domain.xml"/>
<bean class="org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptorInjector"/>
<bean id="commonEMFConf" class="org.apache.syncope.core.persistence.jpa.spring.CommonEntityManagerFactoryConf">
<property name="packagesToScan" value="org.apache.syncope.core.persistence.jpa.entity"/>
<property name="validationMode" value="NONE"/>
<property name="persistenceUnitPostProcessors">
<list>
<bean class="org.apache.syncope.core.persistence.jpa.spring.MultiJarAwarePersistenceUnitPostProcessor"/>
</list>
</property>
<property name="jpaPropertyMap">
<map>
<entry key="openjpa.Log" value="slf4j"/>
<!--<entry key="openjpa.Log" value="SQL=TRACE"/>
<entry key="openjpa.ConnectionFactoryProperties"
value="PrintParameters=true, PrettyPrint=true, PrettyPrintLineLength=80"/>-->
<entry key="openjpa.NontransactionalWrite" value="false"/>
<entry key="openjpa.AutoDetach" value="close, commit, nontx-read, rollback"/>
<entry key="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)"/>
<entry key="openjpa.jdbc.MappingDefaults"
value="ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict"/>
<entry key="openjpa.DataCache" value="true"/>
<entry key="openjpa.QueryCache" value="true"/>
<entry key="openjpa.RemoteCommitProvider" value="sjvm"/>
</map>
</property>
</bean>
</beans>
...@@ -88,6 +88,15 @@ limitations under the License. ...@@ -88,6 +88,15 @@ limitations under the License.
<CPlainAttrValue id="b5e8e79d-8039-4318-9698-fe5e181ebe98" <CPlainAttrValue id="b5e8e79d-8039-4318-9698-fe5e181ebe98"
attribute_id="e5a712ad-53fd-4102-ba55-fb45caed5f7b" booleanValue="1"/> attribute_id="e5a712ad-53fd-4102-ba55-fb45caed5f7b" booleanValue="1"/>
<SyncopeSchema id="authentication.attributes"/>
<PlainSchema id="authentication.attributes" type="String" multivalue="1" uniqueConstraint="0" readonly="0"/>
<CPlainAttr id="577c6c4d-7149-43c2-9821-9ab4510effbd"
owner_id="cd64d66f-6fff-4008-b966-a06b1cc1436d" schema_id="authentication.attributes"/>
<CPlainAttrValue id="c13660b5-926c-47ea-946d-52db32dd492b"
attribute_id="577c6c4d-7149-43c2-9821-9ab4510effbd" stringValue="username"/>
<CPlainAttrValue id="0f112dbd-00d4-441c-b732-331e7f348f8a"
attribute_id="577c6c4d-7149-43c2-9821-9ab4510effbd" stringValue="email"/>
<SyncopeSchema id="authentication.statuses"/> <SyncopeSchema id="authentication.statuses"/>
<PlainSchema id="authentication.statuses" type="String" multivalue="1" uniqueConstraint="0" readonly="0"/> <PlainSchema id="authentication.statuses" type="String" multivalue="1" uniqueConstraint="0" readonly="0"/>
<CPlainAttr id="888ae8e1-a295-4ee2-a15e-31dbf6dfc3f9" <CPlainAttr id="888ae8e1-a295-4ee2-a15e-31dbf6dfc3f9"
...@@ -123,6 +132,15 @@ limitations under the License. ...@@ -123,6 +132,15 @@ limitations under the License.
<CPlainAttrValue id="e5fa94db-b524-4309-908d-8198d0b3f779" <CPlainAttrValue id="e5fa94db-b524-4309-908d-8198d0b3f779"
attribute_id="bcfd7efc-0605-4b5e-b4bb-85c1d5f6493a" booleanValue="0"/> attribute_id="bcfd7efc-0605-4b5e-b4bb-85c1d5f6493a" booleanValue="0"/>
<!-- JWT lifetime in minutes -->
<SyncopeSchema id="jwt.lifetime.minutes"/>
<PlainSchema id="jwt.lifetime.minutes" type="Long"
mandatoryCondition="true" multivalue="0" uniqueConstraint="0" readonly="0"/>
<CPlainAttr id="cfec3140-562d-459c-ac6a-e3e10758661d"
owner_id="cd64d66f-6fff-4008-b966-a06b1cc1436d" schema_id="jwt.lifetime.minutes"/>
<CPlainAttrValue id="447e2456-3ff5-41bc-8ff1-cbb0567546cb"
attribute_id="cfec3140-562d-459c-ac6a-e3e10758661d" longValue="120"/>
<AnyType id="USER" kind="USER"/> <AnyType id="USER" kind="USER"/>
<AnyTypeClass id="BaseUser"/> <AnyTypeClass id="BaseUser"/>
<AnyType_AnyTypeClass anyType_id="USER" anyTypeClass_id="BaseUser"/> <AnyType_AnyTypeClass anyType_id="USER" anyTypeClass_id="BaseUser"/>
...@@ -144,7 +162,7 @@ a password reset was request for ${user.getUsername()}. ...@@ -144,7 +162,7 @@ a password reset was request for ${user.getUsername()}.
In order to complete this request, you need to visit this link: In order to complete this request, you need to visit this link:
http://localhost:9080/syncope-enduser/app/#/confirmpasswordreset?token=${input.get(0).replaceAll(' ', '%20')} http://localhost:9080/syncope-enduser/app/#!/confirmpasswordreset?token=${input.get(0).replaceAll(' ', '%20')}
If you did not request this reset, just ignore the present e-mail. If you did not request this reset, just ignore the present e-mail.
...@@ -155,7 +173,7 @@ Best regards." ...@@ -155,7 +173,7 @@ Best regards."
a password reset was request for ${user.getUsername()}.&lt;/p&gt; a password reset was request for ${user.getUsername()}.&lt;/p&gt;
&lt;p&gt;In order to complete this request, you need to visit this &lt;p&gt;In order to complete this request, you need to visit this
&lt;a href=&quot;http://localhost:9080/syncope-enduser/app/#/confirmpasswordreset?token=${input.get(0).replaceAll(' ', '%20')}&quot;&gt;link&lt;/a&gt;&lt;/p&gt;. &lt;a href=&quot;http://localhost:9080/syncope-enduser/app/#!/confirmpasswordreset?token=${input.get(0).replaceAll(' ', '%20')}&quot;&gt;link&lt;/a&gt;&lt;/p&gt;.
&lt;p&gt;If you did not request this reset, just ignore the present e-mail.&lt;/p&gt; &lt;p&gt;If you did not request this reset, just ignore the present e-mail.&lt;/p&gt;
...@@ -602,6 +620,18 @@ we are happy to inform you that the password request was execute successfully fo ...@@ -602,6 +620,18 @@ we are happy to inform you that the password request was execute successfully fo
<PlainSchema id="enactmentEnginePassword" cipherAlgorithm="AES" secretKey="enactmentEnginePassword" type="Encrypted" mandatoryCondition="false" <PlainSchema id="enactmentEnginePassword" cipherAlgorithm="AES" secretKey="enactmentEnginePassword" type="Encrypted" mandatoryCondition="false"
multivalue="0" readonly="0" uniqueConstraint="0" anyTypeClass_id="Enactment Engine"/> multivalue="0" readonly="0" uniqueConstraint="0" anyTypeClass_id="Enactment Engine"/>
<SyncopeSchema id="synthesisProcessorBaseURL"/>
<PlainSchema id="synthesisProcessorBaseURL" mandatoryCondition="true"
multivalue="0" readonly="0" type="String" uniqueConstraint="0" anyTypeClass_id="Synthesis Processor"/>
<SyncopeSchema id="synthesisProcessorUsername"/>
<PlainSchema id="synthesisProcessorUsername" mandatoryCondition="false"
multivalue="0" readonly="0" type="String" uniqueConstraint="0" anyTypeClass_id="Synthesis Processor"/>
<SyncopeSchema id="synthesisProcessorPassword"/>
<PlainSchema id="synthesisProcessorPassword" cipherAlgorithm="AES" secretKey="synthesisProcessorPassword" type="Encrypted" mandatoryCondition="false"
multivalue="0" readonly="0" uniqueConstraint="0" anyTypeClass_id="Synthesis Processor"/>
<SyncopeGroup id="0635553c-3f38-4a6d-b555-3c3f382a6ddb" name="ServiceProviderApprover" <SyncopeGroup id="0635553c-3f38-4a6d-b555-3c3f382a6ddb" name="ServiceProviderApprover"
realm_id="ea696a4f-e77a-4ef1-be67-8f8093bc8686" realm_id="ea696a4f-e77a-4ef1-be67-8f8093bc8686"
creator="admin" lastModifier="admin" creator="admin" lastModifier="admin"
...@@ -615,5 +645,9 @@ we are happy to inform you that the password request was execute successfully fo ...@@ -615,5 +645,9 @@ we are happy to inform you that the password request was execute successfully fo
creationDate="2016-08-12T12:52:23+0200" lastChangeDate="2016-08-12T12:52:23+0200" /> creationDate="2016-08-12T12:52:23+0200" lastChangeDate="2016-08-12T12:52:23+0200" />
<UDynGroupMembership id="bb03ac60-35de-4176-83ac-6035de417678" fiql="$roles==EndUser Approver" <UDynGroupMembership id="bb03ac60-35de-4176-83ac-6035de417678" fiql="$roles==EndUser Approver"
group_id="4b7fb23c-183a-4531-bfb2-3c183a453195"/> group_id="4b7fb23c-183a-4531-bfb2-3c183a453195"/>
<Task DTYPE="SchedTask" id="89de5014-e3f5-4462-84d8-d97575740baf" name="Access Token Cleanup Task" active="1"
jobDelegateClassName="org.apache.syncope.core.provisioning.java.job.ExpiredAccessTokenCleanup"
cronExpression="0 0/5 * * * ?"/>
<!-- [END] CHOReVOLUTION --> <!-- [END] CHOReVOLUTION -->
</dataset> </dataset>
...@@ -6,7 +6,7 @@ Licensed under the Apache License, Version 2.0 (the "License"); ...@@ -6,7 +6,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
...@@ -19,7 +19,7 @@ limitations under the License. ...@@ -19,7 +19,7 @@ limitations under the License.
<appenders> <appenders>
<RollingRandomAccessFile name="main" fileName="${log.directory}/core.log" <RollingRandomAccessFile name="mainFile" fileName="${log.directory}/core.log"
filePattern="${log.directory}/core-%d{yyyy-MM-dd}.log.gz" filePattern="${log.directory}/core-%d{yyyy-MM-dd}.log.gz"
immediateFlush="false" append="true"> immediateFlush="false" append="true">
<PatternLayout> <PatternLayout>
...@@ -30,8 +30,9 @@ limitations under the License. ...@@ -30,8 +30,9 @@ limitations under the License.
<SizeBasedTriggeringPolicy size="250 MB"/> <SizeBasedTriggeringPolicy size="250 MB"/>
</Policies> </Policies>
</RollingRandomAccessFile> </RollingRandomAccessFile>
<Memory name="main" size="25"/>
<RollingRandomAccessFile name="persistence" fileName="${log.directory}/core-persistence.log" <RollingRandomAccessFile name="persistenceFile" fileName="${log.directory}/core-persistence.log"
filePattern="${log.directory}/core-persistence-%d{yyyy-MM-dd}.log.gz" filePattern="${log.directory}/core-persistence-%d{yyyy-MM-dd}.log.gz"
immediateFlush="false" append="true"> immediateFlush="false" append="true">
<PatternLayout> <PatternLayout>
...@@ -42,8 +43,9 @@ limitations under the License. ...@@ -42,8 +43,9 @@ limitations under the License.
<SizeBasedTriggeringPolicy size="250 MB"/> <SizeBasedTriggeringPolicy size="250 MB"/>
</Policies> </Policies>
</RollingRandomAccessFile> </RollingRandomAccessFile>
<Memory name="persistence" size="25"/>
<RollingRandomAccessFile name="rest" fileName="${log.directory}/core-rest.log" <RollingRandomAccessFile name="restFile" fileName="${log.directory}/core-rest.log"
filePattern="${log.directory}/core-rest-%d{yyyy-MM-dd}.log.gz" filePattern="${log.directory}/core-rest-%d{yyyy-MM-dd}.log.gz"
immediateFlush="false" append="true"> immediateFlush="false" append="true">
<PatternLayout> <PatternLayout>
...@@ -54,8 +56,9 @@ limitations under the License. ...@@ -54,8 +56,9 @@ limitations under the License.
<SizeBasedTriggeringPolicy size="250 MB"/> <SizeBasedTriggeringPolicy size="250 MB"/>
</Policies> </Policies>
</RollingRandomAccessFile> </RollingRandomAccessFile>
<Memory name="rest" size="25"/>
<RollingRandomAccessFile name="connid" fileName="${log.directory}/core-connid.log" <RollingRandomAccessFile name="connidFile" fileName="${log.directory}/core-connid.log"
filePattern="${log.directory}/core-connid-%d{yyyy-MM-dd}.log.gz" filePattern="${log.directory}/core-connid-%d{yyyy-MM-dd}.log.gz"
immediateFlush="false" append="true"> immediateFlush="false" append="true">
<PatternLayout> <PatternLayout>
...@@ -66,64 +69,106 @@ limitations under the License. ...@@ -66,64 +69,106 @@ limitations under the License.
<SizeBasedTriggeringPolicy size="250 MB"/> <SizeBasedTriggeringPolicy size="250 MB"/>
</Policies> </Policies>
</RollingRandomAccessFile> </RollingRandomAccessFile>
<Memory name="connid" size="25"/>
</appenders> </appenders>
<loggers> <loggers>
<asyncLogger name="org.apache.syncope.core.persistence" additivity="false" level="INFO"> <asyncLogger name="org.apache.syncope.core.persistence" additivity="false" level="INFO">
<appender-ref ref="persistenceFile"/>
<appender-ref ref="persistence"/> <appender-ref ref="persistence"/>
</asyncLogger> </asyncLogger>
<asyncLogger name="org.springframework.orm" additivity="false" level="INFO"> <asyncLogger name="org.springframework.orm" additivity="false" level="INFO">
<appender-ref ref="persistenceFile"/>
<appender-ref ref="persistence"/>