public ProjectInstance getPrjByUuid(String uuid) { try (AutoLock lock = prjMapLock.lockForRead()) { for (ProjectInstance prj : projectMap.values()) { if (uuid.equals(prj.getUuid())) return prj; } return null; } }
private List<Sid> getAllSids(String project) { List<Sid> allSids = new ArrayList<>(); ProjectInstance prj = projectService.getProjectManager().getProject(project); AclEntity ae = accessService.getAclEntity("ProjectInstance", prj.getUuid()); Acl acl = accessService.getAcl(ae); if (acl != null && acl.getEntries() != null) { for (AccessControlEntry ace : acl.getEntries()) { allSids.add(ace.getSid()); } } return allSids; }
public ProjectInstance updateProject(ProjectInstance project, String newName, String newDesc, LinkedHashMap<String, String> overrideProps) throws IOException { try (AutoLock lock = prjMapLock.lockForWrite()) { Preconditions.checkArgument(project.getName().equals(newName)); project.setName(newName); project.setDescription(newDesc); project.setOverrideKylinProps(overrideProps); if (project.getUuid() == null) project.updateRandomUuid(); return save(project); } }
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = store.getResource(projectResPath, projectSerializer); String projUUID = project.getUuid(); Table aclHtable = null; try {
private Map<String, Integer> getProjectPermission(String project) { Map<String, Integer> SidWithPermission = new HashMap<>(); String uuid = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()).getProject(project).getUuid(); AclEntity ae = getAclEntity(AclEntityType.PROJECT_INSTANCE, uuid); Acl acl = getAcl(ae); if (acl != null && acl.getEntries() != null) { List<AccessControlEntry> aces = acl.getEntries(); for (AccessControlEntry ace : aces) { Sid sid = ace.getSid(); if (sid instanceof PrincipalSid) { String principal = ((PrincipalSid) sid).getPrincipal(); SidWithPermission.put(principal, ace.getPermission().getMask()); } if (sid instanceof GrantedAuthoritySid) { String grantedAuthority = ((GrantedAuthoritySid) sid).getGrantedAuthority(); SidWithPermission.put(grantedAuthority, ace.getPermission().getMask()); } } } return SidWithPermission; }
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = store.getResource(projectResPath, projectSerializer); String projUUID = project.getUuid(); Table aclHtable = null; try {
public void revokeProjectPermission(String name, String type) { Sid sid = null; if (type.equalsIgnoreCase(MetadataConstants.TYPE_USER)) { sid = new PrincipalSid(name); } else if (type.equalsIgnoreCase(MetadataConstants.TYPE_GROUP)) { sid = new GrantedAuthoritySid(name); } else { return; } // revoke user's project permission List<ProjectInstance> projectInstances = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()) .listAllProjects(); for (ProjectInstance pi : projectInstances) { // after KYLIN-2760, only project ACL will work, so entity type is always ProjectInstance. AclEntity ae = getAclEntity("ProjectInstance", pi.getUuid()); MutableAclRecord acl = getAcl(ae); if (acl == null) { return; } Permission perm = acl.getAclRecord().getPermission(sid); if (perm != null) { secureOwner(acl, sid); aclService.upsertAce(acl, sid, null); } } }
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = dstStore.getResource(projectResPath, projectSerializer); String projUUID = project.getUuid(); Table srcAclHtable = null; Table destAclHtable = null;
public ProjectInstance updateProject(ProjectInstance project, String newName, String newDesc) throws IOException { if (!project.getName().equals(newName)) { ProjectInstance newProject = this.createProject(newName, project.getOwner(), newDesc); // FIXME table lost?? newProject.setCreateTimeUTC(project.getCreateTimeUTC()); newProject.recordUpdateTime(System.currentTimeMillis()); newProject.setRealizationEntries(project.getRealizationEntries()); deleteResource(project); saveResource(newProject); return newProject; } else { project.setName(newName); project.setDescription(newDesc); if (project.getUuid() == null) project.updateRandomUuid(); saveResource(project); return project; } }
public ProjectInstance getPrjByUuid(String uuid) { try (AutoLock lock = prjMapLock.lockForRead()) { for (ProjectInstance prj : projectMap.values()) { if (uuid.equals(prj.getUuid())) return prj; } return null; } }
public ProjectInstance updateProject(ProjectInstance project, String newName, String newDesc, LinkedHashMap<String, String> overrideProps) throws IOException { try (AutoLock lock = prjMapLock.lockForWrite()) { Preconditions.checkArgument(project.getName().equals(newName)); project.setName(newName); project.setDescription(newDesc); project.setOverrideKylinProps(overrideProps); if (project.getUuid() == null) project.updateRandomUuid(); return save(project); } }
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = store.getResource(projectResPath, projectSerializer); String projUUID = project.getUuid(); Table aclHtable = null; try {
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = store.getResource(projectResPath, projectSerializer); String projUUID = project.getUuid(); Table aclHtable = null; try {
public ProjectInstance updateProject(ProjectInstance project, String newName, String newDesc) throws IOException { if (!project.getName().equals(newName)) { ProjectInstance newProject = this.createProject(newName, project.getOwner(), newDesc); // FIXME table lost?? newProject.setCreateTimeUTC(project.getCreateTimeUTC()); newProject.recordUpdateTime(System.currentTimeMillis()); newProject.setRealizationEntries(project.getRealizationEntries()); deleteResource(project); saveResource(newProject); return newProject; } else { project.setName(newName); project.setDescription(newDesc); if (project.getUuid() == null) project.updateRandomUuid(); saveResource(project); return project; } }
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = dstStore.getResource(projectResPath, ProjectInstance.class, projectSerializer); String projUUID = project.getUuid(); HTableInterface srcAclHtable = null; HTableInterface destAclHtable = null;
Serializer<ProjectInstance> projectSerializer = new JsonSerializer<ProjectInstance>(ProjectInstance.class); ProjectInstance project = dstStore.getResource(projectResPath, projectSerializer); String projUUID = project.getUuid(); Table srcAclHtable = null; Table destAclHtable = null;