http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Notify.java ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Notify.java b/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Notify.java deleted file mode 100644 index 3c2bd86..0000000 --- a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Notify.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * 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 - * - * 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. - */ -package org.apache.syncope.workflow.activiti.task; - -import org.apache.commons.lang3.StringUtils; -import org.apache.syncope.common.lib.to.UserTO; -import org.apache.syncope.common.lib.types.AuditElements; -import org.apache.syncope.server.persistence.api.entity.user.User; -import org.apache.syncope.server.provisioning.api.notification.NotificationManager; -import org.apache.syncope.workflow.activiti.ActivitiUserWorkflowAdapter; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * General-purpose notification task for usage within workflow. - * It requires a pre-existing <tt>Notification</tt> with category <tt>CUSTOM</tt> and result <tt>SUCCESS</tt>. - * An <tt>event</tt> workflow variable needs to be provided as well. - */ -@Component -public class Notify extends AbstractActivitiServiceTask { - - @Autowired - private NotificationManager notificationManager; - - @Override - protected void doExecute(final String executionId) { - User user = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.SYNCOPE_USER, User.class); - UserTO userTO = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.USER_TO, UserTO.class); - String event = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.EVENT, String.class); - - if (StringUtils.isNotBlank(event)) { - notificationManager.createTasks( - AuditElements.EventCategoryType.CUSTOM, - null, - null, - event, - AuditElements.Result.SUCCESS, - userTO, - null, - user.getToken()); - } else { - LOG.debug("Not sending any notification since no event was found"); - } - } - -}
http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/PasswordReset.java ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/PasswordReset.java b/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/PasswordReset.java deleted file mode 100644 index 7b9e4be..0000000 --- a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/PasswordReset.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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 - * - * 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. - */ -package org.apache.syncope.workflow.activiti.task; - -import org.apache.syncope.server.persistence.api.entity.user.User; -import org.apache.syncope.server.workflow.api.WorkflowException; -import org.apache.syncope.workflow.activiti.ActivitiUserWorkflowAdapter; -import org.springframework.stereotype.Component; - -@Component -public class PasswordReset extends AbstractActivitiServiceTask { - - @Override - protected void doExecute(final String executionId) { - User user = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.SYNCOPE_USER, User.class); - String token = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.TOKEN, String.class); - String password = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.PASSWORD, String.class); - - if (!user.checkToken(token)) { - throw new WorkflowException(new IllegalArgumentException("Wrong token: " + token + " for " + user)); - } - - user.removeToken(); - user.setPassword(password, user.getCipherAlgorithm()); - runtimeService.setVariable(executionId, ActivitiUserWorkflowAdapter.SYNCOPE_USER, user); - } - -} http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Reactivate.java ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Reactivate.java b/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Reactivate.java deleted file mode 100644 index 6d105ba..0000000 --- a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Reactivate.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * 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 - * - * 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. - */ -package org.apache.syncope.workflow.activiti.task; - -import org.springframework.stereotype.Component; - -@Component -public class Reactivate extends AbstractActivitiServiceTask { - - @Override - protected void doExecute(final String executionId) { - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Suspend.java ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Suspend.java b/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Suspend.java deleted file mode 100644 index 24a7bdd..0000000 --- a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Suspend.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * 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 - * - * 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. - */ -package org.apache.syncope.workflow.activiti.task; - -import org.springframework.stereotype.Component; - -@Component -public class Suspend extends AbstractActivitiServiceTask { - - @Override - protected void doExecute(final String executionId) { - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Update.java ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Update.java b/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Update.java deleted file mode 100644 index 15d1b3f..0000000 --- a/syncope620/server/workflow-activiti/src/main/java/org/apache/syncope/workflow/activiti/task/Update.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 - * - * 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. - */ -package org.apache.syncope.workflow.activiti.task; - -import org.apache.commons.lang3.SerializationUtils; -import org.apache.syncope.common.lib.mod.UserMod; -import org.apache.syncope.common.lib.types.PropagationByResource; -import org.apache.syncope.server.persistence.api.entity.user.User; -import org.apache.syncope.server.provisioning.api.data.UserDataBinder; -import org.apache.syncope.workflow.activiti.ActivitiUserWorkflowAdapter; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Component -public class Update extends AbstractActivitiServiceTask { - - @Autowired - private UserDataBinder dataBinder; - - @Override - protected void doExecute(final String executionId) { - User user = runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.SYNCOPE_USER, User.class); - UserMod userMod = - runtimeService.getVariable(executionId, ActivitiUserWorkflowAdapter.USER_MOD, UserMod.class); - - // update password internally only if required - UserMod actualMod = SerializationUtils.clone(userMod); - if (actualMod.getPwdPropRequest() != null && !actualMod.getPwdPropRequest().isOnSyncope()) { - actualMod.setPassword(null); - } - // update SyncopeUser - PropagationByResource propByRes = dataBinder.update(user, actualMod); - - // report updated user and propagation by resource as result - runtimeService.setVariable(executionId, ActivitiUserWorkflowAdapter.SYNCOPE_USER, user); - runtimeService.setVariable(executionId, ActivitiUserWorkflowAdapter.PROP_BY_RESOURCE, propByRes); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/resources/workflow.properties ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/resources/workflow.properties b/syncope620/server/workflow-activiti/src/main/resources/workflow.properties new file mode 100644 index 0000000..0cad37e --- /dev/null +++ b/syncope620/server/workflow-activiti/src/main/resources/workflow.properties @@ -0,0 +1,20 @@ +# 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 +# +# 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. +wf.directory=${conf.directory} +jobExecutorActivate=true +uwfAdapter=org.apache.syncope.server.workflow.activiti.ActivitiUserWorkflowAdapter +rwfAdapter=org.apache.syncope.server.workflow.java.DefaultRoleWorkflowAdapter \ No newline at end of file http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-activiti/src/main/resources/workflowActivitiContext.xml ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-activiti/src/main/resources/workflowActivitiContext.xml b/syncope620/server/workflow-activiti/src/main/resources/workflowActivitiContext.xml index 463c2c7..41670fb 100644 --- a/syncope620/server/workflow-activiti/src/main/resources/workflowActivitiContext.xml +++ b/syncope620/server/workflow-activiti/src/main/resources/workflowActivitiContext.xml @@ -26,12 +26,12 @@ under the License. http://www.springframework.org/schema/context/spring-context.xsd"> <bean id="userWorkflowDef" class="org.apache.syncope.server.misc.spring.ResourceWithFallbackLoader"> - <property name="primary" value="file:${conf.directory}/userWorkflow.bpmn20.xml"/> + <property name="primary" value="file:${wf.directory}/userWorkflow.bpmn20.xml"/> <property name="fallback" value="classpath:userWorkflow.bpmn20.xml"/> </bean> - <bean id="syncopeActivitiUserManager" class="org.apache.syncope.workflow.activiti.SyncopeUserManager"/> - <bean id="syncopeActivitiGroupManager" class="org.apache.syncope.workflow.activiti.SyncopeGroupManager"/> + <bean id="syncopeActivitiUserManager" class="org.apache.syncope.server.workflow.activiti.SyncopeUserManager"/> + <bean id="syncopeActivitiGroupManager" class="org.apache.syncope.server.workflow.activiti.SyncopeGroupManager"/> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource"/> @@ -47,17 +47,17 @@ under the License. <property name="customSessionFactories"> <list> - <bean class="org.apache.syncope.workflow.activiti.SyncopeSessionFactory"> + <bean class="org.apache.syncope.server.workflow.activiti.SyncopeSessionFactory"> <property name="syncopeSession" ref="syncopeActivitiUserManager"/> </bean> - <bean class="org.apache.syncope.workflow.activiti.SyncopeSessionFactory"> + <bean class="org.apache.syncope.server.workflow.activiti.SyncopeSessionFactory"> <property name="syncopeSession" ref="syncopeActivitiGroupManager"/> </bean> </list> </property> <property name="customPreVariableTypes"> <list> - <bean class="org.apache.syncope.workflow.activiti.SyncopeEntitiesVariableType"/> + <bean class="org.apache.syncope.server.workflow.activiti.SyncopeEntitiesVariableType"/> </list> </property> </bean> @@ -74,6 +74,6 @@ under the License. <bean id="identityService" factory-bean="processEngine" factory-method="getIdentityService"/> <bean id="formService" factory-bean="processEngine" factory-method="getFormService"/> - <context:component-scan base-package="org.apache.syncope.workflow.activiti"/> + <context:component-scan base-package="org.apache.syncope.server.workflow.activiti"/> </beans> http://git-wip-us.apache.org/repos/asf/syncope/blob/1327b2a4/syncope620/server/workflow-java/src/main/resources/workflow.properties ---------------------------------------------------------------------- diff --git a/syncope620/server/workflow-java/src/main/resources/workflow.properties b/syncope620/server/workflow-java/src/main/resources/workflow.properties index a72e766..2c08d50 100644 --- a/syncope620/server/workflow-java/src/main/resources/workflow.properties +++ b/syncope620/server/workflow-java/src/main/resources/workflow.properties @@ -14,5 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. +wf.directory=${conf.directory} +jobExecutorActivate=false uwfAdapter=org.apache.syncope.server.workflow.java.DefaultUserWorkflowAdapter rwfAdapter=org.apache.syncope.server.workflow.java.DefaultRoleWorkflowAdapter \ No newline at end of file
