Skip to content
Snippets Groups Projects

Fix jar build

Merged Piotr Gawron requested to merge fix-jar-build into development
5 files
+ 80
109
Compare changes
  • Side-by-side
  • Inline
Files
5
package lcsb.mapviewer.web.api.project;
import lcsb.mapviewer.annotation.data.MeSH;
import lcsb.mapviewer.annotation.services.TaxonomySearchException;
import lcsb.mapviewer.annotation.services.annotators.AnnotatorException;
import lcsb.mapviewer.api.OperationNotAllowedException;
import lcsb.mapviewer.api.QueryException;
import lcsb.mapviewer.api.minervanet.MinervaNetController;
import lcsb.mapviewer.common.Pair;
import lcsb.mapviewer.model.MinervaEntity;
import lcsb.mapviewer.model.Project;
import lcsb.mapviewer.model.job.MinervaJob;
import lcsb.mapviewer.model.security.Privilege;
@@ -24,7 +19,6 @@ import lcsb.mapviewer.services.interfaces.IProjectService;
import lcsb.mapviewer.services.interfaces.ITaxonomyService;
import lcsb.mapviewer.services.interfaces.IUserService;
import lcsb.mapviewer.web.api.NewApiResponseSerializer;
import lcsb.mapviewer.web.api.ResponseDecorator;
import lcsb.mapviewer.web.api.user.NewUserLoginDTO;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -92,61 +86,12 @@ public class NewProjectController {
this.taxonomyService = taxonomyService;
}
private final ResponseDecorator projectResponseDecorator = new ResponseDecorator() {
@Override
public List<Pair<String, Object>> getDecoratedValuesForRaw(final Object object) {
return new ArrayList<>();
}
@Override
public List<Pair<String, Object>> getDecoratedValues(final MinervaEntity object) {
final List<Pair<String, Object>> result = new ArrayList<>();
if (object instanceof Project) {
final Project project = (Project) object;
String diseaseName = null;
if (project.getDisease() != null) {
final MeSH mesh;
try {
mesh = meshService.getMesh(project.getDisease());
if (mesh != null) {
diseaseName = mesh.getName();
}
} catch (final AnnotatorException e) {
logger.error("Problem with mesh", e);
}
}
String organismName = null;
if (project.getOrganism() != null) {
try {
organismName = taxonomyService.getNameForTaxonomy(project.getOrganism());
} catch (final TaxonomySearchException e) {
logger.error("Problem with taxonomy", e);
}
}
boolean sharedInMinervaNet = false;
try {
sharedInMinervaNet = minervaNetController.getSharedProjects().contains(project.getProjectId());
} catch (final Exception e) {
logger.error("Problem with minerva net", e);
}
result.add(new Pair<String, Object>("sharedInMinervaNet", sharedInMinervaNet));
result.add(new Pair<String, Object>("diseaseName", diseaseName));
result.add(new Pair<String, Object>("organismName", organismName));
}
return result;
}
};
@PreAuthorize("hasAnyAuthority('IS_ADMIN', 'READ_PROJECT:' + #projectId)")
@GetMapping(value = "/{projectId:.+}")
public ResponseEntity<?> getProject(final @NotBlank @PathVariable(value = "projectId") String projectId)
throws ObjectNotFoundException, FailedDependencyException, IOException {
final Project project = projectService.getProjectByProjectId(projectId, true);
return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects()));
return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects(), meshService, taxonomyService));
}
@PreAuthorize("hasAnyAuthority('IS_ADMIN', 'IS_CURATOR')")
@@ -186,7 +131,7 @@ public class NewProjectController {
projectService.update(project);
project = projectService.getProjectByProjectId(projectId, true);
return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects()));
return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects(), meshService, taxonomyService));
}
@PreAuthorize("hasAuthority('IS_ADMIN')"
@@ -225,7 +170,7 @@ public class NewProjectController {
projectFilter.put(ProjectProperty.PROJECT_ID, projectIds);
}
final Page<Project> projects = projectService.getAll(projectFilter, pageable);
return serializer.prepareResponse(projects, new ProjectResponseDecorator(minervaNetController.getSharedProjects()));
return serializer.prepareResponse(projects, new ProjectResponseDecorator(minervaNetController.getSharedProjects(), meshService, taxonomyService));
}
@PreAuthorize("hasAnyAuthority('IS_ADMIN')")
@@ -249,7 +194,7 @@ public class NewProjectController {
projectService.update(project);
project = projectService.getProjectByProjectId(projectId, true);
return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects()));
return serializer.prepareResponse(project, new ProjectResponseDecorator(minervaNetController.getSharedProjects(), meshService, taxonomyService));
}
}
\ No newline at end of file
Loading