use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.
the class ProjectServiceImpl method modifyPermissions.
@Override
public ProjectPermissions modifyPermissions(final ProjectName projectName, final ProjectPermissions projectPermissions) {
if (ProjectConstants.DEFAULT_PROJECT_NAME.equals(projectName)) {
throw new IllegalArgumentException("Default project permissions cannot be modified.");
}
return callWithUpdateContext(() -> {
final ProjectPermissions result = doModifyPermissions(projectName, projectPermissions);
LOG.debug("Project permissions updated: " + projectName);
return result;
}, projectName);
}
use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.
the class ModifyProjectHandler method doExecute.
@Override
protected ProjectMapper doExecute() {
final Project projectBeforeUpdate = this.projectService.get(this.id);
final ModifyProjectParams params = modifyProjectParams(projectBeforeUpdate);
final Project project = this.projectService.modify(params);
Locale projectLanguage;
if (this.language != null) {
projectLanguage = ApplyProjectLanguageCommand.create().projectName(this.id).language(this.language).contentService(this.contentService).build().execute();
} else {
projectLanguage = GetProjectLanguageCommand.create().projectName(this.id).contentService(this.contentService).build().execute();
}
final Boolean isPublic = GetProjectReadAccessCommand.create().projectName(this.id).contentService(this.contentService).build().execute();
final ProjectPermissions projectPermissions = this.projectService.getPermissions(this.id);
return ProjectMapper.create().setProject(project).setLanguage(projectLanguage).setProjectPermissions(projectPermissions).setIsPublic(isPublic).build();
}
use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.
the class ModifyProjectPermissionsHandler method doExecute.
@Override
protected ProjectPermissionsMapper doExecute() {
final ProjectPermissions permissionsBeforeUpdate = this.projectService.getPermissions(this.id);
final ProjectPermissions projectPermissions = this.permissions != null ? this.projectService.modifyPermissions(this.id, merge(permissionsBeforeUpdate, this.permissions)) : this.projectService.getPermissions(this.id);
return new ProjectPermissionsMapper(projectPermissions);
}
use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.
the class BaseProjectHandlerTest method mockProject.
protected void mockProject() {
final Map<ProjectName, Project> projects = new HashMap<>();
when(this.projectService.create(any(CreateProjectParams.class))).thenAnswer(mock -> {
final Project project = createProject((CreateProjectParams) mock.getArguments()[0]);
Mockito.when(projectService.get(project.getName())).thenReturn(project);
Mockito.when(projectService.delete(project.getName())).thenReturn(true);
projects.put(project.getName(), project);
return project;
});
when(this.projectService.modify(any(ModifyProjectParams.class))).thenAnswer(mock -> {
final Project project = createProject((ModifyProjectParams) mock.getArguments()[0]);
Mockito.when(projectService.get(project.getName())).thenReturn(project);
projects.put(project.getName(), project);
return project;
});
when(this.projectService.list()).thenAnswer(mock -> Projects.create().addAll(projects.values()).build());
when(this.projectService.getPermissions(any(ProjectName.class))).thenReturn(ProjectPermissions.create().build());
when(this.projectService.modifyPermissions(any(ProjectName.class), any(ProjectPermissions.class))).thenAnswer(mock -> {
final ProjectName projectName = (ProjectName) mock.getArguments()[0];
final ProjectPermissions projectPermissions = (ProjectPermissions) mock.getArguments()[1];
Mockito.when(projectService.getPermissions(projectName)).thenReturn(projectPermissions);
return projectPermissions;
});
}
use of com.enonic.xp.project.ProjectPermissions in project xp by enonic.
the class CreateProjectHandler method doExecute.
@Override
protected ProjectMapper doExecute() {
final CreateProjectParams params = createProjectParams();
final Project project = this.projectService.create(params);
final Locale modifiedLanguage = this.language != null ? ApplyProjectLanguageCommand.create().projectName(this.id).language(this.language).contentService(this.contentService).build().execute() : null;
final ProjectPermissions modifiedPermissions = this.permissions != null ? this.projectService.modifyPermissions(this.id, this.permissions) : ProjectPermissions.create().build();
return ProjectMapper.create().setProject(project).setLanguage(modifiedLanguage).setProjectPermissions(modifiedPermissions).setIsPublic(isPublic).build();
}
Aggregations