http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java index 582cd18..c9ef66a 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPATaskDAO.java @@ -33,7 +33,7 @@ import org.apache.syncope.core.persistence.jpa.entity.task.JPANotificationTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPAPropagationTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPAPushTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPASchedTask; -import org.apache.syncope.core.persistence.jpa.entity.task.JPASyncTask; +import org.apache.syncope.core.persistence.jpa.entity.task.JPAPullTask; import org.apache.syncope.core.persistence.jpa.entity.task.AbstractTask; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; @@ -63,8 +63,8 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO { result = JPASchedTask.class; break; - case SYNCHRONIZATION: - result = JPASyncTask.class; + case PULL: + result = JPAPullTask.class; break; default: @@ -116,7 +116,7 @@ public class JPATaskDAO extends AbstractDAO<Task, Long> implements TaskDAO { final Long anyTypeKey) { if (resource != null - && type != TaskType.PROPAGATION && type != TaskType.PUSH && type != TaskType.SYNCHRONIZATION) { + && type != TaskType.PROPAGATION && type != TaskType.PUSH && type != TaskType.PULL) { throw new IllegalArgumentException(type + " is not related to " + ExternalResource.class.getSimpleName()); }
http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java index 5c8cc59..881f509 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAEntityFactory.java @@ -19,7 +19,7 @@ package org.apache.syncope.core.persistence.jpa.entity; import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPasswordPolicy; -import org.apache.syncope.core.persistence.jpa.entity.policy.JPASyncPolicy; +import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPullPolicy; import org.apache.syncope.core.persistence.jpa.entity.policy.JPAAccountPolicy; import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPushPolicy; import org.apache.syncope.core.persistence.jpa.entity.user.JPADynRoleMembership; @@ -49,7 +49,6 @@ import org.apache.syncope.core.persistence.api.entity.Report; import org.apache.syncope.core.persistence.api.entity.ReportExec; import org.apache.syncope.core.persistence.api.entity.ReportTemplate; import org.apache.syncope.core.persistence.api.entity.Role; -import org.apache.syncope.core.persistence.api.entity.policy.SyncPolicy; import org.apache.syncope.core.persistence.api.entity.VirSchema; import org.apache.syncope.core.persistence.api.entity.anyobject.ADynGroupMembership; import org.apache.syncope.core.persistence.api.entity.anyobject.AMembership; @@ -70,13 +69,11 @@ import org.apache.syncope.core.persistence.api.entity.group.TypeExtension; import org.apache.syncope.core.persistence.api.entity.resource.Mapping; import org.apache.syncope.core.persistence.api.entity.resource.MappingItem; import org.apache.syncope.core.persistence.api.entity.resource.Provision; -import org.apache.syncope.core.persistence.api.entity.task.AnyTemplateSyncTask; import org.apache.syncope.core.persistence.api.entity.task.NotificationTask; import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; import org.apache.syncope.core.persistence.api.entity.task.PushTask; import org.apache.syncope.core.persistence.api.entity.task.PushTaskAnyFilter; import org.apache.syncope.core.persistence.api.entity.task.SchedTask; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; import org.apache.syncope.core.persistence.api.entity.task.TaskExec; import org.apache.syncope.core.persistence.api.entity.user.SecurityQuestion; import org.apache.syncope.core.persistence.api.entity.user.UDynGroupMembership; @@ -106,12 +103,12 @@ import org.apache.syncope.core.persistence.jpa.entity.resource.JPAMapping; import org.apache.syncope.core.persistence.jpa.entity.resource.JPAMappingItem; import org.apache.syncope.core.persistence.jpa.entity.resource.JPAProvision; import org.apache.syncope.core.persistence.jpa.entity.task.JPAPushTaskAnyFilter; -import org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplateSyncTask; +import org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplatePullTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPANotificationTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPAPropagationTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPAPushTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPASchedTask; -import org.apache.syncope.core.persistence.jpa.entity.task.JPASyncTask; +import org.apache.syncope.core.persistence.jpa.entity.task.JPAPullTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPATaskExec; import org.apache.syncope.core.persistence.jpa.entity.user.JPAUDynGroupMembership; import org.apache.syncope.core.persistence.jpa.entity.user.JPAUMembership; @@ -121,6 +118,9 @@ import org.apache.syncope.core.persistence.jpa.entity.user.JPAUPlainAttrValue; import org.apache.syncope.core.persistence.jpa.entity.user.JPAURelationship; import org.apache.syncope.core.persistence.jpa.entity.user.JPAUser; import org.springframework.stereotype.Component; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; +import org.apache.syncope.core.persistence.api.entity.task.AnyTemplatePullTask; +import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy; @Component public class JPAEntityFactory implements EntityFactory { @@ -142,8 +142,8 @@ public class JPAEntityFactory implements EntityFactory { result = (T) new JPAPasswordPolicy(); } else if (reference.equals(PushPolicy.class)) { result = (T) new JPAPushPolicy(); - } else if (reference.equals(SyncPolicy.class)) { - result = (T) new JPASyncPolicy(); + } else if (reference.equals(PullPolicy.class)) { + result = (T) new JPAPullPolicy(); } else if (reference.equals(AnyTypeClass.class)) { result = (T) new JPAAnyTypeClass(); } else if (reference.equals(AnyType.class)) { @@ -228,16 +228,16 @@ public class JPAEntityFactory implements EntityFactory { result = (T) new JPAPropagationTask(); } else if (reference.equals(PushTask.class)) { result = (T) new JPAPushTask(); - } else if (reference.equals(SyncTask.class)) { - result = (T) new JPASyncTask(); + } else if (reference.equals(PullTask.class)) { + result = (T) new JPAPullTask(); } else if (reference.equals(SchedTask.class)) { result = (T) new JPASchedTask(); } else if (reference.equals(TaskExec.class)) { result = (T) new JPATaskExec(); } else if (reference.equals(PushTaskAnyFilter.class)) { result = (T) new JPAPushTaskAnyFilter(); - } else if (reference.equals(AnyTemplateSyncTask.class)) { - result = (T) new JPAAnyTemplateSyncTask(); + } else if (reference.equals(AnyTemplatePullTask.class)) { + result = (T) new JPAAnyTemplatePullTask(); } else if (reference.equals(SecurityQuestion.class)) { result = (T) new JPASecurityQuestion(); } else if (reference.equals(Logger.class)) { http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPullPolicy.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPullPolicy.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPullPolicy.java new file mode 100644 index 0000000..c408b43 --- /dev/null +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPAPullPolicy.java @@ -0,0 +1,54 @@ +/* + * 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.persistence.jpa.entity.policy; + +import javax.persistence.Entity; +import javax.persistence.Lob; +import javax.persistence.Table; +import org.apache.syncope.common.lib.policy.PullPolicySpec; +import org.apache.syncope.common.lib.types.PolicyType; +import org.apache.syncope.core.provisioning.api.serialization.POJOHelper; +import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy; + +@Entity +@Table(name = JPAPullPolicy.TABLE) +public class JPAPullPolicy extends AbstractPolicy implements PullPolicy { + + private static final long serialVersionUID = -6090413855809521279L; + + public static final String TABLE = "PullPolicy"; + + @Lob + private String specification; + + public JPAPullPolicy() { + super(); + this.type = PolicyType.PULL; + } + + @Override + public PullPolicySpec getSpecification() { + return POJOHelper.deserialize(specification, PullPolicySpec.class); + } + + @Override + public void setSpecification(final PullPolicySpec policy) { + this.specification = POJOHelper.serialize(policy); + } +} http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPASyncPolicy.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPASyncPolicy.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPASyncPolicy.java deleted file mode 100644 index 9d2a518..0000000 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/policy/JPASyncPolicy.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.core.persistence.jpa.entity.policy; - -import javax.persistence.Entity; -import javax.persistence.Lob; -import javax.persistence.Table; -import org.apache.syncope.common.lib.policy.SyncPolicySpec; -import org.apache.syncope.common.lib.types.PolicyType; -import org.apache.syncope.core.provisioning.api.serialization.POJOHelper; -import org.apache.syncope.core.persistence.api.entity.policy.SyncPolicy; - -@Entity -@Table(name = JPASyncPolicy.TABLE) -public class JPASyncPolicy extends AbstractPolicy implements SyncPolicy { - - private static final long serialVersionUID = -6090413855809521279L; - - public static final String TABLE = "SyncPolicy"; - - @Lob - private String specification; - - public JPASyncPolicy() { - super(); - this.type = PolicyType.SYNC; - } - - @Override - public SyncPolicySpec getSpecification() { - return POJOHelper.deserialize(specification, SyncPolicySpec.class); - } - - @Override - public void setSpecification(final SyncPolicySpec policy) { - this.specification = POJOHelper.serialize(policy); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java index 5900f68..e4158ea 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/resource/JPAExternalResource.java @@ -50,7 +50,6 @@ import org.apache.syncope.common.lib.types.TraceLevel; import org.apache.syncope.core.persistence.api.entity.policy.AccountPolicy; import org.apache.syncope.core.persistence.api.entity.ConnInstance; import org.apache.syncope.core.persistence.api.entity.policy.PasswordPolicy; -import org.apache.syncope.core.persistence.api.entity.policy.SyncPolicy; import org.apache.syncope.core.persistence.jpa.validation.entity.ExternalResourceCheck; import org.apache.syncope.core.provisioning.api.serialization.POJOHelper; import org.apache.syncope.core.persistence.api.entity.AnyType; @@ -60,11 +59,12 @@ import org.apache.syncope.core.persistence.jpa.entity.AbstractAnnotatedEntity; import org.apache.syncope.core.persistence.jpa.entity.policy.JPAAccountPolicy; import org.apache.syncope.core.persistence.jpa.entity.JPAConnInstance; import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPasswordPolicy; -import org.apache.syncope.core.persistence.jpa.entity.policy.JPASyncPolicy; +import org.apache.syncope.core.persistence.jpa.entity.policy.JPAPullPolicy; import org.identityconnectors.framework.common.objects.ObjectClass; +import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy; /** - * Resource for propagation and synchronization. + * Resource for propagation and pull. */ @Entity @Table(name = JPAExternalResource.TABLE) @@ -128,7 +128,7 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme @Enumerated(EnumType.STRING) @NotNull - private TraceLevel syncTraceLevel; + private TraceLevel pullTraceLevel; @ManyToOne(fetch = FetchType.EAGER) private JPAPasswordPolicy passwordPolicy; @@ -137,7 +137,7 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme private JPAAccountPolicy accountPolicy; @ManyToOne(fetch = FetchType.EAGER) - private JPASyncPolicy syncPolicy; + private JPAPullPolicy pullPolicy; /** * Configuration properties that are overridden from the connector instance. @@ -180,7 +180,7 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme createTraceLevel = TraceLevel.FAILURES; updateTraceLevel = TraceLevel.FAILURES; deleteTraceLevel = TraceLevel.FAILURES; - syncTraceLevel = TraceLevel.FAILURES; + pullTraceLevel = TraceLevel.FAILURES; } @Override @@ -301,13 +301,13 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme } @Override - public TraceLevel getSyncTraceLevel() { - return syncTraceLevel; + public TraceLevel getPullTraceLevel() { + return pullTraceLevel; } @Override - public void setSyncTraceLevel(final TraceLevel syncTraceLevel) { - this.syncTraceLevel = syncTraceLevel; + public void setPullTraceLevel(final TraceLevel pullTraceLevel) { + this.pullTraceLevel = pullTraceLevel; } @Override @@ -333,14 +333,14 @@ public class JPAExternalResource extends AbstractAnnotatedEntity<String> impleme } @Override - public SyncPolicy getSyncPolicy() { - return syncPolicy; + public PullPolicy getPullPolicy() { + return pullPolicy; } @Override - public void setSyncPolicy(final SyncPolicy syncPolicy) { - checkType(syncPolicy, JPASyncPolicy.class); - this.syncPolicy = (JPASyncPolicy) syncPolicy; + public void setPullPolicy(final PullPolicy pullPolicy) { + checkType(pullPolicy, JPAPullPolicy.class); + this.pullPolicy = (JPAPullPolicy) pullPolicy; } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractProvisioningTask.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractProvisioningTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractProvisioningTask.java index 463408e..b2e2b61 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractProvisioningTask.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/AbstractProvisioningTask.java @@ -41,7 +41,7 @@ public abstract class AbstractProvisioningTask extends JPASchedTask implements P private static final long serialVersionUID = -4141057723006682562L; /** - * ExternalResource to which the sync happens. + * ExternalResource to which pull happens. */ @ManyToOne private JPAExternalResource resource; @@ -64,7 +64,7 @@ public abstract class AbstractProvisioningTask extends JPASchedTask implements P @Basic @Min(0) @Max(1) - private Integer syncStatus; + private Integer pullStatus; /** * @see UnmatchingRule @@ -89,7 +89,7 @@ public abstract class AbstractProvisioningTask extends JPASchedTask implements P @Override public void setJobDelegateClassName(final String jobClassName) { - // fixed to SyncJob, cannot be changed + // fixed to PullJob, cannot be changed } @Override @@ -137,13 +137,13 @@ public abstract class AbstractProvisioningTask extends JPASchedTask implements P } @Override - public boolean isSyncStatus() { - return isBooleanAsInteger(syncStatus); + public boolean isPullStatus() { + return isBooleanAsInteger(pullStatus); } @Override - public void setSyncStatus(final boolean syncStatus) { - this.syncStatus = getBooleanAsInteger(syncStatus); + public void setPullStatus(final boolean pullStatus) { + this.pullStatus = getBooleanAsInteger(pullStatus); } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java new file mode 100644 index 0000000..66e37ff --- /dev/null +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplatePullTask.java @@ -0,0 +1,61 @@ +/* + * 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.persistence.jpa.entity.task; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.ManyToOne; +import javax.persistence.Table; +import javax.persistence.UniqueConstraint; +import org.apache.syncope.core.persistence.jpa.entity.resource.AbstractAnyTemplate; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; +import org.apache.syncope.core.persistence.api.entity.task.AnyTemplatePullTask; + +@Entity +@Table(name = JPAAnyTemplatePullTask.TABLE, uniqueConstraints = + @UniqueConstraint(columnNames = { "pullTask_id", "anyType_name" })) +public class JPAAnyTemplatePullTask extends AbstractAnyTemplate implements AnyTemplatePullTask { + + private static final long serialVersionUID = 3517381731849788407L; + + public static final String TABLE = "AnyTemplatePullTask"; + + @Id + private Long id; + + @ManyToOne + private JPAPullTask pullTask; + + @Override + public Long getKey() { + return id; + } + + @Override + public PullTask getPullTask() { + return pullTask; + } + + @Override + public void setPullTask(final PullTask pullTask) { + checkType(pullTask, JPAPullTask.class); + this.pullTask = (JPAPullTask) pullTask; + } + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplateSyncTask.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplateSyncTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplateSyncTask.java deleted file mode 100644 index 3b23342..0000000 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAAnyTemplateSyncTask.java +++ /dev/null @@ -1,61 +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.core.persistence.jpa.entity.task; - -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import javax.persistence.UniqueConstraint; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; -import org.apache.syncope.core.persistence.api.entity.task.AnyTemplateSyncTask; -import org.apache.syncope.core.persistence.jpa.entity.resource.AbstractAnyTemplate; - -@Entity -@Table(name = JPAAnyTemplateSyncTask.TABLE, uniqueConstraints = - @UniqueConstraint(columnNames = { "syncTask_id", "anyType_name" })) -public class JPAAnyTemplateSyncTask extends AbstractAnyTemplate implements AnyTemplateSyncTask { - - private static final long serialVersionUID = 3517381731849788407L; - - public static final String TABLE = "AnyTemplateSyncTask"; - - @Id - private Long id; - - @ManyToOne - private JPASyncTask syncTask; - - @Override - public Long getKey() { - return id; - } - - @Override - public SyncTask getSyncTask() { - return syncTask; - } - - @Override - public void setSyncTask(final SyncTask syncTask) { - checkType(syncTask, JPASyncTask.class); - this.syncTask = (JPASyncTask) syncTask; - } - -} http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java new file mode 100644 index 0000000..e97b3c6 --- /dev/null +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPullTask.java @@ -0,0 +1,139 @@ +/* + * 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.persistence.jpa.entity.task; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.CollectionTable; +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.ElementCollection; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.FetchType; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.validation.constraints.NotNull; +import org.apache.commons.collections4.IterableUtils; +import org.apache.commons.collections4.Predicate; +import org.apache.syncope.common.lib.types.PullMode; +import org.apache.syncope.common.lib.types.TaskType; +import org.apache.syncope.core.persistence.api.entity.AnyType; +import org.apache.syncope.core.persistence.api.entity.Realm; +import org.apache.syncope.core.persistence.api.entity.AnyTemplate; +import org.apache.syncope.core.persistence.jpa.entity.JPARealm; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; +import org.apache.syncope.core.persistence.api.entity.task.AnyTemplatePullTask; + +@Entity +@DiscriminatorValue("PullTask") +public class JPAPullTask extends AbstractProvisioningTask implements PullTask { + + private static final long serialVersionUID = -4141057723006682563L; + + @Enumerated(EnumType.STRING) + @NotNull + private PullMode pullMode; + + private String reconciliationFilterBuilderClassName; + + @ManyToOne(fetch = FetchType.EAGER, optional = false) + private JPARealm destinationRealm; + + @ElementCollection(fetch = FetchType.EAGER) + @Column(name = "actionClassName") + @CollectionTable(name = "PullTask_actionsClassNames", + joinColumns = + @JoinColumn(name = "pullTask_id", referencedColumnName = "id")) + private Set<String> actionsClassNames = new HashSet<>(); + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "pullTask") + private List<JPAAnyTemplatePullTask> templates = new ArrayList<>(); + + /** + * Default constructor. + */ + public JPAPullTask() { + super(TaskType.PULL, null); + } + + @Override + public PullMode getPullMode() { + return pullMode; + } + + @Override + public void setPullMode(final PullMode pullMode) { + this.pullMode = pullMode; + } + + @Override + public String getReconciliationFilterBuilderClassName() { + return reconciliationFilterBuilderClassName; + } + + @Override + public void setReconciliationFilterBuilderClassName(final String reconciliationFilterBuilderClassName) { + this.reconciliationFilterBuilderClassName = reconciliationFilterBuilderClassName; + } + + @Override + public Realm getDestinatioRealm() { + return destinationRealm; + } + + @Override + public void setDestinationRealm(final Realm destinationRealm) { + checkType(destinationRealm, JPARealm.class); + this.destinationRealm = (JPARealm) destinationRealm; + } + + @Override + public Set<String> getActionsClassNames() { + return actionsClassNames; + } + + @Override + public boolean add(final AnyTemplatePullTask template) { + checkType(template, JPAAnyTemplatePullTask.class); + return this.templates.add((JPAAnyTemplatePullTask) template); + } + + @Override + public AnyTemplatePullTask getTemplate(final AnyType anyType) { + return IterableUtils.find(templates, new Predicate<AnyTemplate>() { + + @Override + public boolean evaluate(final AnyTemplate template) { + return anyType != null && anyType.equals(template.getAnyType()); + } + }); + } + + @Override + public List<? extends AnyTemplatePullTask> getTemplates() { + return templates; + } + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java index 5a310ba..6051f1e 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPAPushTaskAnyFilter.java @@ -62,9 +62,9 @@ public class JPAPushTaskAnyFilter extends AbstractEntity<Long> implements PushTa } @Override - public void setPushTask(final PushTask syncTask) { - checkType(syncTask, JPAPushTask.class); - this.pushTask = (JPAPushTask) syncTask; + public void setPushTask(final PushTask pushTask) { + checkType(pushTask, JPAPushTask.class); + this.pushTask = (JPAPushTask) pushTask; } @Override http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASyncTask.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASyncTask.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASyncTask.java deleted file mode 100644 index 30b654e..0000000 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPASyncTask.java +++ /dev/null @@ -1,139 +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.core.persistence.jpa.entity.task; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import javax.persistence.CascadeType; -import javax.persistence.CollectionTable; -import javax.persistence.Column; -import javax.persistence.DiscriminatorValue; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.FetchType; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; -import javax.validation.constraints.NotNull; -import org.apache.commons.collections4.IterableUtils; -import org.apache.commons.collections4.Predicate; -import org.apache.syncope.common.lib.types.SyncMode; -import org.apache.syncope.common.lib.types.TaskType; -import org.apache.syncope.core.persistence.api.entity.AnyType; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; -import org.apache.syncope.core.persistence.api.entity.Realm; -import org.apache.syncope.core.persistence.api.entity.AnyTemplate; -import org.apache.syncope.core.persistence.api.entity.task.AnyTemplateSyncTask; -import org.apache.syncope.core.persistence.jpa.entity.JPARealm; - -@Entity -@DiscriminatorValue("SyncTask") -public class JPASyncTask extends AbstractProvisioningTask implements SyncTask { - - private static final long serialVersionUID = -4141057723006682563L; - - @Enumerated(EnumType.STRING) - @NotNull - private SyncMode syncMode; - - private String reconciliationFilterBuilderClassName; - - @ManyToOne(fetch = FetchType.EAGER, optional = false) - private JPARealm destinationRealm; - - @ElementCollection(fetch = FetchType.EAGER) - @Column(name = "actionClassName") - @CollectionTable(name = "SyncTask_actionsClassNames", - joinColumns = - @JoinColumn(name = "syncTask_id", referencedColumnName = "id")) - private Set<String> actionsClassNames = new HashSet<>(); - - @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER, mappedBy = "syncTask") - private List<JPAAnyTemplateSyncTask> templates = new ArrayList<>(); - - /** - * Default constructor. - */ - public JPASyncTask() { - super(TaskType.SYNCHRONIZATION, null); - } - - @Override - public SyncMode getSyncMode() { - return syncMode; - } - - @Override - public void setSyncMode(final SyncMode syncMode) { - this.syncMode = syncMode; - } - - @Override - public String getReconciliationFilterBuilderClassName() { - return reconciliationFilterBuilderClassName; - } - - @Override - public void setReconciliationFilterBuilderClassName(final String reconciliationFilterBuilderClassName) { - this.reconciliationFilterBuilderClassName = reconciliationFilterBuilderClassName; - } - - @Override - public Realm getDestinatioRealm() { - return destinationRealm; - } - - @Override - public void setDestinationRealm(final Realm destinationRealm) { - checkType(destinationRealm, JPARealm.class); - this.destinationRealm = (JPARealm) destinationRealm; - } - - @Override - public Set<String> getActionsClassNames() { - return actionsClassNames; - } - - @Override - public boolean add(final AnyTemplateSyncTask template) { - checkType(template, JPAAnyTemplateSyncTask.class); - return this.templates.add((JPAAnyTemplateSyncTask) template); - } - - @Override - public AnyTemplateSyncTask getTemplate(final AnyType anyType) { - return IterableUtils.find(templates, new Predicate<AnyTemplate>() { - - @Override - public boolean evaluate(final AnyTemplate template) { - return anyType != null && anyType.equals(template.getAnyType()); - } - }); - } - - @Override - public List<? extends AnyTemplateSyncTask> getTemplates() { - return templates; - } - -} http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtils.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtils.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtils.java index 484af1e..0905533 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtils.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtils.java @@ -23,15 +23,15 @@ import org.apache.syncope.common.lib.to.NotificationTaskTO; import org.apache.syncope.common.lib.to.PropagationTaskTO; import org.apache.syncope.common.lib.to.PushTaskTO; import org.apache.syncope.common.lib.to.SchedTaskTO; -import org.apache.syncope.common.lib.to.SyncTaskTO; +import org.apache.syncope.common.lib.to.PullTaskTO; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.core.persistence.api.entity.task.NotificationTask; import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; import org.apache.syncope.core.persistence.api.entity.task.PushTask; import org.apache.syncope.core.persistence.api.entity.task.SchedTask; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; import org.apache.syncope.core.persistence.api.entity.task.Task; import org.apache.syncope.core.persistence.api.entity.task.TaskUtils; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; @SuppressWarnings("unchecked") public final class JPATaskUtils implements TaskUtils { @@ -60,8 +60,8 @@ public final class JPATaskUtils implements TaskUtils { result = (Class<T>) SchedTask.class; break; - case SYNCHRONIZATION: - result = (Class<T>) SyncTask.class; + case PULL: + result = (Class<T>) PullTask.class; break; case PUSH: @@ -91,8 +91,8 @@ public final class JPATaskUtils implements TaskUtils { result = (T) new JPASchedTask(); break; - case SYNCHRONIZATION: - result = (T) new JPASyncTask(); + case PULL: + result = (T) new JPAPullTask(); break; case PUSH: @@ -122,8 +122,8 @@ public final class JPATaskUtils implements TaskUtils { result = (Class<T>) SchedTaskTO.class; break; - case SYNCHRONIZATION: - result = (Class<T>) SyncTaskTO.class; + case PULL: + result = (Class<T>) PullTaskTO.class; break; case PUSH: http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtilsFactory.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtilsFactory.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtilsFactory.java index 26a1d4f..a26debd 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtilsFactory.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/task/JPATaskUtilsFactory.java @@ -23,17 +23,17 @@ import org.apache.syncope.common.lib.to.NotificationTaskTO; import org.apache.syncope.common.lib.to.PropagationTaskTO; import org.apache.syncope.common.lib.to.PushTaskTO; import org.apache.syncope.common.lib.to.SchedTaskTO; -import org.apache.syncope.common.lib.to.SyncTaskTO; +import org.apache.syncope.common.lib.to.PullTaskTO; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.core.persistence.api.entity.task.NotificationTask; import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; import org.apache.syncope.core.persistence.api.entity.task.PushTask; import org.apache.syncope.core.persistence.api.entity.task.SchedTask; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; import org.apache.syncope.core.persistence.api.entity.task.Task; import org.apache.syncope.core.persistence.api.entity.task.TaskUtils; import org.apache.syncope.core.persistence.api.entity.task.TaskUtilsFactory; import org.springframework.stereotype.Component; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; @Component public class JPATaskUtilsFactory implements TaskUtilsFactory { @@ -46,8 +46,8 @@ public class JPATaskUtilsFactory implements TaskUtilsFactory { @Override public TaskUtils getInstance(final Task task) { TaskType type; - if (task instanceof SyncTask) { - type = TaskType.SYNCHRONIZATION; + if (task instanceof PullTask) { + type = TaskType.PULL; } else if (task instanceof PushTask) { type = TaskType.PUSH; } else if (task instanceof SchedTask) { @@ -72,8 +72,8 @@ public class JPATaskUtilsFactory implements TaskUtilsFactory { type = TaskType.NOTIFICATION; } else if (taskClass == SchedTaskTO.class) { type = TaskType.SCHEDULED; - } else if (taskClass == SyncTaskTO.class) { - type = TaskType.SYNCHRONIZATION; + } else if (taskClass == PullTaskTO.class) { + type = TaskType.PULL; } else if (taskClass == PushTaskTO.class) { type = TaskType.PUSH; } else { http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskCheck.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskCheck.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskCheck.java index a48f4c6..e5c053c 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskCheck.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskCheck.java @@ -33,7 +33,7 @@ import javax.validation.Payload; @Documented public @interface ProvisioningTaskCheck { - String message() default "{org.apache.syncope.core.persistence.validation.abstractsynctask}"; + String message() default "{org.apache.syncope.core.persistence.validation.provisioningtask}"; Class<?>[] groups() default {}; http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskValidator.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskValidator.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskValidator.java index da90bd4..ef20ace 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskValidator.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/validation/entity/ProvisioningTaskValidator.java @@ -20,14 +20,14 @@ package org.apache.syncope.core.persistence.jpa.validation.entity; import javax.validation.ConstraintValidatorContext; import org.apache.syncope.common.lib.types.EntityViolationType; -import org.apache.syncope.common.lib.types.SyncMode; +import org.apache.syncope.common.lib.types.PullMode; import org.apache.syncope.core.persistence.api.entity.task.ProvisioningTask; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; import org.apache.syncope.core.persistence.jpa.entity.task.JPAPushTask; -import org.apache.syncope.core.persistence.jpa.entity.task.JPASyncTask; -import org.apache.syncope.core.provisioning.api.syncpull.PushActions; -import org.apache.syncope.core.provisioning.api.syncpull.SyncActions; -import org.apache.syncope.core.provisioning.api.syncpull.ReconciliationFilterBuilder; +import org.apache.syncope.core.persistence.jpa.entity.task.JPAPullTask; +import org.apache.syncope.core.provisioning.api.pushpull.PushActions; +import org.apache.syncope.core.provisioning.api.pushpull.ReconciliationFilterBuilder; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; +import org.apache.syncope.core.provisioning.api.pushpull.PullActions; public class ProvisioningTaskValidator extends AbstractValidator<ProvisioningTaskCheck, ProvisioningTask> { @@ -60,14 +60,14 @@ public class ProvisioningTaskValidator extends AbstractValidator<ProvisioningTas boolean isAssignable = false; try { actionsClass = Class.forName(className); - isAssignable = task instanceof JPASyncTask - ? SyncActions.class.isAssignableFrom(actionsClass) + isAssignable = task instanceof JPAPullTask + ? PullActions.class.isAssignableFrom(actionsClass) : task instanceof JPAPushTask ? PushActions.class.isAssignableFrom(actionsClass) : false; } catch (Exception e) { LOG.error("Invalid {} / {} specified", - PushActions.class.getName(), SyncActions.class.getName(), e); + PushActions.class.getName(), PullActions.class.getName(), e); isValid = false; } @@ -82,17 +82,17 @@ public class ProvisioningTaskValidator extends AbstractValidator<ProvisioningTas } } - if (isValid && task instanceof SyncTask - && ((SyncTask) task).getSyncMode() == SyncMode.FILTERED_RECONCILIATION) { + if (isValid && task instanceof PullTask + && ((PullTask) task).getPullMode() == PullMode.FILTERED_RECONCILIATION) { Class<?> filterBuilderClass = null; boolean isAssignable = false; try { - filterBuilderClass = Class.forName(((SyncTask) task).getReconciliationFilterBuilderClassName()); + filterBuilderClass = Class.forName(((PullTask) task).getReconciliationFilterBuilderClassName()); isAssignable = ReconciliationFilterBuilder.class.isAssignableFrom(filterBuilderClass); } catch (Exception e) { LOG.error("Invalid {} specified", - ReconciliationFilterBuilder.class.getName(), SyncActions.class.getName(), e); + ReconciliationFilterBuilder.class.getName(), PullActions.class.getName(), e); isValid = false; } http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/resources/META-INF/spring-orm-oracle.xml ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/resources/META-INF/spring-orm-oracle.xml b/core/persistence-jpa/src/main/resources/META-INF/spring-orm-oracle.xml index 72fadcd..42cb116 100644 --- a/core/persistence-jpa/src/main/resources/META-INF/spring-orm-oracle.xml +++ b/core/persistence-jpa/src/main/resources/META-INF/spring-orm-oracle.xml @@ -320,11 +320,11 @@ under the License. </attributes> </entity> - <entity class="org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplateSyncTask"> + <entity class="org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplatePullTask"> <attributes> <id name="id"> - <generated-value generator="SEQ_AnyTemplateSyncTask" strategy="TABLE"/> - <table-generator name="SEQ_AnyTemplateSyncTask" pk-column-value="SEQ_AnyTemplateSyncTask" initial-value="1000"/> + <generated-value generator="SEQ_AnyTemplatePullTask" strategy="TABLE"/> + <table-generator name="SEQ_AnyTemplatePullTask" pk-column-value="SEQ_AnyTemplatePullTask" initial-value="1000"/> </id> </attributes> </entity> http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/resources/META-INF/spring-orm-sqlserver.xml ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/resources/META-INF/spring-orm-sqlserver.xml b/core/persistence-jpa/src/main/resources/META-INF/spring-orm-sqlserver.xml index 72fadcd..42cb116 100644 --- a/core/persistence-jpa/src/main/resources/META-INF/spring-orm-sqlserver.xml +++ b/core/persistence-jpa/src/main/resources/META-INF/spring-orm-sqlserver.xml @@ -320,11 +320,11 @@ under the License. </attributes> </entity> - <entity class="org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplateSyncTask"> + <entity class="org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplatePullTask"> <attributes> <id name="id"> - <generated-value generator="SEQ_AnyTemplateSyncTask" strategy="TABLE"/> - <table-generator name="SEQ_AnyTemplateSyncTask" pk-column-value="SEQ_AnyTemplateSyncTask" initial-value="1000"/> + <generated-value generator="SEQ_AnyTemplatePullTask" strategy="TABLE"/> + <table-generator name="SEQ_AnyTemplatePullTask" pk-column-value="SEQ_AnyTemplatePullTask" initial-value="1000"/> </id> </attributes> </entity> http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/main/resources/META-INF/spring-orm.xml ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/main/resources/META-INF/spring-orm.xml b/core/persistence-jpa/src/main/resources/META-INF/spring-orm.xml index 5fc68ea..721916c 100644 --- a/core/persistence-jpa/src/main/resources/META-INF/spring-orm.xml +++ b/core/persistence-jpa/src/main/resources/META-INF/spring-orm.xml @@ -368,11 +368,11 @@ under the License. </attributes> </entity> - <entity class="org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplateSyncTask"> + <entity class="org.apache.syncope.core.persistence.jpa.entity.task.JPAAnyTemplatePullTask"> <attributes> <id name="id"> - <generated-value generator="SEQ_AnyTemplateSyncTask" strategy="TABLE"/> - <table-generator name="SEQ_AnyTemplateSyncTask" pk-column-value="SEQ_AnyTemplateSyncTask" initial-value="1000"/> + <generated-value generator="SEQ_AnyTemplatePullTask" strategy="TABLE"/> + <table-generator name="SEQ_AnyTemplatePullTask" pk-column-value="SEQ_AnyTemplatePullTask" initial-value="1000"/> </id> </attributes> </entity> http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PolicyTest.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PolicyTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PolicyTest.java index 6762b7f..426a3de 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PolicyTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PolicyTest.java @@ -29,17 +29,17 @@ import org.apache.commons.lang3.ArrayUtils; import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.policy.DefaultPasswordRuleConf; import org.apache.syncope.common.lib.types.PolicyType; -import org.apache.syncope.common.lib.policy.SyncPolicySpec; +import org.apache.syncope.common.lib.policy.PullPolicySpec; import org.apache.syncope.core.provisioning.api.serialization.POJOHelper; import org.apache.syncope.core.persistence.api.dao.AnyTypeDAO; import org.apache.syncope.core.persistence.api.dao.PolicyDAO; import org.apache.syncope.core.persistence.api.entity.policy.PasswordPolicy; import org.apache.syncope.core.persistence.api.entity.Policy; -import org.apache.syncope.core.persistence.api.entity.policy.SyncPolicy; import org.apache.syncope.core.persistence.jpa.AbstractTest; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import org.apache.syncope.core.persistence.api.entity.policy.PullPolicy; @Transactional("Master") public class PolicyTest extends AbstractTest { @@ -59,10 +59,10 @@ public class PolicyTest extends AbstractTest { @Test public void findByKey() { - SyncPolicy policy = policyDAO.find(3L); + PullPolicy policy = policyDAO.find(3L); assertNotNull("findById did not work", policy); - SyncPolicySpec spec = policy.getSpecification(); + PullPolicySpec spec = policy.getSpecification(); assertNotNull(spec); String rule = spec.getCorrelationRules().get(AnyTypeKind.USER.name()); @@ -76,33 +76,33 @@ public class PolicyTest extends AbstractTest { @Test public void findByType() { - List<? extends Policy> policies = policyDAO.find(PolicyType.SYNC); + List<? extends Policy> policies = policyDAO.find(PolicyType.PULL); assertNotNull("findById did not work", policies); assertFalse(policies.isEmpty()); } @Test public void create() { - SyncPolicy policy = entityFactory.newEntity(SyncPolicy.class); + PullPolicy policy = entityFactory.newEntity(PullPolicy.class); - final String syncURuleName = "net.tirasa.sync.correlation.TirasaURule"; - final String syncGRuleName = "net.tirasa.sync.correlation.TirasaGRule"; + final String pullURuleName = "net.tirasa.pull.correlation.TirasaURule"; + final String pullGRuleName = "net.tirasa.pull.correlation.TirasaGRule"; - SyncPolicySpec syncPolicySpec = new SyncPolicySpec(); + PullPolicySpec pullPolicySpec = new PullPolicySpec(); - syncPolicySpec.getCorrelationRules().put(anyTypeDAO.findUser().getKey(), syncURuleName); - syncPolicySpec.getCorrelationRules().put(anyTypeDAO.findGroup().getKey(), syncGRuleName); + pullPolicySpec.getCorrelationRules().put(anyTypeDAO.findUser().getKey(), pullURuleName); + pullPolicySpec.getCorrelationRules().put(anyTypeDAO.findGroup().getKey(), pullGRuleName); - policy.setSpecification(syncPolicySpec); - policy.setDescription("Sync policy"); + policy.setSpecification(pullPolicySpec); + policy.setDescription("Pull policy"); policy = policyDAO.save(policy); assertNotNull(policy); - assertEquals(PolicyType.SYNC, policy.getType()); - assertEquals(syncURuleName, + assertEquals(PolicyType.PULL, policy.getType()); + assertEquals(pullURuleName, policy.getSpecification().getCorrelationRules().get(anyTypeDAO.findUser().getKey())); - assertEquals(syncGRuleName, + assertEquals(pullGRuleName, policy.getSpecification().getCorrelationRules().get(anyTypeDAO.findGroup().getKey())); } http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/TaskTest.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/TaskTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/TaskTest.java index f39f06f..038030e 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/TaskTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/TaskTest.java @@ -98,7 +98,7 @@ public class TaskTest extends AbstractTest { assertEquals(5, taskDAO.findAll(TaskType.PROPAGATION).size()); assertEquals(1, taskDAO.findAll(TaskType.NOTIFICATION).size()); assertEquals(1, taskDAO.findAll(TaskType.SCHEDULED).size()); - assertEquals(10, taskDAO.findAll(TaskType.SYNCHRONIZATION).size()); + assertEquals(10, taskDAO.findAll(TaskType.PULL).size()); assertEquals(11, taskDAO.findAll(TaskType.PUSH).size()); } http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java index ab0b88b..a484ac7 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/PlainSchemaTest.java @@ -156,7 +156,7 @@ public class PlainSchemaTest extends AbstractTest { @Test public void deleteALong() { - assertEquals(6, resourceDAO.find("resource-db-sync"). + assertEquals(6, resourceDAO.find("resource-db-pull"). getProvision(anyTypeDAO.findUser()).getMapping().getItems().size()); plainSchemaDAO.delete("aLong"); @@ -164,7 +164,7 @@ public class PlainSchemaTest extends AbstractTest { plainSchemaDAO.flush(); - assertEquals(5, resourceDAO.find("resource-db-sync"). + assertEquals(5, resourceDAO.find("resource-db-pull"). getProvision(anyTypeDAO.findUser()).getMapping().getItems().size()); } } http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ResourceTest.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ResourceTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ResourceTest.java index 6f7e8be..3df840b 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ResourceTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/ResourceTest.java @@ -134,7 +134,7 @@ public class ResourceTest extends AbstractTest { item.setIntAttrName("nonexistent" + i); item.setIntMappingType(IntMappingType.UserPlainSchema); item.setMandatoryCondition("false"); - item.setPurpose(MappingPurpose.SYNCHRONIZATION); + item.setPurpose(MappingPurpose.PULL); mapping.add(item); item.setMapping(mapping); } http://git-wip-us.apache.org/repos/asf/syncope/blob/61a7fdd3/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java ---------------------------------------------------------------------- diff --git a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java index 6c00347..4edc498 100644 --- a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java +++ b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/outer/TaskTest.java @@ -33,7 +33,7 @@ import org.apache.syncope.common.lib.types.AnyTypeKind; import org.apache.syncope.common.lib.types.MatchingRule; import org.apache.syncope.common.lib.types.PropagationTaskExecStatus; import org.apache.syncope.common.lib.types.ResourceOperation; -import org.apache.syncope.common.lib.types.SyncMode; +import org.apache.syncope.common.lib.types.PullMode; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.common.lib.types.UnmatchingRule; import org.apache.syncope.core.persistence.api.attrvalue.validation.InvalidEntityException; @@ -45,17 +45,17 @@ import org.apache.syncope.core.persistence.api.dao.search.OrderByClause; import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; import org.apache.syncope.core.persistence.api.entity.task.PropagationTask; import org.apache.syncope.core.persistence.api.entity.task.PushTask; -import org.apache.syncope.core.persistence.api.entity.task.SyncTask; import org.apache.syncope.core.persistence.api.entity.task.TaskExec; -import org.apache.syncope.core.persistence.api.entity.task.AnyTemplateSyncTask; import org.apache.syncope.core.persistence.api.entity.user.User; import org.apache.syncope.core.persistence.jpa.AbstractTest; -import org.apache.syncope.core.provisioning.api.syncpull.SyncActions; import org.identityconnectors.framework.common.objects.Attribute; import org.identityconnectors.framework.common.objects.AttributeBuilder; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; +import org.apache.syncope.core.persistence.api.entity.task.PullTask; +import org.apache.syncope.core.persistence.api.entity.task.AnyTemplatePullTask; +import org.apache.syncope.core.provisioning.api.pushpull.PullActions; @Transactional("Master") public class TaskTest extends AbstractTest { @@ -139,8 +139,8 @@ public class TaskTest extends AbstractTest { } @Test - public void addSyncTaskExecution() { - SyncTask task = taskDAO.find(4L); + public void addPullTaskExecution() { + PullTask task = taskDAO.find(4L); assertNotNull(task); int executionNumber = task.getExecs().size(); @@ -210,18 +210,18 @@ public class TaskTest extends AbstractTest { } @Test - public void saveSyncTask() { + public void savePullTask() { ExternalResource resource = resourceDAO.find("ws-target-resource-1"); assertNotNull(resource); - AnyTemplateSyncTask template = entityFactory.newEntity(AnyTemplateSyncTask.class); + AnyTemplatePullTask template = entityFactory.newEntity(AnyTemplatePullTask.class); template.set(new UserTO()); - SyncTask task = entityFactory.newEntity(SyncTask.class); - task.setName("saveSyncTask"); - task.setDescription("SyncTask description"); + PullTask task = entityFactory.newEntity(PullTask.class); + task.setName("savePullTask"); + task.setDescription("PullTask description"); task.setActive(true); - task.setSyncMode(SyncMode.FULL_RECONCILIATION); + task.setPullMode(PullMode.FULL_RECONCILIATION); task.add(template); task.setCronExpression("BLA BLA"); task.setMatchingRule(MatchingRule.UPDATE); @@ -237,7 +237,7 @@ public class TaskTest extends AbstractTest { assertNotNull(exception); task.setCronExpression(null); - // this save() fails because a SyncTask requires a target resource + // this save() fails because a PullTask requires a target resource exception = null; try { taskDAO.save(task); @@ -260,12 +260,12 @@ public class TaskTest extends AbstractTest { assertNotNull(exception); task.getActionsClassNames().clear(); - task.getActionsClassNames().add(SyncActions.class.getName()); + task.getActionsClassNames().add(PullActions.class.getName()); // this save() finally works task = taskDAO.save(task); assertNotNull(task); - SyncTask actual = taskDAO.find(task.getKey()); + PullTask actual = taskDAO.find(task.getKey()); assertEquals(task, actual); } @@ -274,21 +274,21 @@ public class TaskTest extends AbstractTest { ExternalResource resource = resourceDAO.find("ws-target-resource-1"); assertNotNull(resource); - SyncTask task = entityFactory.newEntity(SyncTask.class); + PullTask task = entityFactory.newEntity(PullTask.class); task.setResource(resource); task.setName("issueSYNCOPE144"); task.setDescription("issueSYNCOPE144 Description"); task.setActive(true); - task.setSyncMode(SyncMode.FULL_RECONCILIATION); - task.getActionsClassNames().add(SyncActions.class.getName()); + task.setPullMode(PullMode.FULL_RECONCILIATION); + task.getActionsClassNames().add(PullActions.class.getName()); task.setMatchingRule(MatchingRule.UPDATE); task.setUnmatchingRule(UnmatchingRule.PROVISION); task = taskDAO.save(task); assertNotNull(task); - SyncTask actual = taskDAO.find(task.getKey()); + PullTask actual = taskDAO.find(task.getKey()); assertEquals(task, actual); assertEquals("issueSYNCOPE144", actual.getName()); assertEquals("issueSYNCOPE144 Description", actual.getDescription());
