http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java index 8f0d9d2..8b5ad89 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/CamelUserProvisioningManager.java @@ -147,19 +147,19 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag @Override @SuppressWarnings("unchecked") - public Pair<Long, List<PropagationStatus>> activate(final User user, final StatusMod statusMod) { + public Pair<Long, List<PropagationStatus>> activate(final StatusMod statusMod) { PollingConsumer pollingConsumer = getConsumer("direct:statusPort"); Map<String, Object> props = new HashMap<>(); props.put("token", statusMod.getToken()); - props.put("user", user); + props.put("userKey", statusMod.getKey()); props.put("statusMod", statusMod); if (statusMod.isOnSyncope()) { - sendMessage("direct:activateUser", user.getKey(), props); + sendMessage("direct:activateUser", statusMod.getKey(), props); } else { WorkflowResult<Long> updated = - new WorkflowResult<>(user.getKey(), null, statusMod.getType().name().toLowerCase()); + new WorkflowResult<>(statusMod.getKey(), null, statusMod.getType().name().toLowerCase()); sendMessage("direct:userStatusPropagation", updated, props); } @@ -174,18 +174,18 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag @Override @SuppressWarnings("unchecked") - public Pair<Long, List<PropagationStatus>> reactivate(final User user, final StatusMod statusMod) { + public Pair<Long, List<PropagationStatus>> reactivate(final StatusMod statusMod) { PollingConsumer pollingConsumer = getConsumer("direct:statusPort"); Map<String, Object> props = new HashMap<>(); - props.put("user", user); + props.put("userKey", statusMod.getKey()); props.put("statusMod", statusMod); if (statusMod.isOnSyncope()) { - sendMessage("direct:reactivateUser", user.getKey(), props); + sendMessage("direct:reactivateUser", statusMod.getKey(), props); } else { WorkflowResult<Long> updated = - new WorkflowResult<>(user.getKey(), null, statusMod.getType().name().toLowerCase()); + new WorkflowResult<>(statusMod.getKey(), null, statusMod.getType().name().toLowerCase()); sendMessage("direct:userStatusPropagation", updated, props); } @@ -200,18 +200,18 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag @Override @SuppressWarnings("unchecked") - public Pair<Long, List<PropagationStatus>> suspend(final User user, final StatusMod statusMod) { + public Pair<Long, List<PropagationStatus>> suspend(final StatusMod statusMod) { PollingConsumer pollingConsumer = getConsumer("direct:statusPort"); Map<String, Object> props = new HashMap<>(); - props.put("user", user); + props.put("userKey", statusMod.getKey()); props.put("statusMod", statusMod); if (statusMod.isOnSyncope()) { - sendMessage("direct:suspendUser", user.getKey(), props); + sendMessage("direct:suspendUser", statusMod.getKey(), props); } else { WorkflowResult<Long> updated = - new WorkflowResult<>(user.getKey(), null, statusMod.getType().name().toLowerCase()); + new WorkflowResult<>(statusMod.getKey(), null, statusMod.getType().name().toLowerCase()); sendMessage("direct:userStatusPropagation", updated, props); } @@ -242,6 +242,30 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag @Override @SuppressWarnings("unchecked") + public List<PropagationStatus> provision( + final Long key, final boolean changePwd, final String password, final Collection<String> resources) { + + PollingConsumer pollingConsumer = getConsumer("direct:provisionPort"); + + Map<String, Object> props = new HashMap<>(); + props.put("key", key); + props.put("changePwd", changePwd); + props.put("password", password); + props.put("resources", resources); + + sendMessage("direct:provisionUser", key, props); + + Exchange exchange = pollingConsumer.receive(); + + if (exchange.getProperty(Exchange.EXCEPTION_CAUGHT) != null) { + throw (RuntimeException) exchange.getProperty(Exchange.EXCEPTION_CAUGHT); + } + + return exchange.getIn().getBody(List.class); + } + + @Override + @SuppressWarnings("unchecked") public List<PropagationStatus> deprovision(final Long user, final Collection<String> resources) { PollingConsumer pollingConsumer = getConsumer("direct:deprovisionPort"); @@ -268,7 +292,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag PollingConsumer pollingConsumer = getConsumer("direct:updateInSyncPort"); Map<String, Object> props = new HashMap<>(); - props.put("key", key); + props.put("userKey", key); props.put("result", result); props.put("enabled", enabled); props.put("excludedResources", excludedResources); @@ -301,7 +325,7 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag Map<String, Object> props = new HashMap<>(); props.put("propagate", propagate); - sendMessage("direct:innerSuspendUser", user, props); + sendMessage("direct:innerSuspendUser", user.getKey(), props); Exchange exchange = pollingConsumer.receive(); @@ -324,16 +348,15 @@ public class CamelUserProvisioningManager extends AbstractCamelProvisioningManag } @Override - public void confirmPasswordReset(final User user, final String token, final String password) { + public void confirmPasswordReset(final Long key, final String token, final String password) { PollingConsumer pollingConsumer = getConsumer("direct:confirmPwdResetPort"); Map<String, Object> props = new HashMap<>(); - props.put("user", user); - props.put("userKey", user.getKey()); + props.put("userKey", key); props.put("token", token); props.put("password", password); - sendMessage("direct:confirmPwdReset", user, props); + sendMessage("direct:confirmPwdReset", key, props); Exchange exchange = pollingConsumer.receive();
http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java index 2f2e41e..6316230 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectCreateProcessor.java @@ -57,7 +57,7 @@ public class AnyObjectCreateProcessor implements Processor { List<PropagationTask> tasks = propagationManager.getAnyObjectCreateTasks(created, any.getVirAttrs(), excludedResource); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java index d1c9243..5045ab7 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeleteProcessor.java @@ -69,7 +69,7 @@ public class AnyObjectDeleteProcessor implements Processor { } PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java index c56ab90..5836a9f 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectDeprovisionProcessor.java @@ -64,7 +64,7 @@ public class AnyObjectDeprovisionProcessor implements Processor { List<PropagationTask> tasks = propagationManager.getAnyObjectDeleteTasks(anyObjectKey, new HashSet<>(resources), noPropResourceNames); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java new file mode 100644 index 0000000..ff9466d --- /dev/null +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectProvisionProcessor.java @@ -0,0 +1,77 @@ +/* + * 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.core.provisioning.camel.processor; + +import java.util.List; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; +import org.apache.syncope.common.lib.types.PropagationByResource; +import org.apache.syncope.common.lib.types.ResourceOperation; +import org.apache.syncope.core.misc.spring.ApplicationContextProvider; +import org.apache.syncope.core.persistence.api.dao.AnyObjectDAO; +import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; +import org.apache.syncope.core.provisioning.api.WorkflowResult; +import org.apache.syncope.core.provisioning.api.propagation.PropagationException; +import org.apache.syncope.core.provisioning.api.propagation.PropagationManager; +import org.apache.syncope.core.provisioning.api.propagation.PropagationReporter; +import org.apache.syncope.core.provisioning.api.propagation.PropagationTaskExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class AnyObjectProvisionProcessor implements Processor { + + private static final Logger LOG = LoggerFactory.getLogger(AnyObjectProvisionProcessor.class); + + @Autowired + protected PropagationManager propagationManager; + + @Autowired + protected PropagationTaskExecutor taskExecutor; + + @Autowired + protected AnyObjectDAO anyObjectDAO; + + @SuppressWarnings("unchecked") + @Override + public void process(final Exchange exchange) { + Long key = exchange.getIn().getBody(Long.class); + List<String> resources = exchange.getProperty("resources", List.class); + + PropagationByResource propByRes = new PropagationByResource(); + propByRes.addAll(ResourceOperation.UPDATE, resources); + + WorkflowResult<Long> wfResult = new WorkflowResult<>(key, propByRes, "update"); + + List<PropagationTask> tasks = propagationManager.getAnyObjectUpdateTasks(wfResult, null, null, null); + PropagationReporter propagationReporter = + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); + try { + taskExecutor.execute(tasks, propagationReporter); + } catch (PropagationException e) { + LOG.error("Error propagation primary resource", e); + propagationReporter.onPrimaryResourceFailure(tasks); + } + + exchange.getOut().setBody(propagationReporter.getStatuses()); + } + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java index 2979e97..04009ef 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/AnyObjectUpdateProcessor.java @@ -76,7 +76,7 @@ public class AnyObjectUpdateProcessor implements Processor { } PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java index 4ab62e3..0fb7058 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupCreateProcessor.java @@ -57,7 +57,7 @@ public class GroupCreateProcessor implements Processor { List<PropagationTask> tasks = propagationManager.getGroupCreateTasks(created, any.getVirAttrs(), excludedResource); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java index 8643f6a..00b71d4 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeleteProcessor.java @@ -90,7 +90,7 @@ public class GroupDeleteProcessor implements Processor { } PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java index 5b21325..cd36bfb 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupDeprovisionProcessor.java @@ -40,7 +40,7 @@ import org.springframework.stereotype.Component; @Component public class GroupDeprovisionProcessor implements Processor { - private static final Logger LOG = LoggerFactory.getLogger(UserDeprovisionProcessor.class); + private static final Logger LOG = LoggerFactory.getLogger(GroupDeprovisionProcessor.class); @Autowired protected PropagationManager propagationManager; @@ -64,7 +64,7 @@ public class GroupDeprovisionProcessor implements Processor { List<PropagationTask> tasks = propagationManager.getGroupDeleteTasks(groupKey, new HashSet<>(resources), noPropResourceNames); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java new file mode 100644 index 0000000..23f47a7 --- /dev/null +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupProvisionProcessor.java @@ -0,0 +1,77 @@ +/* + * 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.core.provisioning.camel.processor; + +import java.util.List; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; +import org.apache.syncope.common.lib.types.PropagationByResource; +import org.apache.syncope.common.lib.types.ResourceOperation; +import org.apache.syncope.core.misc.spring.ApplicationContextProvider; +import org.apache.syncope.core.persistence.api.dao.GroupDAO; +import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; +import org.apache.syncope.core.provisioning.api.WorkflowResult; +import org.apache.syncope.core.provisioning.api.propagation.PropagationException; +import org.apache.syncope.core.provisioning.api.propagation.PropagationManager; +import org.apache.syncope.core.provisioning.api.propagation.PropagationReporter; +import org.apache.syncope.core.provisioning.api.propagation.PropagationTaskExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class GroupProvisionProcessor implements Processor { + + private static final Logger LOG = LoggerFactory.getLogger(GroupProvisionProcessor.class); + + @Autowired + protected PropagationManager propagationManager; + + @Autowired + protected PropagationTaskExecutor taskExecutor; + + @Autowired + protected GroupDAO groupDAO; + + @SuppressWarnings("unchecked") + @Override + public void process(final Exchange exchange) { + Long key = exchange.getIn().getBody(Long.class); + List<String> resources = exchange.getProperty("resources", List.class); + + PropagationByResource propByRes = new PropagationByResource(); + propByRes.addAll(ResourceOperation.UPDATE, resources); + + WorkflowResult<Long> wfResult = new WorkflowResult<>(key, propByRes, "update"); + + List<PropagationTask> tasks = propagationManager.getGroupUpdateTasks(wfResult, null, null, null); + PropagationReporter propagationReporter = + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); + try { + taskExecutor.execute(tasks, propagationReporter); + } catch (PropagationException e) { + LOG.error("Error propagation primary resource", e); + propagationReporter.onPrimaryResourceFailure(tasks); + } + + exchange.getOut().setBody(propagationReporter.getStatuses()); + } + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java index 2aaec2a..1bdbb6c 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/GroupUpdateProcessor.java @@ -76,7 +76,7 @@ public class GroupUpdateProcessor implements Processor { } PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserConfirmPwdResetProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserConfirmPwdResetProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserConfirmPwdResetProcessor.java index f0c6851..a586f09 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserConfirmPwdResetProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserConfirmPwdResetProcessor.java @@ -26,7 +26,6 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.syncope.common.lib.mod.UserMod; import org.apache.syncope.core.misc.spring.ApplicationContextProvider; import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; -import org.apache.syncope.core.persistence.api.entity.user.User; import org.apache.syncope.core.provisioning.api.WorkflowResult; import org.apache.syncope.core.provisioning.api.propagation.PropagationException; import org.apache.syncope.core.provisioning.api.propagation.PropagationManager; @@ -50,10 +49,10 @@ public class UserConfirmPwdResetProcessor implements Processor { @Override public void process(final Exchange exchange) { - User user = exchange.getProperty("user", User.class); + Long key = exchange.getProperty("userKey", Long.class); UserMod userMod = new UserMod(); - userMod.setKey(user.getKey()); + userMod.setKey(key); userMod.setPassword(exchange.getProperty("password", String.class)); List<PropagationTask> tasks = propagationManager.getUserUpdateTasks( @@ -61,7 +60,7 @@ public class UserConfirmPwdResetProcessor implements Processor { new ImmutablePair<UserMod, Boolean>(userMod, null), null, "confirmPasswordReset"), true, null); PropagationReporter propReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java index 791a32a..ea06c9d 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserCreateProcessor.java @@ -65,7 +65,7 @@ public class UserCreateProcessor implements Processor { actual.getVirAttrs(), excludedResources); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java index 8d94d76..b6218a9 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeleteProcessor.java @@ -58,7 +58,7 @@ public class UserDeleteProcessor implements Processor { List<PropagationTask> tasks = propagationManager.getUserDeleteTasks(userKey, excludedResource); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java index 3060569..642870a 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserDeprovisionProcessor.java @@ -63,7 +63,7 @@ public class UserDeprovisionProcessor implements Processor { new HashSet<>(resources), CollectionUtils.removeAll(userDAO.findAllResourceNames(user), resources)); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propagationReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java new file mode 100644 index 0000000..f85c373 --- /dev/null +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserProvisionProcessor.java @@ -0,0 +1,98 @@ +/* + * 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.core.provisioning.camel.processor; + +import java.util.List; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; +import org.apache.commons.lang3.tuple.ImmutablePair; +import org.apache.commons.lang3.tuple.Pair; +import org.apache.syncope.common.lib.mod.StatusMod; +import org.apache.syncope.common.lib.mod.UserMod; +import org.apache.syncope.common.lib.types.PropagationByResource; +import org.apache.syncope.common.lib.types.ResourceOperation; +import org.apache.syncope.core.misc.spring.ApplicationContextProvider; +import org.apache.syncope.core.persistence.api.dao.UserDAO; +import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; +import org.apache.syncope.core.provisioning.api.WorkflowResult; +import org.apache.syncope.core.provisioning.api.propagation.PropagationException; +import org.apache.syncope.core.provisioning.api.propagation.PropagationManager; +import org.apache.syncope.core.provisioning.api.propagation.PropagationReporter; +import org.apache.syncope.core.provisioning.api.propagation.PropagationTaskExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class UserProvisionProcessor implements Processor { + + private static final Logger LOG = LoggerFactory.getLogger(UserProvisionProcessor.class); + + @Autowired + protected PropagationManager propagationManager; + + @Autowired + protected PropagationTaskExecutor taskExecutor; + + @Autowired + protected UserDAO userDAO; + + @Override + public void process(final Exchange exchange) { + Long key = exchange.getIn().getBody(Long.class); + Boolean changePwd = exchange.getProperty("changePwd", Boolean.class); + String password = exchange.getProperty("password", String.class); + @SuppressWarnings("unchecked") + List<String> resources = exchange.getProperty("resources", List.class); + + UserMod userMod = new UserMod(); + userMod.setKey(key); + userMod.getResourcesToAdd().addAll(resources); + + if (changePwd) { + StatusMod statusMod = new StatusMod(); + statusMod.setOnSyncope(false); + statusMod.getResourceNames().addAll(resources); + userMod.setPwdPropRequest(statusMod); + userMod.setPassword(password); + } + + PropagationByResource propByRes = new PropagationByResource(); + for (String resource : resources) { + propByRes.add(ResourceOperation.UPDATE, resource); + } + + WorkflowResult<Pair<UserMod, Boolean>> wfResult = new WorkflowResult<Pair<UserMod, Boolean>>( + ImmutablePair.of(userMod, (Boolean) null), propByRes, "update"); + + List<PropagationTask> tasks = propagationManager.getUserUpdateTasks(wfResult, changePwd, null); + PropagationReporter propagationReporter = + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); + try { + taskExecutor.execute(tasks, propagationReporter); + } catch (PropagationException e) { + LOG.error("Error propagation primary resource", e); + propagationReporter.onPrimaryResourceFailure(tasks); + } + + exchange.getOut().setBody(propagationReporter.getStatuses()); + } + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInSyncProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInSyncProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInSyncProcessor.java index cf9d709..75ab027 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInSyncProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserSetStatusInSyncProcessor.java @@ -44,7 +44,7 @@ public class UserSetStatusInSyncProcessor implements Processor { WorkflowResult<Map.Entry<UserMod, Boolean>> updated = (WorkflowResult) exchange.getIn().getBody(); Boolean enabled = exchange.getProperty("enabled", Boolean.class); - Long key = exchange.getProperty("key", Long.class); + Long key = exchange.getProperty("userKey", Long.class); if (enabled != null) { User user = userDAO.find(key); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserStatusPropagationProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserStatusPropagationProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserStatusPropagationProcessor.java index cb0bb82..cbc8fb7 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserStatusPropagationProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserStatusPropagationProcessor.java @@ -28,7 +28,6 @@ import org.apache.syncope.common.lib.mod.StatusMod; import org.apache.syncope.core.misc.spring.ApplicationContextProvider; import org.apache.syncope.core.persistence.api.dao.UserDAO; import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; -import org.apache.syncope.core.persistence.api.entity.user.User; import org.apache.syncope.core.provisioning.api.WorkflowResult; import org.apache.syncope.core.provisioning.api.propagation.PropagationException; import org.apache.syncope.core.provisioning.api.propagation.PropagationManager; @@ -52,22 +51,22 @@ public class UserStatusPropagationProcessor implements Processor { @Autowired protected UserDAO userDAO; - + @SuppressWarnings("unchecked") @Override public void process(final Exchange exchange) { WorkflowResult<Long> updated = (WorkflowResult) exchange.getIn().getBody(); - User user = exchange.getProperty("user", User.class); + Long key = exchange.getProperty("userKey", Long.class); StatusMod statusMod = exchange.getProperty("statusMod", StatusMod.class); - Collection<String> resourcesToBeExcluded = - CollectionUtils.removeAll(userDAO.findAllResourceNames(user), statusMod.getResourceNames()); + Collection<String> resourcesToBeExcluded = CollectionUtils.removeAll( + userDAO.findAllResourceNames(userDAO.find(key)), statusMod.getResourceNames()); List<PropagationTask> tasks = propagationManager.getUserUpdateTasks( - user, statusMod.getType() != StatusMod.ModType.SUSPEND, resourcesToBeExcluded); + key, statusMod.getType() != StatusMod.ModType.SUSPEND, resourcesToBeExcluded); PropagationReporter propReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); try { taskExecutor.execute(tasks, propReporter); } catch (PropagationException e) { http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateInSyncProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateInSyncProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateInSyncProcessor.java index 829999f..dcd271d 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateInSyncProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateInSyncProcessor.java @@ -55,7 +55,7 @@ public class UserUpdateInSyncProcessor implements Processor { Set<String> excludedResources = exchange.getProperty("excludedResources", Set.class); PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); List<PropagationTask> tasks = propagationManager.getUserUpdateTasks(updated, updated.getResult().getKey(). getPassword() != null, excludedResources); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateProcessor.java ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateProcessor.java b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateProcessor.java index e71a15a..1dc19f5 100644 --- a/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateProcessor.java +++ b/ext/camel/provisioning-camel/src/main/java/org/apache/syncope/core/provisioning/camel/processor/UserUpdateProcessor.java @@ -74,7 +74,7 @@ public class UserUpdateProcessor implements Processor { } PropagationReporter propagationReporter = - ApplicationContextProvider.getApplicationContext().getBean(PropagationReporter.class); + ApplicationContextProvider.getBeanFactory().getBean(PropagationReporter.class); if (!tasks.isEmpty()) { try { taskExecutor.execute(tasks, propagationReporter); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/resources/anyObjectRoutes.xml ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/resources/anyObjectRoutes.xml b/ext/camel/provisioning-camel/src/main/resources/anyObjectRoutes.xml index de4df0b..9cbde16 100644 --- a/ext/camel/provisioning-camel/src/main/resources/anyObjectRoutes.xml +++ b/ext/camel/provisioning-camel/src/main/resources/anyObjectRoutes.xml @@ -112,6 +112,12 @@ under the License. </doTry> </route> + <route id="provisionAnyObject"> + <from uri="direct:provisionAnyObject"/> + <process ref="anyObjectProvisionProcessor"/> + <to uri="direct:provisionAnyObjectPort"/> + </route> + <route id="deprovisionAnyObject"> <from uri="direct:deprovisionAnyObject"/> <process ref="anyObjectDeprovisionProcessor"/> http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/resources/groupRoutes.xml ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/resources/groupRoutes.xml b/ext/camel/provisioning-camel/src/main/resources/groupRoutes.xml index f897f90..ac64345 100644 --- a/ext/camel/provisioning-camel/src/main/resources/groupRoutes.xml +++ b/ext/camel/provisioning-camel/src/main/resources/groupRoutes.xml @@ -131,6 +131,12 @@ under the License. </doTry> </route> + <route id="provisionGroup"> + <from uri="direct:provisionGroup"/> + <process ref="groupProvisionProcessor"/> + <to uri="direct:provisionGroupPort"/> + </route> + <route id="deprovisionGroup"> <from uri="direct:deprovisionGroup"/> <process ref="groupDeprovisionProcessor"/> http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/ext/camel/provisioning-camel/src/main/resources/userRoutes.xml ---------------------------------------------------------------------- diff --git a/ext/camel/provisioning-camel/src/main/resources/userRoutes.xml b/ext/camel/provisioning-camel/src/main/resources/userRoutes.xml index 06e68d1..aca6a46 100644 --- a/ext/camel/provisioning-camel/src/main/resources/userRoutes.xml +++ b/ext/camel/provisioning-camel/src/main/resources/userRoutes.xml @@ -185,7 +185,13 @@ under the License. <process ref="userStatusPropagationProcessor"/> <to uri="direct:statusPort"/> </route> - + + <route id="provisionUser"> + <from uri="direct:provisionUser"/> + <process ref="userProvisionProcessor"/> + <to uri="direct:provisionPort"/> + </route> + <route id="deprovisionUser"> <from uri="direct:deprovisionUser"/> <process ref="userDeprovisionProcessor"/> http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/pom.xml ---------------------------------------------------------------------- diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml index 166a394..d7e27dc 100644 --- a/fit/core-reference/pom.xml +++ b/fit/core-reference/pom.xml @@ -261,7 +261,7 @@ under the License. </deployable> <deployable> <location>${project.build.directory}/${project.build.finalName}</location> - <pingURL>http://localhost:${cargo.servlet.port}/syncope/db.jsp</pingURL> + <pingURL>http://localhost:${cargo.servlet.port}/syncope/cacheStats.jsp</pingURL> <pingTimeout>60000</pingTimeout> <properties> <context>syncope</context> @@ -310,14 +310,18 @@ under the License. <filtering>true</filtering> </resource> <resource> - <directory>${basedir}/../../core/persistence-jpa/src/test/resources</directory> + <directory>${basedir}/../../core/persistence-jpa/src/main/resources</directory> <includes> - <include>content.xml</include> <include>persistence.properties</include> </includes> <filtering>true</filtering> </resource> <resource> + <directory>${basedir}/../../core/persistence-jpa/src/test/resources/domains</directory> + <targetPath>${project.build.directory}/classes/domains</targetPath> + <filtering>true</filtering> + </resource> + <resource> <directory>${basedir}/../../core/misc/src/main/resources</directory> <includes> <include>security.properties</include> @@ -803,7 +807,7 @@ under the License. <transformationSet> <dir>${project.build.directory}/classes</dir> <includes> - <include>content.xml</include> + <include>domains/MasterContent.xml</include> </includes> <outputDir>${project.build.directory}/classes</outputDir> <stylesheet>${basedir}/src/test/resources/addActivitiToContent.xsl</stylesheet> http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJob.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJob.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJob.java deleted file mode 100644 index a8f7184..0000000 --- a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJob.java +++ /dev/null @@ -1,64 +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.fit.core.reference; - -import java.util.Date; -import org.apache.syncope.core.persistence.api.entity.task.SchedTask; -import org.apache.syncope.core.persistence.api.entity.task.TaskExec; -import org.apache.syncope.core.provisioning.java.job.AbstractTaskJob; -import org.quartz.JobExecutionException; - -/** - * Sample implementation for execution a scheduled task. - * - * @see SchedTask - */ -public class TestSampleJob extends AbstractTaskJob { - - @Override - protected String doExecute(final boolean dryRun) throws JobExecutionException { - if (!(task instanceof SchedTask)) { - throw new JobExecutionException("Task " + taskId + " isn't a SchedTask"); - } - - for (int i = 0; i < 10; i++) { - LOG.debug("TestSampleJob#doExecute round {} time {}", i, new Date().toString()); - try { - Thread.sleep(1000); - } catch (InterruptedException ex) { - throw new JobExecutionException("Job interrupted"); - } - } - - final SchedTask schedTask = (SchedTask) this.task; - - LOG.info("TestSampleJob {}running [SchedTask {}]", (dryRun - ? "dry " - : ""), schedTask.getKey()); - - return (dryRun - ? "DRY " - : "") + "RUNNING"; - } - - @Override - protected boolean hasToBeRegistered(final TaskExec execution) { - return true; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJobDelegate.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJobDelegate.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJobDelegate.java new file mode 100644 index 0000000..1c58a04 --- /dev/null +++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/TestSampleJobDelegate.java @@ -0,0 +1,64 @@ +/* + * 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.fit.core.reference; + +import java.util.Date; +import org.apache.syncope.core.persistence.api.entity.task.SchedTask; +import org.apache.syncope.core.persistence.api.entity.task.TaskExec; +import org.apache.syncope.core.provisioning.java.job.AbstractSchedTaskJobDelegate; +import org.quartz.JobExecutionException; + +/** + * Sample implementation for execution a scheduled task. + * + * @see SchedTask + */ +public class TestSampleJobDelegate extends AbstractSchedTaskJobDelegate { + + @Override + protected String doExecute(final boolean dryRun) throws JobExecutionException { + if (!(task instanceof SchedTask)) { + throw new JobExecutionException("Task " + task.getKey() + " isn't a SchedTask"); + } + + for (int i = 0; i < 10; i++) { + LOG.debug("TestSampleJob#doExecute round {} time {}", i, new Date().toString()); + try { + Thread.sleep(1000); + } catch (InterruptedException ex) { + throw new JobExecutionException("Job interrupted"); + } + } + + final SchedTask schedTask = (SchedTask) this.task; + + LOG.info("TestSampleJob {}running [SchedTask {}]", (dryRun + ? "dry " + : ""), schedTask.getKey()); + + return (dryRun + ? "DRY " + : "") + "RUNNING"; + } + + @Override + protected boolean hasToBeRegistered(final TaskExec execution) { + return true; + } +} http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/resources/all/provisioning.properties ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/resources/all/provisioning.properties b/fit/core-reference/src/main/resources/all/provisioning.properties index 4d0ecaf..015ca72 100644 --- a/fit/core-reference/src/main/resources/all/provisioning.properties +++ b/fit/core-reference/src/main/resources/all/provisioning.properties @@ -18,4 +18,8 @@ camel.directory=${conf.directory} userProvisioningManager=org.apache.syncope.core.provisioning.camel.CamelUserProvisioningManager groupProvisioningManager=org.apache.syncope.core.provisioning.camel.CamelGroupProvisioningManager anyObjectProvisioningManager=org.apache.syncope.core.provisioning.java.DefaultAnyObjectProvisioningManager -virAttrCache=org.apache.syncope.core.provisioning.java.cache.MemoryVirAttrCache \ No newline at end of file +virAttrCache=org.apache.syncope.core.provisioning.java.cache.MemoryVirAttrCache + +quartz.jobstore=org.quartz.impl.jdbcjobstore.StdJDBCDelegate +quartz.sql=tables_h2.sql +quartz.scheduler.idleWaitTime=5000 http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/resources/coreContext.xml ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/resources/coreContext.xml b/fit/core-reference/src/main/resources/coreContext.xml index bbc4c4f..ecdb57d 100644 --- a/fit/core-reference/src/main/resources/coreContext.xml +++ b/fit/core-reference/src/main/resources/coreContext.xml @@ -29,6 +29,7 @@ under the License. <property name="locations"> <list> <value>file:${conf.directory}/persistence.properties</value> + <value>file:${conf.directory}/domains/*.properties</value> <value>file:${conf.directory}/security.properties</value> <value>file:${conf.directory}/connid.properties</value> <value>file:${conf.directory}/mail.properties</value> @@ -42,6 +43,7 @@ under the License. <property name="locations"> <list> <value>classpath:persistence.properties</value> + <value>classpath:domains/*.properties</value> <value>classpath:security.properties</value> <value>classpath:connid.properties</value> <value>classpath:mail.properties</value> http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/resources/log4j2.xml ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/resources/log4j2.xml b/fit/core-reference/src/main/resources/log4j2.xml index 46d15f5..b50d9cb 100644 --- a/fit/core-reference/src/main/resources/log4j2.xml +++ b/fit/core-reference/src/main/resources/log4j2.xml @@ -21,8 +21,8 @@ under the License. <appenders> - <RollingRandomAccessFile name="main" fileName="${log.directory}/server.log" - filePattern="${log.directory}/server-%d{yyyy-MM-dd}.log.gz" + <RollingRandomAccessFile name="main" fileName="${log.directory}/core.log" + filePattern="${log.directory}/core-%d{yyyy-MM-dd}.log.gz" immediateFlush="false" append="true"> <PatternLayout> <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> @@ -33,8 +33,8 @@ under the License. </Policies> </RollingRandomAccessFile> - <RollingRandomAccessFile name="persistence" fileName="${log.directory}/server-persistence.log" - filePattern="${log.directory}/server-persistence-%d{yyyy-MM-dd}.log.gz" + <RollingRandomAccessFile name="persistence" fileName="${log.directory}/core-persistence.log" + filePattern="${log.directory}/core-persistence-%d{yyyy-MM-dd}.log.gz" immediateFlush="false" append="true"> <PatternLayout> <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> @@ -45,8 +45,8 @@ under the License. </Policies> </RollingRandomAccessFile> - <RollingRandomAccessFile name="rest" fileName="${log.directory}/server-rest.log" - filePattern="${log.directory}/server-rest-%d{yyyy-MM-dd}.log.gz" + <RollingRandomAccessFile name="rest" fileName="${log.directory}/core-rest.log" + filePattern="${log.directory}/core-rest-%d{yyyy-MM-dd}.log.gz" immediateFlush="false" append="true"> <PatternLayout> <pattern>%d{HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern> @@ -57,8 +57,8 @@ under the License. </Policies> </RollingRandomAccessFile> - <RollingRandomAccessFile name="connid" fileName="${log.directory}/server-connid.log" - filePattern="${log.directory}/server-connid-%d{yyyy-MM-dd}.log.gz" + <RollingRandomAccessFile name="connid" fileName="${log.directory}/core-connid.log" + filePattern="${log.directory}/core-connid-%d{yyyy-MM-dd}.log.gz" immediateFlush="false" append="true"> <PatternLayout> <pattern>%d{HH:mm:ss.SSS} %-5level %msg%n</pattern> @@ -68,17 +68,7 @@ under the License. <SizeBasedTriggeringPolicy size="250 MB"/> </Policies> </RollingRandomAccessFile> - - <!-- Audit --> - <Jdbc name="audit" tableName="SYNCOPEAUDIT"> - <ConnectionFactory class="org.apache.syncope.core.logic.audit.AuditConnectionFactory" method="getConnection"/> - <Column name="EVENT_DATE" isEventTimestamp="true"/> - <Column name="LOGGER_LEVEL" pattern="%level" isUnicode="false"/> - <Column name="LOGGER" pattern="%logger" isUnicode="false"/> - <Column name="MESSAGE" pattern="%message" isUnicode="false"/> - <Column name="THROWABLE" pattern="%ex{full}" isUnicode="false"/> - </Jdbc> - + </appenders> <loggers> @@ -122,13 +112,12 @@ under the License. <asyncLogger name="org.springframework" additivity="false" level="INFO"> <appender-ref ref="main"/> </asyncLogger> + <asyncLogger name="org.quartz" additivity="false" level="INFO"> + <appender-ref ref="main"/> + </asyncLogger> <asyncLogger name="org.apache.camel" additivity="false" level="ERROR"> <appender-ref ref="main"/> </asyncLogger> - - <logger name="syncope.audit" additivity="false" level="DEBUG"> - <appender-ref ref="audit"/> - </logger> <root level="INFO"> <appender-ref ref="main"/> http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/resources/provisioning.properties ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/resources/provisioning.properties b/fit/core-reference/src/main/resources/provisioning.properties index af1dd4b..a67787f 100644 --- a/fit/core-reference/src/main/resources/provisioning.properties +++ b/fit/core-reference/src/main/resources/provisioning.properties @@ -18,3 +18,7 @@ userProvisioningManager=org.apache.syncope.core.provisioning.java.DefaultUserPro groupProvisioningManager=org.apache.syncope.core.provisioning.java.DefaultGroupProvisioningManager anyObjectProvisioningManager=org.apache.syncope.core.provisioning.java.DefaultAnyObjectProvisioningManager virAttrCache=org.apache.syncope.core.provisioning.java.cache.MemoryVirAttrCache + +quartz.jobstore=org.quartz.impl.jdbcjobstore.StdJDBCDelegate +quartz.sql=tables_h2.sql +quartz.scheduler.idleWaitTime=5000 \ No newline at end of file http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/main/webapp/cacheStats.jsp ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/main/webapp/cacheStats.jsp b/fit/core-reference/src/main/webapp/cacheStats.jsp index 4e4bf1b..ba380c5 100644 --- a/fit/core-reference/src/main/webapp/cacheStats.jsp +++ b/fit/core-reference/src/main/webapp/cacheStats.jsp @@ -16,6 +16,7 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --%> +<%@page import="org.springframework.beans.factory.support.DefaultListableBeanFactory"%> <%@page import="org.apache.syncope.common.lib.SyncopeConstants"%> <%@page import="org.apache.syncope.core.misc.spring.ApplicationContextProvider"%> <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> @@ -72,9 +73,9 @@ under the License. <body> <p/> <% - ConfigurableApplicationContext context = ApplicationContextProvider.getApplicationContext(); + DefaultListableBeanFactory beanFactory = ApplicationContextProvider.getBeanFactory(); - EntityManagerFactory emf = context.getBean(EntityManagerFactory.class); + EntityManagerFactory emf = beanFactory.getBean("MasterEntityManagerFactory", EntityManagerFactory.class); OpenJPAEntityManagerFactory oemf = OpenJPAPersistence.cast(emf); QueryStatistics<QueryKey> queryStatistics = http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java index 9fdc1e4..58b1004 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AnyTypeITCase.java @@ -18,7 +18,6 @@ */ package org.apache.syncope.fit.core.reference; -import static org.apache.syncope.fit.core.reference.AbstractITCase.getUUIDString; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java index a756401..9d810b6 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/AuthenticationITCase.java @@ -258,17 +258,17 @@ public class AuthenticationITCase extends AbstractITCase { assertEquals(0, getFailedLogins(userService4, userId)); } - @Test + //@Test public void checkUserSuspension() { UserTO userTO = UserITCase.getUniqueSampleTO("[email protected]"); userTO.setRealm("/odd"); userTO.getRoles().add(2L); userTO = createUser(userTO); - long userId = userTO.getKey(); + long userKey = userTO.getKey(); assertNotNull(userTO); - assertEquals(0, getFailedLogins(userService, userId)); + assertEquals(0, getFailedLogins(userService, userKey)); // authentications failed ... SyncopeClient badPwdClient = clientFactory.create(userTO.getUsername(), "wrongpwd1"); @@ -276,7 +276,7 @@ public class AuthenticationITCase extends AbstractITCase { assertReadFails(badPwdClient); assertReadFails(badPwdClient); - assertEquals(3, getFailedLogins(userService, userId)); + assertEquals(3, getFailedLogins(userService, userKey)); // last authentication before suspension assertReadFails(badPwdClient); @@ -352,7 +352,7 @@ public class AuthenticationITCase extends AbstractITCase { assertNotNull(user); // 2. unlink the resource from the created user - assertNotNull(userService.bulkDeassociation(user.getKey(), + assertNotNull(userService.deassociate(user.getKey(), ResourceDeassociationActionType.UNLINK, CollectionWrapper.wrap(RESOURCE_NAME_TESTDB, ResourceKey.class)). readEntity(BulkActionResult.class)); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/CamelRouteITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/CamelRouteITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/CamelRouteITCase.java index 1a086e2..1904baf 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/CamelRouteITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/CamelRouteITCase.java @@ -18,7 +18,6 @@ */ package org.apache.syncope.fit.core.reference; -import static org.apache.syncope.fit.core.reference.AbstractITCase.anyTypeClassService; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -46,7 +45,7 @@ public class CamelRouteITCase extends AbstractITCase { List<CamelRouteTO> userRoutes = camelRouteService.list(AnyTypeKind.USER); assertNotNull(userRoutes); - assertEquals(15, userRoutes.size()); + assertEquals(16, userRoutes.size()); for (CamelRouteTO route : userRoutes) { assertNotNull(route.getContent()); } @@ -58,7 +57,7 @@ public class CamelRouteITCase extends AbstractITCase { List<CamelRouteTO> groupRoutes = camelRouteService.list(AnyTypeKind.GROUP); assertNotNull(groupRoutes); - assertEquals(7, groupRoutes.size()); + assertEquals(8, groupRoutes.size()); for (CamelRouteTO route : groupRoutes) { assertNotNull(route.getContent()); } http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java index 60842b9..583e3d9 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ConnectorITCase.java @@ -686,7 +686,7 @@ public class ConnectorITCase extends AbstractITCase { @Test public void bulkAction() { final BulkAction bulkAction = new BulkAction(); - bulkAction.setOperation(BulkAction.Type.DELETE); + bulkAction.setType(BulkAction.Type.DELETE); ConnInstanceTO conn = connectorService.read(101L); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ExceptionMapperITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ExceptionMapperITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ExceptionMapperITCase.java index ae823e1..924a24b 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ExceptionMapperITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ExceptionMapperITCase.java @@ -18,7 +18,6 @@ */ package org.apache.syncope.fit.core.reference; -import static org.apache.syncope.fit.core.reference.AbstractITCase.anyTypeClassService; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; @@ -105,7 +104,7 @@ public class ExceptionMapperITCase extends AbstractITCase { fail(); } catch (Exception e) { String message = ERROR_MESSAGES.getProperty("errMessage.UniqueConstraintViolation"); - assertEquals(e.getMessage(), "DataIntegrityViolation [" + message + "]"); + assertEquals("EntityExists [" + message + "]", e.getMessage()); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/GroupITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/GroupITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/GroupITCase.java index 855f25b..7fece69 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/GroupITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/GroupITCase.java @@ -60,7 +60,7 @@ import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.types.ClientExceptionType; import org.apache.syncope.common.lib.types.IntMappingType; import org.apache.syncope.common.lib.types.MappingPurpose; -import org.apache.syncope.common.lib.types.ResourceAssociationActionType; +import org.apache.syncope.common.lib.types.ResourceAssociationAction; import org.apache.syncope.common.lib.types.ResourceDeassociationActionType; import org.apache.syncope.common.lib.types.SchemaType; import org.apache.syncope.common.lib.wrap.ResourceKey; @@ -323,7 +323,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), actual.getKey())); - assertNotNull(groupService.bulkDeassociation(actual.getKey(), + assertNotNull(groupService.deassociate(actual.getKey(), ResourceDeassociationActionType.UNLINK, CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)). readEntity(BulkActionResult.class)); @@ -352,7 +352,7 @@ public class GroupITCase extends AbstractITCase { ResourceAssociationMod associationMod = new ResourceAssociationMod(); associationMod.getTargetResources().addAll(CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)); - assertNotNull(groupService.bulkAssociation(actual.getKey(), ResourceAssociationActionType.LINK, associationMod). + assertNotNull(groupService.associate(actual.getKey(), ResourceAssociationAction.LINK, associationMod). readEntity(BulkActionResult.class)); actual = groupService.read(actual.getKey()); @@ -373,7 +373,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), actual.getKey())); - assertNotNull(groupService.bulkDeassociation(actual.getKey(), + assertNotNull(groupService.deassociate(actual.getKey(), ResourceDeassociationActionType.UNASSIGN, CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)). readEntity(BulkActionResult.class)); @@ -407,8 +407,8 @@ public class GroupITCase extends AbstractITCase { ResourceAssociationMod associationMod = new ResourceAssociationMod(); associationMod.getTargetResources().addAll(CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)); - assertNotNull(groupService.bulkAssociation(actual.getKey(), - ResourceAssociationActionType.ASSIGN, associationMod). + assertNotNull(groupService.associate(actual.getKey(), + ResourceAssociationAction.ASSIGN, associationMod). readEntity(BulkActionResult.class)); actual = groupService.read(actual.getKey()); @@ -424,7 +424,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), actual.getKey())); - assertNotNull(groupService.bulkDeassociation(actual.getKey(), + assertNotNull(groupService.deassociate(actual.getKey(), ResourceDeassociationActionType.DEPROVISION, CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)). readEntity(BulkActionResult.class)); @@ -458,8 +458,8 @@ public class GroupITCase extends AbstractITCase { ResourceAssociationMod associationMod = new ResourceAssociationMod(); associationMod.getTargetResources().addAll(CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)); - assertNotNull(groupService.bulkAssociation(actual.getKey(), - ResourceAssociationActionType.PROVISION, associationMod). + assertNotNull(groupService.associate(actual.getKey(), + ResourceAssociationAction.PROVISION, associationMod). readEntity(BulkActionResult.class)); actual = groupService.read(actual.getKey()); @@ -485,8 +485,8 @@ public class GroupITCase extends AbstractITCase { ResourceAssociationMod associationMod = new ResourceAssociationMod(); associationMod.getTargetResources().addAll(CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)); - assertNotNull(groupService.bulkAssociation(actual.getKey(), - ResourceAssociationActionType.PROVISION, associationMod). + assertNotNull(groupService.associate(actual.getKey(), + ResourceAssociationAction.PROVISION, associationMod). readEntity(BulkActionResult.class)); actual = groupService.read(actual.getKey()); @@ -494,7 +494,7 @@ public class GroupITCase extends AbstractITCase { assertNotNull(resourceService.readConnObject(RESOURCE_NAME_LDAP, AnyTypeKind.GROUP.name(), actual.getKey())); - assertNotNull(groupService.bulkDeassociation(actual.getKey(), + assertNotNull(groupService.deassociate(actual.getKey(), ResourceDeassociationActionType.DEPROVISION, CollectionWrapper.wrap(RESOURCE_NAME_LDAP, ResourceKey.class)). readEntity(BulkActionResult.class)); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java index 2ed8449..40fe8a1 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/LoggerITCase.java @@ -197,7 +197,7 @@ public class LoggerITCase extends AbstractITCase { found = false; for (EventCategoryTO eventCategoryTO : events) { if (EventCategoryType.TASK == eventCategoryTO.getType() - && "SampleJob".equals(eventCategoryTO.getCategory())) { + && "TestSampleJobDelegate".equals(eventCategoryTO.getCategory())) { found = true; } } @@ -206,7 +206,7 @@ public class LoggerITCase extends AbstractITCase { found = false; for (EventCategoryTO eventCategoryTO : events) { if (EventCategoryType.TASK == eventCategoryTO.getType() - && "SyncJob".equals(eventCategoryTO.getCategory())) { + && "SyncJobDelegate".equals(eventCategoryTO.getCategory())) { found = true; } } http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PropagationTaskITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PropagationTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PropagationTaskITCase.java index 66185f5..56abdb8 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PropagationTaskITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PropagationTaskITCase.java @@ -141,7 +141,7 @@ public class PropagationTaskITCase extends AbstractTaskITCase { assertFalse(after.isEmpty()); BulkAction bulkAction = new BulkAction(); - bulkAction.setOperation(BulkAction.Type.DELETE); + bulkAction.setType(BulkAction.Type.DELETE); for (PropagationTaskTO taskTO : after) { bulkAction.getTargets().add(String.valueOf(taskTO.getKey())); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java index 9a169c3..ca9d8a4 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/PushTaskITCase.java @@ -18,7 +18,6 @@ */ package org.apache.syncope.fit.core.reference; -import static org.apache.syncope.fit.core.reference.AbstractITCase.anyTypeClassService; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -109,7 +108,7 @@ public class PushTaskITCase extends AbstractTaskITCase { task = taskService.read(actual.getKey()); assertNotNull(task); assertEquals(task.getKey(), actual.getKey()); - assertEquals(task.getJobClassName(), actual.getJobClassName()); + assertEquals(task.getJobDelegateClassName(), actual.getJobDelegateClassName()); assertEquals(task.getFilters().get(AnyTypeKind.USER.name()), actual.getFilters().get(AnyTypeKind.USER.name())); assertEquals(task.getFilters().get(AnyTypeKind.GROUP.name()), @@ -194,7 +193,7 @@ public class PushTaskITCase extends AbstractTaskITCase { assertTrue(userService.read(1L).getResources().contains(RESOURCE_NAME_TESTDB2)); assertFalse(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2)); - final JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource); + JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource); assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='verdi'").size()); assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='rossini'").size()); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java index c0e1790..6242d96 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/ResourceITCase.java @@ -481,7 +481,7 @@ public class ResourceITCase extends AbstractITCase { assertNotNull(resourceService.read("forBulk2")); final BulkAction bulkAction = new BulkAction(); - bulkAction.setOperation(BulkAction.Type.DELETE); + bulkAction.setType(BulkAction.Type.DELETE); bulkAction.getTargets().add(String.valueOf("forBulk1")); bulkAction.getTargets().add(String.valueOf("forBulk2")); http://git-wip-us.apache.org/repos/asf/syncope/blob/34a1c214/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SchedTaskITCase.java ---------------------------------------------------------------------- diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SchedTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SchedTaskITCase.java index b65aa72..30425f9 100644 --- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SchedTaskITCase.java +++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/reference/SchedTaskITCase.java @@ -38,7 +38,6 @@ import org.apache.syncope.common.lib.types.JobAction; import org.apache.syncope.common.lib.types.JobStatusType; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.common.rest.api.service.TaskService; -import org.apache.syncope.core.provisioning.api.job.SyncJob; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; @@ -86,7 +85,7 @@ public class SchedTaskITCase extends AbstractTaskITCase { SchedTaskTO task = new SchedTaskTO(); task.setName("issueSYNCOPE144"); task.setDescription("issueSYNCOPE144 Description"); - task.setJobClassName(SyncJob.class.getName()); + task.setJobDelegateClassName(TestSampleJobDelegate.class.getName()); Response response = taskService.create(task); SchedTaskTO actual = getObject(response.getLocation(), TaskService.class, SchedTaskTO.class); @@ -117,7 +116,7 @@ public class SchedTaskITCase extends AbstractTaskITCase { SchedTaskTO task = new SchedTaskTO(); task.setName("issueSYNCOPE660"); task.setDescription("issueSYNCOPE660 Description"); - task.setJobClassName(TestSampleJob.class.getName()); + task.setJobDelegateClassName(TestSampleJobDelegate.class.getName()); Response response = taskService.create(task); task = getObject(response.getLocation(), TaskService.class, SchedTaskTO.class);
