http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/api/AclPolicyPermission.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/api/AclPolicyPermission.java b/services/iam/server/src/org/apache/cloudstack/iam/api/AclPolicyPermission.java deleted file mode 100644 index f0352bc..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/api/AclPolicyPermission.java +++ /dev/null @@ -1,53 +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.cloudstack.iam.api; - - -public interface AclPolicyPermission { - - String getAction(); - - long getAclPolicyId(); - - String getEntityType(); - - String getAccessType(); - - String getScope(); - - Long getScopeId(); - - Permission getPermission(); - - public enum Permission { - Allow(true), Deny(false); - - boolean result; - - Permission(boolean result) { - this.result = result; - } - - public boolean isGranted() { - return result; - } - } - - long getId(); - - public static final long PERMISSION_SCOPE_ID_CURRENT_CALLER = -1; -}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/api/IAMGroup.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/api/IAMGroup.java b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMGroup.java new file mode 100644 index 0000000..868d0a0 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMGroup.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.cloudstack.iam.api; + +import org.apache.cloudstack.api.Identity; +import org.apache.cloudstack.api.InternalIdentity; + +public interface IAMGroup extends InternalIdentity, Identity { + + String getName(); + + String getDescription(); + + @Override + long getId(); + + @Override + String getUuid(); + + String getPath(); + + long getAccountId(); +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicy.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicy.java b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicy.java new file mode 100644 index 0000000..e6daeb1 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicy.java @@ -0,0 +1,41 @@ +// 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.cloudstack.iam.api; + +import org.apache.cloudstack.api.Identity; +import org.apache.cloudstack.api.InternalIdentity; + +public interface IAMPolicy extends InternalIdentity, Identity { + + String getName(); + + String getDescription(); + + public enum PolicyType { + Static, Dynamic + } + + @Override + long getId(); + + @Override + String getUuid(); + + String getPath(); + + long getAccountId(); +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicyPermission.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicyPermission.java b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicyPermission.java new file mode 100644 index 0000000..b91086f --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMPolicyPermission.java @@ -0,0 +1,53 @@ +// 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.cloudstack.iam.api; + + +public interface IAMPolicyPermission { + + String getAction(); + + long getAclPolicyId(); + + String getEntityType(); + + String getAccessType(); + + String getScope(); + + Long getScopeId(); + + Permission getPermission(); + + public enum Permission { + Allow(true), Deny(false); + + boolean result; + + Permission(boolean result) { + this.result = result; + } + + public boolean isGranted() { + return result; + } + } + + long getId(); + + public static final long PERMISSION_SCOPE_ID_CURRENT_CALLER = -1; +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/api/IAMService.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/api/IAMService.java b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMService.java index 3957b62..6eb61fa 100644 --- a/services/iam/server/src/org/apache/cloudstack/iam/api/IAMService.java +++ b/services/iam/server/src/org/apache/cloudstack/iam/api/IAMService.java @@ -18,75 +18,75 @@ package org.apache.cloudstack.iam.api; import java.util.List; -import org.apache.cloudstack.iam.api.AclPolicyPermission.Permission; +import org.apache.cloudstack.iam.api.IAMPolicyPermission.Permission; import com.cloud.utils.Pair; public interface IAMService { /* ACL group related interfaces */ - AclGroup createAclGroup(String aclGroupName, String description, String path); + IAMGroup createAclGroup(String aclGroupName, String description, String path); boolean deleteAclGroup(Long aclGroupId); - List<AclGroup> listAclGroups(long accountId); + List<IAMGroup> listAclGroups(long accountId); - AclGroup addAccountsToGroup(List<Long> acctIds, Long groupId); + IAMGroup addAccountsToGroup(List<Long> acctIds, Long groupId); - AclGroup removeAccountsFromGroup(List<Long> acctIds, Long groupId); + IAMGroup removeAccountsFromGroup(List<Long> acctIds, Long groupId); List<Long> listAccountsByGroup(long groupId); - Pair<List<AclGroup>, Integer> listAclGroups(Long aclGroupId, String aclGroupName, String path, Long startIndex, Long pageSize); + Pair<List<IAMGroup>, Integer> listAclGroups(Long aclGroupId, String aclGroupName, String path, Long startIndex, Long pageSize); /* ACL Policy related interfaces */ - AclPolicy createAclPolicy(String aclPolicyName, String description, Long parentPolicyId, String path); + IAMPolicy createAclPolicy(String aclPolicyName, String description, Long parentPolicyId, String path); boolean deleteAclPolicy(long aclPolicyId); - List<AclPolicy> listAclPolicies(long accountId); + List<IAMPolicy> listAclPolicies(long accountId); - List<AclPolicy> listAclPoliciesByGroup(long groupId); + List<IAMPolicy> listAclPoliciesByGroup(long groupId); - Pair<List<AclPolicy>, Integer> listAclPolicies(Long aclPolicyId, String aclPolicyName, String path, Long startIndex, Long pageSize); + Pair<List<IAMPolicy>, Integer> listAclPolicies(Long aclPolicyId, String aclPolicyName, String path, Long startIndex, Long pageSize); - AclGroup attachAclPoliciesToGroup(List<Long> policyIds, Long groupId); + IAMGroup attachAclPoliciesToGroup(List<Long> policyIds, Long groupId); - AclGroup removeAclPoliciesFromGroup(List<Long> policyIds, Long groupId); + IAMGroup removeAclPoliciesFromGroup(List<Long> policyIds, Long groupId); void attachAclPolicyToAccounts(Long policyId, List<Long> acctIds); void removeAclPolicyFromAccounts(Long policyId, List<Long> acctIds); - AclPolicy addAclPermissionToAclPolicy(long aclPolicyId, String entityType, String scope, Long scopeId, + IAMPolicy addAclPermissionToAclPolicy(long aclPolicyId, String entityType, String scope, Long scopeId, String action, String accessType, Permission perm, Boolean recursive); - AclPolicy removeAclPermissionFromAclPolicy(long aclPolicyId, String entityType, String scope, Long scopeId, + IAMPolicy removeAclPermissionFromAclPolicy(long aclPolicyId, String entityType, String scope, Long scopeId, String action); void removeAclPermissionForEntity(final String entityType, final Long entityId); - AclPolicy getResourceGrantPolicy(String entityType, Long entityId, String accessType, String action); + IAMPolicy getResourceGrantPolicy(String entityType, Long entityId, String accessType, String action); - AclPolicy getResourceOwnerPolicy(); + IAMPolicy getResourceOwnerPolicy(); - List<AclPolicyPermission> listPolicyPermissions(long policyId); + List<IAMPolicyPermission> listPolicyPermissions(long policyId); - List<AclPolicyPermission> listPolicyPermissionsByScope(long policyId, String action, String scope); + List<IAMPolicyPermission> listPolicyPermissionsByScope(long policyId, String action, String scope); - List<AclPolicyPermission> listPolicyPermissionByActionAndEntity(long policyId, String action, String entityType); + List<IAMPolicyPermission> listPolicyPermissionByActionAndEntity(long policyId, String action, String entityType); - boolean isActionAllowedForPolicies(String action, List<AclPolicy> policies); + boolean isActionAllowedForPolicies(String action, List<IAMPolicy> policies); List<Long> getGrantedEntities(long accountId, String action, String scope); - AclPolicy resetAclPolicy(long aclPolicyId); + IAMPolicy resetAclPolicy(long aclPolicyId); - List<AclPolicyPermission> listPolicyPermissionByAccessAndEntity(long policyId, String accessType, + List<IAMPolicyPermission> listPolicyPermissionByAccessAndEntity(long policyId, String accessType, String entityType); - List<AclGroup> listParentAclGroups(long groupId); + List<IAMGroup> listParentAclGroups(long groupId); - List<AclPolicy> listRecursiveAclPoliciesByGroup(long groupId); + List<IAMPolicy> listRecursiveAclPoliciesByGroup(long groupId); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/AclAccountPolicyMapVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/AclAccountPolicyMapVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/AclAccountPolicyMapVO.java deleted file mode 100644 index b491e6e..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/server/AclAccountPolicyMapVO.java +++ /dev/null @@ -1,77 +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.cloudstack.iam.server; - -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import com.cloud.utils.db.GenericDao; - -@Entity -@Table(name = ("acl_account_policy_map")) -public class AclAccountPolicyMapVO { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private Long id; - - @Column(name = "account_id") - private long accountId; - - @Column(name = "policy_id") - private long aclPolicyId; - - @Column(name = GenericDao.REMOVED_COLUMN) - private Date removed; - - @Column(name = GenericDao.CREATED_COLUMN) - private Date created; - - public AclAccountPolicyMapVO() { - } - - public AclAccountPolicyMapVO(long accountId, long aclPolicyId) { - this.accountId = accountId; - this.aclPolicyId = aclPolicyId; - } - - public long getId() { - return id; - } - - public long getAccountId() { - return accountId; - } - - public long getAclPolicyId() { - return aclPolicyId; - } - - public Date getRemoved() { - return removed; - } - - public Date getCreated() { - return created; - } -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupAccountMapVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupAccountMapVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupAccountMapVO.java deleted file mode 100644 index d39317a..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupAccountMapVO.java +++ /dev/null @@ -1,78 +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.cloudstack.iam.server; - -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import com.cloud.utils.db.GenericDao; - -@Entity -@Table(name = ("acl_group_account_map")) -public class AclGroupAccountMapVO { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private Long id; - - @Column(name = "group_id") - private long aclGroupId; - - @Column(name = "account_id") - private long accountId; - - @Column(name = GenericDao.REMOVED_COLUMN) - private Date removed; - - @Column(name = GenericDao.CREATED_COLUMN) - private Date created; - - public AclGroupAccountMapVO() { - } - - public AclGroupAccountMapVO(long aclGroupId, long accountId) { - this.aclGroupId = aclGroupId; - this.accountId = accountId; - } - - public long getId() { - return id; - } - - public long getAclGroupId() { - return aclGroupId; - } - - - public long getAccountId() { - return accountId; - } - - public Date getRemoved() { - return removed; - } - - public Date getCreated() { - return created; - } -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupPolicyMapVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupPolicyMapVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupPolicyMapVO.java deleted file mode 100644 index 0dfef09..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupPolicyMapVO.java +++ /dev/null @@ -1,79 +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.cloudstack.iam.server; - -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - - -import com.cloud.utils.db.GenericDao; - -@Entity -@Table(name = ("acl_group_policy_map")) -public class AclGroupPolicyMapVO { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private Long id; - - @Column(name = "group_id") - private long aclGroupId; - - @Column(name = "policy_id") - private long aclPolicyId; - - @Column(name = GenericDao.REMOVED_COLUMN) - private Date removed; - - @Column(name = GenericDao.CREATED_COLUMN) - private Date created; - - public AclGroupPolicyMapVO() { - } - - public AclGroupPolicyMapVO(long aclGroupId, long aclPolicyId) { - this.aclGroupId = aclGroupId; - this.aclPolicyId = aclPolicyId; - } - - public long getId() { - return id; - } - - public long getAclGroupId() { - return aclGroupId; - } - - - public long getAclPolicyId() { - return aclPolicyId; - } - - public Date getRemoved() { - return removed; - } - - public Date getCreated() { - return created; - } -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupVO.java deleted file mode 100644 index bdb85e8..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/server/AclGroupVO.java +++ /dev/null @@ -1,122 +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.cloudstack.iam.server; - -import java.util.Date; -import java.util.UUID; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import org.apache.cloudstack.iam.api.AclGroup; - -import com.cloud.utils.db.GenericDao; - -@Entity -@Table(name = ("acl_group")) -public class AclGroupVO implements AclGroup { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private long id; - - @Column(name = "name") - private String name; - - @Column(name = "description") - private String description; - - @Column(name = "uuid") - private String uuid; - - @Column(name = "path") - private String path; - - @Column(name = "account_id") - private long accountId; - - @Column(name = GenericDao.REMOVED_COLUMN) - private Date removed; - - @Column(name = GenericDao.CREATED_COLUMN) - private Date created; - - public AclGroupVO() { - uuid = UUID.randomUUID().toString(); - } - - public AclGroupVO(String name, String description) { - this.name = name; - this.description = description; - uuid = UUID.randomUUID().toString(); - path = "/"; - } - - @Override - public long getId() { - return id; - } - - @Override - public String getName() { - return name; - } - - @Override - public String getDescription() { - return description; - } - - @Override - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - @Override - public long getAccountId() { - return accountId; - } - - public void setAccountId(long acctId) { - accountId = acctId; - } - - @Override - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public Date getRemoved() { - return removed; - } - - public Date getCreated() { - return created; - } -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyPermissionVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyPermissionVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyPermissionVO.java deleted file mode 100644 index 5d2a36b9..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyPermissionVO.java +++ /dev/null @@ -1,181 +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.cloudstack.iam.server; - -import java.util.Date; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import org.apache.cloudstack.iam.api.AclPolicyPermission; -import com.cloud.utils.db.GenericDao; - -@Entity -@Table(name = ("acl_policy_permission")) -public class AclPolicyPermissionVO implements AclPolicyPermission { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private long id; - - @Column(name = "policy_id") - private long aclPolicyId; - - @Column(name = "action") - private String action; - - @Column(name = "resource_type") - private String entityType; - - @Column(name = "access_type") - private String accessType; - - @Column(name = "scope") - private String scope; - - @Column(name = "scope_id") - private Long scopeId; - - @Column(name = "permission") - @Enumerated(value = EnumType.STRING) - private Permission permission; - - @Column(name = "recursive") - private Boolean recursive; - - @Column(name = GenericDao.REMOVED_COLUMN) - private Date removed; - - @Column(name = GenericDao.CREATED_COLUMN) - private Date created; - - public AclPolicyPermissionVO() { - - } - - public AclPolicyPermissionVO(long aclPolicyId, String action, String entityType, String accessType, String scope, - Long scopeId, Permission permission, Boolean recursive) { - this.aclPolicyId = aclPolicyId; - this.action = action; - this.entityType = entityType; - this.accessType = accessType; - this.scope = scope; - this.scopeId = scopeId; - this.permission = permission; - this.recursive = recursive; - } - - @Override - public long getId() { - return id; - } - - @Override - public long getAclPolicyId() { - return aclPolicyId; - } - - - public void setAclPolicyId(long aclPolicyId) { - this.aclPolicyId = aclPolicyId; - } - - @Override - public String getEntityType() { - return entityType; - } - - @Override - public String getAccessType() { - return accessType; - } - - - public void setEntityType(String entityType) { - this.entityType = entityType; - } - - public void setAccessType(String accessType) { - this.accessType = accessType; - } - - @Override - public String getScope() { - return scope; - } - - public void setScope(String scope) { - this.scope = scope; - } - - - @Override - public String getAction() { - return action; - } - - @Override - public Long getScopeId() { - // TODO - // handle special -1 scopeId, current caller domain, account - /* - * if ( scopeId < 0 ){ Account caller = - * CallContext.current().getCallingAccount(); if ( scope == - * PermissionScope.DOMAIN){ return caller.getDomainId(); } else if - * (scope == PermissionScope.ACCOUNT) { return caller.getAccountId(); } - * } - */ - return scopeId; - } - - @Override - public Permission getPermission() { - return permission; - } - - public void setAction(String action) { - this.action = action; - } - - public void setScopeId(Long scopeId) { - this.scopeId = scopeId; - } - - public void setPermission(Permission permission) { - this.permission = permission; - } - - public Date getRemoved() { - return removed; - } - - public Date getCreated() { - return created; - } - - public Boolean isRecursive() { - return recursive; - } - -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyVO.java deleted file mode 100644 index 16fbf80..0000000 --- a/services/iam/server/src/org/apache/cloudstack/iam/server/AclPolicyVO.java +++ /dev/null @@ -1,138 +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.cloudstack.iam.server; - -import java.util.Date; -import java.util.UUID; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; - -import org.apache.cloudstack.iam.api.AclPolicy; - -import com.cloud.utils.db.GenericDao; - -@Entity -@Table(name = ("acl_policy")) -public class AclPolicyVO implements AclPolicy { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private long id; - - @Column(name = "name") - private String name; - - @Column(name = "description") - private String description; - - @Column(name = "uuid") - private String uuid; - - @Column(name = "path") - private String path; - - @Column(name = "account_id") - private long accountId; - - @Column(name = GenericDao.REMOVED_COLUMN) - private Date removed; - - @Column(name = GenericDao.CREATED_COLUMN) - private Date created; - - @Column(name = "policy_type") - @Enumerated(value = EnumType.STRING) - private AclPolicy.PolicyType policyType; - - public AclPolicyVO() { - uuid = UUID.randomUUID().toString(); - } - - public AclPolicyVO(String name, String description) { - this.name = name; - this.description = description; - uuid = UUID.randomUUID().toString(); - policyType = AclPolicy.PolicyType.Static; - } - - @Override - public long getId() { - return id; - } - - @Override - public String getName() { - return name; - } - - @Override - public String getDescription() { - return description; - } - - - @Override - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public Date getRemoved() { - return removed; - } - - public Date getCreated() { - return created; - } - - @Override - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } - - @Override - public long getAccountId() { - return accountId; - } - - public void setAccountId(long accountId) { - this.accountId = accountId; - } - - public AclPolicy.PolicyType getPolicyType() { - return policyType; - } - - public void setPolicyType(AclPolicy.PolicyType policyType) { - this.policyType = policyType; - } - -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/IAMAccountPolicyMapVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/IAMAccountPolicyMapVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMAccountPolicyMapVO.java new file mode 100644 index 0000000..8f3ac7d --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMAccountPolicyMapVO.java @@ -0,0 +1,77 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +package org.apache.cloudstack.iam.server; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import com.cloud.utils.db.GenericDao; + +@Entity +@Table(name = ("iam_account_policy_map")) +public class IAMAccountPolicyMapVO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "account_id") + private long accountId; + + @Column(name = "policy_id") + private long aclPolicyId; + + @Column(name = GenericDao.REMOVED_COLUMN) + private Date removed; + + @Column(name = GenericDao.CREATED_COLUMN) + private Date created; + + public IAMAccountPolicyMapVO() { + } + + public IAMAccountPolicyMapVO(long accountId, long aclPolicyId) { + this.accountId = accountId; + this.aclPolicyId = aclPolicyId; + } + + public long getId() { + return id; + } + + public long getAccountId() { + return accountId; + } + + public long getAclPolicyId() { + return aclPolicyId; + } + + public Date getRemoved() { + return removed; + } + + public Date getCreated() { + return created; + } +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupAccountMapVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupAccountMapVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupAccountMapVO.java new file mode 100644 index 0000000..dac7d35 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupAccountMapVO.java @@ -0,0 +1,78 @@ +// 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.cloudstack.iam.server; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import com.cloud.utils.db.GenericDao; + +@Entity +@Table(name = ("iam_group_account_map")) +public class IAMGroupAccountMapVO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "group_id") + private long aclGroupId; + + @Column(name = "account_id") + private long accountId; + + @Column(name = GenericDao.REMOVED_COLUMN) + private Date removed; + + @Column(name = GenericDao.CREATED_COLUMN) + private Date created; + + public IAMGroupAccountMapVO() { + } + + public IAMGroupAccountMapVO(long aclGroupId, long accountId) { + this.aclGroupId = aclGroupId; + this.accountId = accountId; + } + + public long getId() { + return id; + } + + public long getAclGroupId() { + return aclGroupId; + } + + + public long getAccountId() { + return accountId; + } + + public Date getRemoved() { + return removed; + } + + public Date getCreated() { + return created; + } +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupPolicyMapVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupPolicyMapVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupPolicyMapVO.java new file mode 100644 index 0000000..946d1f7 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupPolicyMapVO.java @@ -0,0 +1,79 @@ +// 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.cloudstack.iam.server; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + + +import com.cloud.utils.db.GenericDao; + +@Entity +@Table(name = ("iam_group_policy_map")) +public class IAMGroupPolicyMapVO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "group_id") + private long aclGroupId; + + @Column(name = "policy_id") + private long aclPolicyId; + + @Column(name = GenericDao.REMOVED_COLUMN) + private Date removed; + + @Column(name = GenericDao.CREATED_COLUMN) + private Date created; + + public IAMGroupPolicyMapVO() { + } + + public IAMGroupPolicyMapVO(long aclGroupId, long aclPolicyId) { + this.aclGroupId = aclGroupId; + this.aclPolicyId = aclPolicyId; + } + + public long getId() { + return id; + } + + public long getAclGroupId() { + return aclGroupId; + } + + + public long getAclPolicyId() { + return aclPolicyId; + } + + public Date getRemoved() { + return removed; + } + + public Date getCreated() { + return created; + } +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupVO.java new file mode 100644 index 0000000..80edb89 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMGroupVO.java @@ -0,0 +1,122 @@ +// 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.cloudstack.iam.server; + +import java.util.Date; +import java.util.UUID; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.apache.cloudstack.iam.api.IAMGroup; + +import com.cloud.utils.db.GenericDao; + +@Entity +@Table(name = ("iam_group")) +public class IAMGroupVO implements IAMGroup { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "name") + private String name; + + @Column(name = "description") + private String description; + + @Column(name = "uuid") + private String uuid; + + @Column(name = "path") + private String path; + + @Column(name = "account_id") + private long accountId; + + @Column(name = GenericDao.REMOVED_COLUMN) + private Date removed; + + @Column(name = GenericDao.CREATED_COLUMN) + private Date created; + + public IAMGroupVO() { + uuid = UUID.randomUUID().toString(); + } + + public IAMGroupVO(String name, String description) { + this.name = name; + this.description = description; + uuid = UUID.randomUUID().toString(); + path = "/"; + } + + @Override + public long getId() { + return id; + } + + @Override + public String getName() { + return name; + } + + @Override + public String getDescription() { + return description; + } + + @Override + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + @Override + public long getAccountId() { + return accountId; + } + + public void setAccountId(long acctId) { + accountId = acctId; + } + + @Override + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public Date getRemoved() { + return removed; + } + + public Date getCreated() { + return created; + } +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyPermissionVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyPermissionVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyPermissionVO.java new file mode 100644 index 0000000..13d6b81 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyPermissionVO.java @@ -0,0 +1,181 @@ +// 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.cloudstack.iam.server; + +import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.apache.cloudstack.iam.api.IAMPolicyPermission; +import com.cloud.utils.db.GenericDao; + +@Entity +@Table(name = ("iam_policy_permission")) +public class IAMPolicyPermissionVO implements IAMPolicyPermission { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "policy_id") + private long aclPolicyId; + + @Column(name = "action") + private String action; + + @Column(name = "resource_type") + private String entityType; + + @Column(name = "access_type") + private String accessType; + + @Column(name = "scope") + private String scope; + + @Column(name = "scope_id") + private Long scopeId; + + @Column(name = "permission") + @Enumerated(value = EnumType.STRING) + private Permission permission; + + @Column(name = "recursive") + private Boolean recursive; + + @Column(name = GenericDao.REMOVED_COLUMN) + private Date removed; + + @Column(name = GenericDao.CREATED_COLUMN) + private Date created; + + public IAMPolicyPermissionVO() { + + } + + public IAMPolicyPermissionVO(long aclPolicyId, String action, String entityType, String accessType, String scope, + Long scopeId, Permission permission, Boolean recursive) { + this.aclPolicyId = aclPolicyId; + this.action = action; + this.entityType = entityType; + this.accessType = accessType; + this.scope = scope; + this.scopeId = scopeId; + this.permission = permission; + this.recursive = recursive; + } + + @Override + public long getId() { + return id; + } + + @Override + public long getAclPolicyId() { + return aclPolicyId; + } + + + public void setAclPolicyId(long aclPolicyId) { + this.aclPolicyId = aclPolicyId; + } + + @Override + public String getEntityType() { + return entityType; + } + + @Override + public String getAccessType() { + return accessType; + } + + + public void setEntityType(String entityType) { + this.entityType = entityType; + } + + public void setAccessType(String accessType) { + this.accessType = accessType; + } + + @Override + public String getScope() { + return scope; + } + + public void setScope(String scope) { + this.scope = scope; + } + + + @Override + public String getAction() { + return action; + } + + @Override + public Long getScopeId() { + // TODO + // handle special -1 scopeId, current caller domain, account + /* + * if ( scopeId < 0 ){ Account caller = + * CallContext.current().getCallingAccount(); if ( scope == + * PermissionScope.DOMAIN){ return caller.getDomainId(); } else if + * (scope == PermissionScope.ACCOUNT) { return caller.getAccountId(); } + * } + */ + return scopeId; + } + + @Override + public Permission getPermission() { + return permission; + } + + public void setAction(String action) { + this.action = action; + } + + public void setScopeId(Long scopeId) { + this.scopeId = scopeId; + } + + public void setPermission(Permission permission) { + this.permission = permission; + } + + public Date getRemoved() { + return removed; + } + + public Date getCreated() { + return created; + } + + public Boolean isRecursive() { + return recursive; + } + +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/187f9cd0/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyVO.java ---------------------------------------------------------------------- diff --git a/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyVO.java b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyVO.java new file mode 100644 index 0000000..25ebd01 --- /dev/null +++ b/services/iam/server/src/org/apache/cloudstack/iam/server/IAMPolicyVO.java @@ -0,0 +1,138 @@ +// 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.cloudstack.iam.server; + +import java.util.Date; +import java.util.UUID; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.apache.cloudstack.iam.api.IAMPolicy; + +import com.cloud.utils.db.GenericDao; + +@Entity +@Table(name = ("iam_policy")) +public class IAMPolicyVO implements IAMPolicy { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private long id; + + @Column(name = "name") + private String name; + + @Column(name = "description") + private String description; + + @Column(name = "uuid") + private String uuid; + + @Column(name = "path") + private String path; + + @Column(name = "account_id") + private long accountId; + + @Column(name = GenericDao.REMOVED_COLUMN) + private Date removed; + + @Column(name = GenericDao.CREATED_COLUMN) + private Date created; + + @Column(name = "policy_type") + @Enumerated(value = EnumType.STRING) + private IAMPolicy.PolicyType policyType; + + public IAMPolicyVO() { + uuid = UUID.randomUUID().toString(); + } + + public IAMPolicyVO(String name, String description) { + this.name = name; + this.description = description; + uuid = UUID.randomUUID().toString(); + policyType = IAMPolicy.PolicyType.Static; + } + + @Override + public long getId() { + return id; + } + + @Override + public String getName() { + return name; + } + + @Override + public String getDescription() { + return description; + } + + + @Override + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public Date getRemoved() { + return removed; + } + + public Date getCreated() { + return created; + } + + @Override + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } + + @Override + public long getAccountId() { + return accountId; + } + + public void setAccountId(long accountId) { + this.accountId = accountId; + } + + public IAMPolicy.PolicyType getPolicyType() { + return policyType; + } + + public void setPolicyType(IAMPolicy.PolicyType policyType) { + this.policyType = policyType; + } + +}
