http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/MembershipDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/MembershipDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/MembershipDAO.java deleted file mode 100644 index 964e0e8..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/MembershipDAO.java +++ /dev/null @@ -1,40 +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.api.dao; - -import java.util.List; -import org.apache.syncope.core.persistence.api.entity.membership.Membership; -import org.apache.syncope.core.persistence.api.entity.group.Group; -import org.apache.syncope.core.persistence.api.entity.user.User; - -public interface MembershipDAO extends DAO<Membership, Long> { - - Membership find(Long key); - - Membership find(User user, Group group); - - List<Membership> findAll(); - - Membership save(Membership membership); - - void delete(Long key); - - Membership authFetch(Long key); - -}
http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainAttrDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainAttrDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainAttrDAO.java index 1aa5d5c..e15b634 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainAttrDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainAttrDAO.java @@ -20,11 +20,11 @@ package org.apache.syncope.core.persistence.api.dao; import org.apache.syncope.core.persistence.api.entity.PlainAttr; -public interface PlainAttrDAO extends DAO<PlainAttr, Long> { +public interface PlainAttrDAO extends DAO<PlainAttr<?>, Long> { - <T extends PlainAttr> T find(Long key, Class<T> reference); + <T extends PlainAttr<?>> T find(Long key, Class<T> reference); - <T extends PlainAttr> void delete(Long key, Class<T> reference); + <T extends PlainAttr<?>> void delete(Long key, Class<T> reference); - <T extends PlainAttr> void delete(T attr); + <T extends PlainAttr<?>> void delete(T attr); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainSchemaDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainSchemaDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainSchemaDAO.java index 122faee..2dda81e 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainSchemaDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PlainSchemaDAO.java @@ -19,19 +19,18 @@ package org.apache.syncope.core.persistence.api.dao; import java.util.List; -import org.apache.syncope.core.persistence.api.entity.AttributableUtils; import org.apache.syncope.core.persistence.api.entity.PlainAttr; import org.apache.syncope.core.persistence.api.entity.PlainSchema; public interface PlainSchemaDAO extends DAO<PlainSchema, String> { - <T extends PlainSchema> T find(String key, Class<T> reference); + PlainSchema find(String name); - <T extends PlainSchema> List<T> findAll(Class<T> reference); + List<PlainSchema> findAll(); - <T extends PlainAttr> List<T> findAttrs(PlainSchema schema, Class<T> reference); + <T extends PlainAttr<?>> List<T> findAttrs(PlainSchema schema, Class<T> reference); - <T extends PlainSchema> T save(T schema); + PlainSchema save(PlainSchema derSchema); - void delete(String name, AttributableUtils attributableUtil); + void delete(String key); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PolicyDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PolicyDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PolicyDAO.java index dff687d..58281ff 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PolicyDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/PolicyDAO.java @@ -21,7 +21,7 @@ package org.apache.syncope.core.persistence.api.dao; import java.util.List; import org.apache.syncope.common.lib.types.PolicyType; import org.apache.syncope.core.persistence.api.entity.AccountPolicy; -import org.apache.syncope.core.persistence.api.entity.ExternalResource; +import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; import org.apache.syncope.core.persistence.api.entity.Policy; public interface PolicyDAO extends DAO<Policy, Long> { http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectDAO.java deleted file mode 100644 index aca7bf4..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectDAO.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.core.persistence.api.dao; - -import java.util.List; -import org.apache.syncope.core.persistence.api.entity.AttributableUtils; -import org.apache.syncope.core.persistence.api.entity.DerAttr; -import org.apache.syncope.core.persistence.api.entity.ExternalResource; -import org.apache.syncope.core.persistence.api.entity.PlainAttr; -import org.apache.syncope.core.persistence.api.entity.PlainAttrValue; -import org.apache.syncope.core.persistence.api.entity.Subject; -import org.apache.syncope.core.persistence.api.entity.VirAttr; - -public interface SubjectDAO<P extends PlainAttr, D extends DerAttr, V extends VirAttr> - extends DAO<Subject<P, D, V>, Long> { - - List<? extends Subject<P, D, V>> findByAttrValue( - String schemaName, PlainAttrValue attrValue, AttributableUtils attrUtils); - - Subject<P, D, V> findByAttrUniqueValue( - String schemaName, PlainAttrValue attrUniqueValue, AttributableUtils attrUtils); - - List<? extends Subject<P, D, V>> findByDerAttrValue( - String schemaName, String value, AttributableUtils attrUtils); - - List<? extends Subject<P, D, V>> findByResource( - ExternalResource resource, AttributableUtils attrUtils); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectSearchDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectSearchDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectSearchDAO.java deleted file mode 100644 index a4cd7d4..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/SubjectSearchDAO.java +++ /dev/null @@ -1,83 +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.api.dao; - -import java.util.List; -import java.util.Set; -import org.apache.syncope.common.lib.types.SubjectType; -import org.apache.syncope.core.persistence.api.dao.search.OrderByClause; -import org.apache.syncope.core.persistence.api.dao.search.SearchCond; -import org.apache.syncope.core.persistence.api.entity.Subject; - -public interface SubjectSearchDAO extends DAO<Subject<?, ?, ?>, Long> { - - /** - * @param adminRealms realms for which the caller owns the proper entitlement(s) - * @param searchCondition the search condition - * @param type user or group - * @return size of search result - */ - int count(Set<String> adminRealms, SearchCond searchCondition, SubjectType type); - - /** - * @param adminRealms realms for which the caller owns the proper entitlement(s) - * @param searchCondition the search condition - * @param type user or group - * @param <T> user/group - * @return the list of users/groups matching the given search condition - */ - <T extends Subject<?, ?, ?>> List<T> search( - Set<String> adminRealms, SearchCond searchCondition, SubjectType type); - - /** - * @param adminRealms the set of admin groups owned by the caller - * @param searchCondition the search condition - * @param orderBy list of ordering clauses - * @param type user or group - * @param <T> user/group - * @return the list of users/groups matching the given search condition - */ - <T extends Subject<?, ?, ?>> List<T> search( - Set<String> adminRealms, SearchCond searchCondition, List<OrderByClause> orderBy, SubjectType type); - - /** - * @param adminRealms realms for which the caller owns the proper entitlement(s) - * @param searchCondition the search condition - * @param page position of the first result, start from 1 - * @param itemsPerPage number of results per page - * @param orderBy list of ordering clauses - * @param type user or group - * @param <T> user/group - * @return the list of users/groups matching the given search condition (in the given page) - */ - <T extends Subject<?, ?, ?>> List<T> search( - Set<String> adminRealms, SearchCond searchCondition, int page, int itemsPerPage, - List<OrderByClause> orderBy, SubjectType type); - - /** - * Verify if user/group matches the given search condition. - * - * @param subject to be checked - * @param searchCondition to be verified - * @param type user or group - * @param <T> user/group - * @return true if user/group matches searchCondition - */ - <T extends Subject<?, ?, ?>> boolean matches(T subject, SearchCond searchCondition, SubjectType type); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java index 0b82276..02b1032 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/TaskDAO.java @@ -21,7 +21,7 @@ package org.apache.syncope.core.persistence.api.dao; import java.util.List; import org.apache.syncope.common.lib.types.TaskType; import org.apache.syncope.core.persistence.api.dao.search.OrderByClause; -import org.apache.syncope.core.persistence.api.entity.ExternalResource; +import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; import org.apache.syncope.core.persistence.api.entity.task.Task; public interface TaskDAO extends DAO<Task, Long> { http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/UserDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/UserDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/UserDAO.java index 469a98f..a1e4d09 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/UserDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/UserDAO.java @@ -20,54 +20,22 @@ package org.apache.syncope.core.persistence.api.dao; import java.util.Collection; import java.util.List; -import java.util.Set; -import org.apache.syncope.core.persistence.api.dao.search.OrderByClause; -import org.apache.syncope.core.persistence.api.entity.ExternalResource; import org.apache.syncope.core.persistence.api.entity.Role; import org.apache.syncope.core.persistence.api.entity.group.Group; +import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; import org.apache.syncope.core.persistence.api.entity.user.SecurityQuestion; -import org.apache.syncope.core.persistence.api.entity.user.UDerAttr; -import org.apache.syncope.core.persistence.api.entity.user.UPlainAttr; -import org.apache.syncope.core.persistence.api.entity.user.UPlainAttrValue; -import org.apache.syncope.core.persistence.api.entity.user.UVirAttr; import org.apache.syncope.core.persistence.api.entity.user.User; -public interface UserDAO extends SubjectDAO<UPlainAttr, UDerAttr, UVirAttr> { +public interface UserDAO extends AnyDAO<User> { - User find(Long key); + User authFind(String username); User find(String username); - User findByWorkflowId(String workflowId); - User findByToken(String token); List<User> findBySecurityQuestion(SecurityQuestion securityQuestion); - List<User> findByDerAttrValue(String schemaName, String value); - - List<User> findByAttrValue(String schemaName, UPlainAttrValue attrValue); - - User findByAttrUniqueValue(String schemaName, UPlainAttrValue attrUniqueValue); - - List<User> findByResource(ExternalResource resource); - - List<User> findAll(Set<String> adminRealms, int page, int itemsPerPage); - - List<User> findAll(Set<String> adminRealms, int page, int itemsPerPage, List<OrderByClause> orderBy); - - int count(Set<String> adminRealms); - - User save(User user); - - void delete(Long key); - - void delete(User user); - - User authFetch(Long key); - - User authFetch(String username); - List<Role> findDynRoleMemberships(User user); List<Group> findDynGroupMemberships(User user); http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirAttrDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirAttrDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirAttrDAO.java index 254372a..b62cb87 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirAttrDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirAttrDAO.java @@ -21,15 +21,15 @@ package org.apache.syncope.core.persistence.api.dao; import java.util.List; import org.apache.syncope.core.persistence.api.entity.VirAttr; -public interface VirAttrDAO extends DAO<VirAttr, Long> { +public interface VirAttrDAO extends DAO<VirAttr<?>, Long> { - <T extends VirAttr> T find(Long key, Class<T> reference); + <T extends VirAttr<?>> T find(Long key, Class<T> reference); - <T extends VirAttr> List<T> findAll(Class<T> reference); + <T extends VirAttr<?>> List<T> findAll(Class<T> reference); - <T extends VirAttr> T save(T virtualAttribute); + <T extends VirAttr<?>> T save(T virtualAttribute); - <T extends VirAttr> void delete(Long key, Class<T> reference); + <T extends VirAttr<?>> void delete(Long key, Class<T> reference); - <T extends VirAttr> void delete(T virAttr); + <T extends VirAttr<?>> void delete(T virAttr); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirSchemaDAO.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirSchemaDAO.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirSchemaDAO.java index 160f109..fc6c7fa 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirSchemaDAO.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/VirSchemaDAO.java @@ -19,19 +19,18 @@ package org.apache.syncope.core.persistence.api.dao; import java.util.List; -import org.apache.syncope.core.persistence.api.entity.AttributableUtils; import org.apache.syncope.core.persistence.api.entity.VirAttr; import org.apache.syncope.core.persistence.api.entity.VirSchema; public interface VirSchemaDAO extends DAO<VirSchema, String> { - <T extends VirSchema> T find(String key, Class<T> reference); + VirSchema find(String name); - <T extends VirSchema> List<T> findAll(Class<T> reference); + List<VirSchema> findAll(); - <T extends VirAttr> List<T> findAttrs(VirSchema virSchema, Class<T> reference); + <T extends VirAttr<?>> List<T> findAttrs(VirSchema virSchema, Class<T> reference); - <T extends VirSchema> T save(T virSchema); + VirSchema save(VirSchema derSchema); - void delete(String key, AttributableUtils attributableUtil); + void delete(String key); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/AnyCond.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/AnyCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/AnyCond.java new file mode 100644 index 0000000..8bc9669 --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/AnyCond.java @@ -0,0 +1,35 @@ +/* + * 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.api.dao.search; + +/** + * Search condition to be applied when comparing bean field values. + */ +public class AnyCond extends AttributeCond { + + private static final long serialVersionUID = -1880319220462653955L; + + public AnyCond() { + super(); + } + + public AnyCond(final Type conditionType) { + super(conditionType); + } +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/GroupCond.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/GroupCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/GroupCond.java deleted file mode 100644 index 3dbb9b0..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/GroupCond.java +++ /dev/null @@ -1,39 +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.api.dao.search; - -public class GroupCond extends AbstractSearchCond { - - private static final long serialVersionUID = -728155256293925989L; - - private Long groupKey; - - public Long getGroupKey() { - return groupKey; - } - - public void setGroupKey(final Long groupKey) { - this.groupKey = groupKey; - } - - @Override - public final boolean isValid() { - return groupKey != null; - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/MembershipCond.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/MembershipCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/MembershipCond.java new file mode 100644 index 0000000..8872107 --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/MembershipCond.java @@ -0,0 +1,39 @@ +/* + * 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.api.dao.search; + +public class MembershipCond extends AbstractSearchCond { + + private static final long serialVersionUID = -728155256293925989L; + + private Long groupKey; + + public Long getGroupKey() { + return groupKey; + } + + public void setGroupKey(final Long groupKey) { + this.groupKey = groupKey; + } + + @Override + public final boolean isValid() { + return groupKey != null; + } +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/RelationshipCond.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/RelationshipCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/RelationshipCond.java new file mode 100644 index 0000000..ec26eb8 --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/RelationshipCond.java @@ -0,0 +1,39 @@ +/* + * 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.api.dao.search; + +public class RelationshipCond extends AbstractSearchCond { + + private static final long serialVersionUID = 6865985945516722103L; + + private Long anyObjectKey; + + public Long getAnyObjectKey() { + return anyObjectKey; + } + + public void setAnyObjectKey(final Long anyObjectKey) { + this.anyObjectKey = anyObjectKey; + } + + @Override + public final boolean isValid() { + return anyObjectKey != null; + } +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java index ab5b527..d942591 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SearchCond.java @@ -35,11 +35,13 @@ public class SearchCond extends AbstractSearchCond { private Type type; - private SubjectCond subjectCond; + private AnyCond anyCond; private AttributeCond attributeCond; - private GroupCond groupCond; + private RelationshipCond relationshipCond; + + private MembershipCond membershipCond; private RoleCond roleCond; @@ -53,8 +55,8 @@ public class SearchCond extends AbstractSearchCond { SearchCond nodeCond = new SearchCond(); nodeCond.type = Type.LEAF; - if (attributeCond instanceof SubjectCond) { - nodeCond.subjectCond = (SubjectCond) attributeCond; + if (attributeCond instanceof AnyCond) { + nodeCond.anyCond = (AnyCond) attributeCond; } else { nodeCond.attributeCond = attributeCond; } @@ -62,11 +64,20 @@ public class SearchCond extends AbstractSearchCond { return nodeCond; } - public static SearchCond getLeafCond(final GroupCond groupCond) { + public static SearchCond getLeafCond(final RelationshipCond relationshipCond) { + SearchCond nodeCond = new SearchCond(); + + nodeCond.type = Type.LEAF; + nodeCond.relationshipCond = relationshipCond; + + return nodeCond; + } + + public static SearchCond getLeafCond(final MembershipCond membershipCond) { SearchCond nodeCond = new SearchCond(); nodeCond.type = Type.LEAF; - nodeCond.groupCond = groupCond; + nodeCond.membershipCond = membershipCond; return nodeCond; } @@ -95,8 +106,14 @@ public class SearchCond extends AbstractSearchCond { return nodeCond; } - public static SearchCond getNotLeafCond(final GroupCond groupCond) { - SearchCond nodeCond = getLeafCond(groupCond); + public static SearchCond getNotLeafCond(final RelationshipCond relationshipCond) { + SearchCond nodeCond = getLeafCond(relationshipCond); + nodeCond.type = Type.NOT_LEAF; + return nodeCond; + } + + public static SearchCond getNotLeafCond(final MembershipCond membershipCond) { + SearchCond nodeCond = getLeafCond(membershipCond); nodeCond.type = Type.NOT_LEAF; return nodeCond; } @@ -156,12 +173,12 @@ public class SearchCond extends AbstractSearchCond { } } - public SubjectCond getSubjectCond() { - return subjectCond; + public AnyCond getAnyCond() { + return anyCond; } - public void setSubjectCond(final SubjectCond subjectCond) { - this.subjectCond = subjectCond; + public void setAnyCond(final AnyCond anyCond) { + this.anyCond = anyCond; } public AttributeCond getAttributeCond() { @@ -172,12 +189,20 @@ public class SearchCond extends AbstractSearchCond { this.attributeCond = attributeCond; } - public GroupCond getGroupCond() { - return groupCond; + public RelationshipCond getRelationshipCond() { + return relationshipCond; + } + + public void setRelationshipCond(final RelationshipCond relationshipCond) { + this.relationshipCond = relationshipCond; + } + + public MembershipCond getMembershipCond() { + return membershipCond; } - public void setGroupCond(final GroupCond groupCond) { - this.groupCond = groupCond; + public void setMembershipCond(final MembershipCond membershipCond) { + this.membershipCond = membershipCond; } public RoleCond getRoleCond() { @@ -231,11 +256,12 @@ public class SearchCond extends AbstractSearchCond { switch (type) { case LEAF: case NOT_LEAF: - isValid = (subjectCond != null || attributeCond != null - || groupCond != null || roleCond != null || resourceCond != null) - && (subjectCond == null || subjectCond.isValid()) + isValid = (anyCond != null || attributeCond != null + || relationshipCond != null || membershipCond != null + || roleCond != null || resourceCond != null) + && (anyCond == null || anyCond.isValid()) && (attributeCond == null || attributeCond.isValid()) - && (groupCond == null || groupCond.isValid()) + && (membershipCond == null || membershipCond.isValid()) && (roleCond == null || roleCond.isValid()) && (resourceCond == null || resourceCond.isValid()); break; http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SubjectCond.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SubjectCond.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SubjectCond.java deleted file mode 100644 index 48e762f..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/dao/search/SubjectCond.java +++ /dev/null @@ -1,35 +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.api.dao.search; - -/** - * Search condition to be applied when comparing bean field values. - */ -public class SubjectCond extends AttributeCond { - - private static final long serialVersionUID = -1880319220462653955L; - - public SubjectCond() { - super(); - } - - public SubjectCond(final Type conditionType) { - super(conditionType); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AccountPolicy.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AccountPolicy.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AccountPolicy.java index e09aa2e..7a743c2 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AccountPolicy.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AccountPolicy.java @@ -18,6 +18,7 @@ */ package org.apache.syncope.core.persistence.api.entity; +import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; import java.util.Set; public interface AccountPolicy extends Policy { http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Any.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Any.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Any.java new file mode 100644 index 0000000..12bf9b6 --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Any.java @@ -0,0 +1,80 @@ +/* + * 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.api.entity; + +import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; +import java.util.List; + +public interface Any<P extends PlainAttr<?>, D extends DerAttr<?>, V extends VirAttr<?>> extends AnnotatedEntity<Long> { + + AnyType getType(); + + void setType(AnyType type); + + Realm getRealm(); + + void setRealm(Realm realm); + + String getStatus(); + + void setStatus(String status); + + String getWorkflowId(); + + void setWorkflowId(String workflowId); + + boolean add(P attr); + + boolean remove(P attr); + + P getPlainAttr(String plainSchemaName); + + List<? extends P> getPlainAttrs(); + + boolean add(D derAttr); + + boolean remove(D derAttr); + + D getDerAttr(String derSchemaName); + + List<? extends D> getDerAttrs(); + + boolean add(V virAttr); + + boolean remove(V virAttr); + + V getVirAttr(String virSchemaName); + + List<? extends V> getVirAttrs(); + + boolean add(ExternalResource resource); + + boolean remove(ExternalResource resource); + + List<String> getResourceNames(); + + List<? extends ExternalResource> getResources(); + + boolean add(AnyTypeClass auxClass); + + boolean remove(AnyTypeClass auxClass); + + List<? extends AnyTypeClass> getAuxClasses(); + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyAbout.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyAbout.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyAbout.java new file mode 100644 index 0000000..2f1684b --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyAbout.java @@ -0,0 +1,34 @@ +/* + * 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.api.entity; + +public interface AnyAbout extends Entity<Long> { + + Notification getNotification(); + + void setNotification(Notification notification); + + AnyType getAnyType(); + + void setAnyType(AnyType anyType); + + String get(); + + void set(String filter); +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyType.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyType.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyType.java new file mode 100644 index 0000000..c23897c --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyType.java @@ -0,0 +1,37 @@ +/* + * 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.api.entity; + +import java.util.List; +import org.apache.syncope.common.lib.types.AnyTypeKind; + +public interface AnyType extends Entity<String> { + + void setKey(String key); + + AnyTypeKind getKind(); + + void setKind(AnyTypeKind kind); + + boolean add(AnyTypeClass anyTypeClass); + + boolean remove(AnyTypeClass anyTypeClass); + + List<? extends AnyTypeClass> getClasses(); +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyTypeClass.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyTypeClass.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyTypeClass.java new file mode 100644 index 0000000..fdd00bb --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyTypeClass.java @@ -0,0 +1,44 @@ +/* + * 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.api.entity; + +import java.util.List; + +public interface AnyTypeClass extends Entity<String> { + + void setKey(String key); + + boolean add(PlainSchema schema); + + boolean remove(PlainSchema schema); + + List<? extends PlainSchema> getPlainSchemas(); + + boolean add(DerSchema schema); + + boolean remove(DerSchema schema); + + List<? extends DerSchema> getDerSchemas(); + + boolean add(VirSchema schema); + + boolean remove(VirSchema schema); + + List<? extends VirSchema> getVirSchemas(); +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java new file mode 100644 index 0000000..836f0e3 --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java @@ -0,0 +1,68 @@ +/* + * 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.api.entity; + +import org.apache.syncope.core.persistence.api.entity.resource.MappingItem; +import java.util.List; +import org.apache.syncope.common.lib.to.AnyTO; +import org.apache.syncope.common.lib.types.AnyTypeKind; +import org.apache.syncope.common.lib.types.IntMappingType; +import org.apache.syncope.common.lib.types.MappingPurpose; +import org.apache.syncope.core.persistence.api.entity.resource.Provision; + +public interface AnyUtils { + + AnyTypeKind getAnyTypeKind(); + + <T extends Any<?, ?, ?>> Class<T> anyClass(); + + <T extends PlainAttr<?>> Class<T> plainAttrClass(); + + <T extends PlainAttr<?>> T newPlainAttr(); + + <T extends PlainAttrValue> Class<T> plainAttrValueClass(); + + <T extends PlainAttrValue> T newPlainAttrValue(); + + <T extends PlainAttrValue> Class<T> plainAttrUniqueValueClass(); + + <T extends PlainAttrValue> T newPlainAttrUniqueValue(); + + <T extends DerAttr<?>> Class<T> derAttrClass(); + + <T extends DerAttr<?>> T newDerAttr(); + + <T extends VirAttr<?>> Class<T> virAttrClass(); + + <T extends VirAttr<?>> T newVirAttr(); + + MappingItem getConnObjectKeyItem(Provision provision); + + String getConnObjectLink(Provision provision); + + List<MappingItem> getMappingItems(Provision provision, MappingPurpose purpose); + + IntMappingType plainIntMappingType(); + + IntMappingType derIntMappingType(); + + IntMappingType virIntMappingType(); + + <T extends AnyTO> T newAnyTO(); +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtilsFactory.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtilsFactory.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtilsFactory.java new file mode 100644 index 0000000..2e2a49e --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtilsFactory.java @@ -0,0 +1,30 @@ +/* + * 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.api.entity; + +import org.apache.syncope.common.lib.types.AnyTypeKind; + +public interface AnyUtilsFactory { + + AnyUtils getInstance(AnyTypeKind anyTypeKind); + + AnyUtils getInstance(String anyTypeKind); + + AnyUtils getInstance(Any<?, ?, ?> any); +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attr.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attr.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attr.java index 144962e..2be01e9 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attr.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attr.java @@ -18,11 +18,11 @@ */ package org.apache.syncope.core.persistence.api.entity; -public interface Attr<S extends Schema> extends Entity<Long> { +public interface Attr<S extends Schema, O extends Any<?, ?, ?>> extends Entity<Long> { - Attributable<?, ?, ?> getOwner(); + O getOwner(); - void setOwner(Attributable<?, ?, ?> owner); + void setOwner(O owner); S getSchema(); http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttrTemplate.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttrTemplate.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttrTemplate.java deleted file mode 100644 index 6aaf916..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttrTemplate.java +++ /dev/null @@ -1,32 +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.api.entity; - -import org.apache.syncope.core.persistence.api.entity.group.Group; - -public interface AttrTemplate<S extends Schema> extends Entity<Long> { - - Group getOwner(); - - void setOwner(Group group); - - S getSchema(); - - void setSchema(S schema); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attributable.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attributable.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attributable.java deleted file mode 100644 index e89181c..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Attributable.java +++ /dev/null @@ -1,48 +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.api.entity; - -import java.util.List; - -public interface Attributable<P extends PlainAttr, D extends DerAttr, V extends VirAttr> extends AnnotatedEntity<Long> { - - boolean addPlainAttr(P attr); - - boolean addDerAttr(D derAttr); - - boolean addVirAttr(V virAttr); - - boolean removePlainAttr(P attr); - - boolean removeDerAttr(D derAttr); - - boolean removeVirAttr(V virAttr); - - P getPlainAttr(String plainSchemaName); - - List<? extends P> getPlainAttrs(); - - D getDerAttr(String derSchemaName); - - List<? extends D> getDerAttrs(); - - V getVirAttr(String virSchemaName); - - List<? extends V> getVirAttrs(); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtils.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtils.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtils.java deleted file mode 100644 index 9539604..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtils.java +++ /dev/null @@ -1,89 +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.api.entity; - -import java.util.List; -import org.apache.syncope.common.lib.to.AbstractAttributableTO; -import org.apache.syncope.common.lib.to.AbstractSubjectTO; -import org.apache.syncope.common.lib.types.AttributableType; -import org.apache.syncope.common.lib.types.IntMappingType; -import org.apache.syncope.common.lib.types.MappingPurpose; - -public interface AttributableUtils { - - AttributableType getType(); - - <T extends Attributable<?, ?, ?>> Class<T> attributableClass(); - - <T extends PlainSchema> Class<T> plainSchemaClass(); - - <T extends PlainSchema> T newPlainSchema(); - - <T extends PlainAttr> Class<T> plainAttrClass(); - - <T extends PlainAttr> T newPlainAttr(); - - <T extends PlainAttrValue> Class<T> plainAttrValueClass(); - - <T extends PlainAttrValue> T newPlainAttrValue(); - - <T extends AttrTemplate<PlainSchema>> Class<T> plainAttrTemplateClass(); - - <T extends PlainAttrValue> Class<T> plainAttrUniqueValueClass(); - - <T extends PlainAttrValue> T newPlainAttrUniqueValue(); - - <T extends DerSchema> Class<T> derSchemaClass(); - - <T extends DerSchema> T newDerSchema(); - - <T extends DerAttr> Class<T> derAttrClass(); - - <T extends DerAttr> T newDerAttr(); - - <T extends AttrTemplate<DerSchema>> Class<T> derAttrTemplateClass(); - - <T extends VirSchema> Class<T> virSchemaClass(); - - <T extends VirSchema> T newVirSchema(); - - <T extends VirAttr> Class<T> virAttrClass(); - - <T extends VirAttr> T newVirAttr(); - - <T extends AttrTemplate<VirSchema>> Class<T> virAttrTemplateClass(); - - <T extends MappingItem> T getAccountIdItem(ExternalResource resource); - - String getAccountLink(ExternalResource resource); - - <T extends MappingItem> List<T> getMappingItems(ExternalResource resource, MappingPurpose purpose); - - IntMappingType plainIntMappingType(); - - IntMappingType derIntMappingType(); - - IntMappingType virIntMappingType(); - - <T extends MappingItem> Class<T> mappingItemClass(); - - <T extends AbstractAttributableTO> T newAttributableTO(); - - <T extends AbstractSubjectTO> T newSubjectTO(); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtilsFactory.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtilsFactory.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtilsFactory.java deleted file mode 100644 index 4b5e363..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AttributableUtilsFactory.java +++ /dev/null @@ -1,33 +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.api.entity; - -import org.apache.syncope.common.lib.types.AttributableType; -import org.identityconnectors.framework.common.objects.ObjectClass; - -public interface AttributableUtilsFactory { - - AttributableUtils getInstance(AttributableType type); - - AttributableUtils getInstance(String attributableType); - - AttributableUtils getInstance(ObjectClass objectClass); - - AttributableUtils getInstance(Attributable<?, ?, ?> attributable); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ConnInstance.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ConnInstance.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ConnInstance.java index 88e8b00..eb665ea 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ConnInstance.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ConnInstance.java @@ -18,6 +18,7 @@ */ package org.apache.syncope.core.persistence.api.entity; +import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource; import java.util.List; import java.util.Set; import org.apache.syncope.common.lib.types.ConnConfProperty; http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DerAttr.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DerAttr.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DerAttr.java index 3857f9e..9eb3b7a 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DerAttr.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DerAttr.java @@ -20,7 +20,7 @@ package org.apache.syncope.core.persistence.api.entity; import java.util.Collection; -public interface DerAttr extends Attr<DerSchema> { +public interface DerAttr<O extends Any<?, ?, ?>> extends Attr<DerSchema, O> { - String getValue(Collection<? extends PlainAttr> attrs); + String getValue(Collection<? extends PlainAttr<?>> attrs); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynGroupMembership.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynGroupMembership.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynGroupMembership.java index 8770e35..b01fe70 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynGroupMembership.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynGroupMembership.java @@ -20,9 +20,9 @@ package org.apache.syncope.core.persistence.api.entity; import org.apache.syncope.core.persistence.api.entity.group.Group; -public interface DynGroupMembership extends DynMembership { +public interface DynGroupMembership<A extends Any<?, ?, ?>> extends DynMembership<A> { Group getGroup(); - void setGroup(Group role); + void setGroup(Group group); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynMembership.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynMembership.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynMembership.java index 2fbecc3..ba0a62f 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynMembership.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynMembership.java @@ -19,17 +19,16 @@ package org.apache.syncope.core.persistence.api.entity; import java.util.List; -import org.apache.syncope.core.persistence.api.entity.user.User; -public interface DynMembership extends Entity<Long> { +public interface DynMembership<A extends Any<?, ?, ?>> extends Entity<Long> { String getFIQLCond(); void setFIQLCond(String fiql); - boolean addUser(User user); + boolean add(A any); - boolean removeUser(User user); + boolean remove(A any); - List<? extends User> getUsers(); + List<? extends A> getMembers(); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynRoleMembership.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynRoleMembership.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynRoleMembership.java deleted file mode 100644 index 5321434..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/DynRoleMembership.java +++ /dev/null @@ -1,26 +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.api.entity; - -public interface DynRoleMembership extends DynMembership { - - Role getRole(); - - void setRole(Role role); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ExternalResource.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ExternalResource.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ExternalResource.java deleted file mode 100644 index c221f41..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/ExternalResource.java +++ /dev/null @@ -1,111 +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.api.entity; - -import org.apache.syncope.core.persistence.api.entity.user.UMapping; -import org.apache.syncope.core.persistence.api.entity.group.GMapping; -import java.util.List; -import java.util.Set; -import org.apache.syncope.common.lib.types.ConnConfProperty; -import org.apache.syncope.common.lib.types.PropagationMode; -import org.apache.syncope.common.lib.types.TraceLevel; -import org.identityconnectors.framework.common.objects.SyncToken; - -public interface ExternalResource extends AnnotatedEntity<String> { - - AccountPolicy getAccountPolicy(); - - PasswordPolicy getPasswordPolicy(); - - SyncPolicy getSyncPolicy(); - - Set<ConnConfProperty> getConnInstanceConfiguration(); - - ConnInstance getConnector(); - - TraceLevel getCreateTraceLevel(); - - TraceLevel getUpdateTraceLevel(); - - TraceLevel getDeleteTraceLevel(); - - TraceLevel getSyncTraceLevel(); - - List<String> getPropagationActionsClassNames(); - - PropagationMode getPropagationMode(); - - Integer getPropagationPriority(); - - UMapping getUmapping(); - - GMapping getGmapping(); - - SyncToken getUsyncToken(); - - String getSerializedUSyncToken(); - - SyncToken getRsyncToken(); - - String getSerializedRSyncToken(); - - boolean isEnforceMandatoryCondition(); - - boolean isPropagationPrimary(); - - boolean isRandomPwdIfNotProvided(); - - void setKey(String name); - - void setAccountPolicy(AccountPolicy accountPolicy); - - void setPasswordPolicy(PasswordPolicy passwordPolicy); - - void setSyncPolicy(SyncPolicy syncPolicy); - - void setConnInstanceConfiguration(Set<ConnConfProperty> properties); - - void setConnector(ConnInstance connector); - - void setCreateTraceLevel(TraceLevel createTraceLevel); - - void setUpdateTraceLevel(TraceLevel updateTraceLevel); - - void setDeleteTraceLevel(TraceLevel deleteTraceLevel); - - void setSyncTraceLevel(TraceLevel syncTraceLevel); - - void setPropagationMode(PropagationMode propagationMode); - - void setPropagationPriority(Integer priority); - - void setUmapping(UMapping umapping); - - void setGmapping(GMapping gmapping); - - void setEnforceMandatoryCondition(boolean enforce); - - void setPropagationPrimary(boolean condition); - - void setRandomPwdIfNotProvided(boolean condition); - - void setUsyncToken(SyncToken syncToken); - - void setRsyncToken(SyncToken syncToken); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Mapping.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Mapping.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Mapping.java deleted file mode 100644 index fb491fa..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Mapping.java +++ /dev/null @@ -1,42 +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.api.entity; - -import java.util.List; - -public interface Mapping<T extends MappingItem> extends Entity<Long> { - - T getAccountIdItem(); - - String getAccountLink(); - - List<? extends T> getItems(); - - ExternalResource getResource(); - - boolean addItem(T item); - - boolean removeItem(T item); - - void setAccountIdItem(T item); - - void setAccountLink(String accountLink); - - void setResource(ExternalResource resource); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/MappingItem.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/MappingItem.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/MappingItem.java deleted file mode 100644 index ec6919e..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/MappingItem.java +++ /dev/null @@ -1,57 +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.api.entity; - -import org.apache.syncope.common.lib.types.IntMappingType; -import org.apache.syncope.common.lib.types.MappingPurpose; - -public interface MappingItem extends Entity<Long> { - - String getExtAttrName(); - - String getIntAttrName(); - - IntMappingType getIntMappingType(); - - String getMandatoryCondition(); - - Mapping<?> getMapping(); - - MappingPurpose getPurpose(); - - boolean isAccountid(); - - boolean isPassword(); - - void setAccountid(boolean accountid); - - void setExtAttrName(String extAttrName); - - void setIntAttrName(String intAttrName); - - void setIntMappingType(IntMappingType intMappingType); - - void setMandatoryCondition(String condition); - - void setMapping(Mapping<?> mapping); - - void setPassword(boolean password); - - void setPurpose(MappingPurpose purpose); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Membership.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Membership.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Membership.java new file mode 100644 index 0000000..8c040ab --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Membership.java @@ -0,0 +1,25 @@ +/* + * 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.api.entity; + +import org.apache.syncope.core.persistence.api.entity.group.Group; + +public interface Membership<L extends Any<?, ?, ?>> extends Relationship<L, Group> { + +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Notification.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Notification.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Notification.java index e505f24..dbf8552 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Notification.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Notification.java @@ -26,49 +26,50 @@ public interface Notification extends Entity<Long> { List<String> getEvents(); - String getRecipientAttrName(); - - IntMappingType getRecipientAttrType(); - - String getRecipients(); - - String getGroupAbout(); + boolean isSelfAsRecipient(); - String getSender(); + void setSelfAsRecipient(boolean selfAsRecipient); List<String> getStaticRecipients(); - String getSubject(); - - String getTemplate(); + String getRecipientAttrName(); - TraceLevel getTraceLevel(); + void setRecipientAttrName(String recipientAttrName); - String getUserAbout(); + IntMappingType getRecipientAttrType(); - boolean isActive(); + void setRecipientAttrType(IntMappingType recipientAttrType); - boolean isSelfAsRecipient(); + String getRecipients(); - void setActive(boolean active); + void setRecipients(String recipients); - void setRecipientAttrName(String recipientAttrName); + boolean add(AnyAbout about); - void setRecipientAttrType(IntMappingType recipientAttrType); + boolean remove(AnyAbout about); - void setRecipients(String recipients); + AnyAbout getAbout(AnyType anyType); - void setGroupAbout(String groupAbout); + List<? extends AnyAbout> getAbouts(); - void setSelfAsRecipient(boolean selfAsRecipient); + String getSender(); void setSender(String sender); + String getSubject(); + void setSubject(String subject); + String getTemplate(); + void setTemplate(String template); + TraceLevel getTraceLevel(); + void setTraceLevel(TraceLevel traceLevel); - void setUserAbout(String userAbout); + boolean isActive(); + + void setActive(boolean active); + } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttr.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttr.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttr.java index 8474778..b149851 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttr.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttr.java @@ -20,17 +20,20 @@ package org.apache.syncope.core.persistence.api.entity; import java.util.List; -public interface PlainAttr extends Attr<PlainSchema> { +public interface PlainAttr<O extends Any<?, ?, ?>> extends Attr<PlainSchema, O> { - void addValue(String value, AttributableUtils attributableUtil); + void add(String value, AnyUtils anyUtils); - boolean removeValue(PlainAttrValue attrValue); + void add(String value, PlainAttrValue attrValue); + + boolean remove(PlainAttrValue attrValue); PlainAttrUniqueValue getUniqueValue(); + void setUniqueValue(PlainAttrUniqueValue uniqueValue); + List<? extends PlainAttrValue> getValues(); List<String> getValuesAsStrings(); - void setUniqueValue(PlainAttrUniqueValue uniqueValue); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttrValue.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttrValue.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttrValue.java index 7735d4c..e1f43b6 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttrValue.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/PlainAttrValue.java @@ -23,7 +23,7 @@ import org.apache.syncope.common.lib.types.AttrSchemaType; public interface PlainAttrValue extends Entity<Long> { - PlainAttr getAttr(); + PlainAttr<?> getAttr(); byte[] getBinaryValue(); @@ -45,7 +45,7 @@ public interface PlainAttrValue extends Entity<Long> { void parseValue(PlainSchema schema, String value); - void setAttr(PlainAttr attr); + void setAttr(PlainAttr<?> attr); void setBinaryValue(byte[] binaryValue); http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Relationship.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Relationship.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Relationship.java new file mode 100644 index 0000000..df4d7ff --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Relationship.java @@ -0,0 +1,30 @@ +/* + * 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.api.entity; + +public interface Relationship<L extends Any<?, ?, ?>, R extends Any<?, ?, ?>> extends Entity<Long> { + + L getLeftEnd(); + + void setLeftEnd(L leftEnd); + + R getRightEnd(); + + void setRightEnd(R rightEnd); +} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Role.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Role.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Role.java index 5a9fe86..432efb1 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Role.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Role.java @@ -18,6 +18,7 @@ */ package org.apache.syncope.core.persistence.api.entity; +import org.apache.syncope.core.persistence.api.entity.user.DynRoleMembership; import java.util.List; import java.util.Set; http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Subject.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Subject.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Subject.java deleted file mode 100644 index 11f0c81..0000000 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/Subject.java +++ /dev/null @@ -1,36 +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.api.entity; - -import java.util.Set; - -public interface Subject<N extends PlainAttr, D extends DerAttr, V extends VirAttr> extends Attributable<N, D, V> { - - Realm getRealm(); - - void setRealm(Realm realm); - - boolean addResource(ExternalResource resource); - - boolean removeResource(ExternalResource resource); - - Set<String> getResourceNames(); - - Set<? extends ExternalResource> getResources(); -} http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/VirAttr.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/VirAttr.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/VirAttr.java index 9df47cd..7761d93 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/VirAttr.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/VirAttr.java @@ -20,11 +20,11 @@ package org.apache.syncope.core.persistence.api.entity; import java.util.List; -public interface VirAttr extends Attr<VirSchema> { +public interface VirAttr<O extends Any<?, ?, ?>> extends Attr<VirSchema, O> { List<String> getValues(); - boolean addValue(String value); + boolean add(String value); - boolean removeValue(String value); + boolean remove(String value); } http://git-wip-us.apache.org/repos/asf/syncope/blob/081d9a04/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/anyobject/ADerAttr.java ---------------------------------------------------------------------- diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/anyobject/ADerAttr.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/anyobject/ADerAttr.java new file mode 100644 index 0000000..ca5854a --- /dev/null +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/anyobject/ADerAttr.java @@ -0,0 +1,24 @@ +/* + * 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.api.entity.anyobject; + +import org.apache.syncope.core.persistence.api.entity.DerAttr; + +public interface ADerAttr extends DerAttr<AnyObject> { +}
