diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java index 263538def81a7b57901c7a9f48b520cbb08ec74a..b26d2a2bc0bb117b790ff7973fb01df8b71bbd42 100644 --- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java +++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImpl.java @@ -359,9 +359,16 @@ public class OverlayRestImpl extends BaseRestImpl { } Layout layout = layoutService - .createLayout(new CreateLayoutParams().async(false).colorInputStream(stream).description(description) - .layoutFileName(filename).name(name).user(user).colorSchemaType(colorSchemaType) - .directory(".").googleLicenseConsent(googleLicenseConsent.equalsIgnoreCase("true"))); + .createLayout(new CreateLayoutParams() + .async(false) + .colorInputStream(stream) + .description(description) + .layoutFileName(filename) + .name(name).user(user) + .colorSchemaType(colorSchemaType) + .directory(".") + .project(project) + .googleLicenseConsent(googleLicenseConsent.equalsIgnoreCase("true"))); int count = layoutService.getCustomLayouts(project, token, false, user).size(); layout.setOrderIndex(count); diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/AllProjectTests.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/AllProjectTests.java index dc06efddf74e64924f1df6802ab7179c1ae3ba8e..b9d9c70c4366d6ad828ba05e105e6e2ad06570d3 100644 --- a/rest-api/src/test/java/lcsb/mapviewer/api/projects/AllProjectTests.java +++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/AllProjectTests.java @@ -9,6 +9,7 @@ import lcsb.mapviewer.api.projects.comments.AllCommentTests; import lcsb.mapviewer.api.projects.drugs.AllDrugTests; import lcsb.mapviewer.api.projects.mirnas.AllMiRnaTests; import lcsb.mapviewer.api.projects.models.AllModelsTests; +import lcsb.mapviewer.api.projects.overlays.OverlayRestImplTest; @RunWith(Suite.class) @SuiteClasses({ AllChemicalTests.class, @@ -16,6 +17,7 @@ import lcsb.mapviewer.api.projects.models.AllModelsTests; AllDrugTests.class, AllMiRnaTests.class, AllModelsTests.class, + OverlayRestImplTest.class, ProjectRestImplTest.class }) public class AllProjectTests { diff --git a/rest-api/src/test/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImplTest.java b/rest-api/src/test/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImplTest.java new file mode 100644 index 0000000000000000000000000000000000000000..fd9ac2c7c7bfc52cebb4206244ae804382563e7f --- /dev/null +++ b/rest-api/src/test/java/lcsb/mapviewer/api/projects/overlays/OverlayRestImplTest.java @@ -0,0 +1,49 @@ +package lcsb.mapviewer.api.projects.overlays; + +import static org.junit.Assert.assertNotNull; + +import java.util.Map; + +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import com.google.gson.Gson; + +import lcsb.mapviewer.api.RestTestFunctions; +import lcsb.mapviewer.model.Project; +import lcsb.mapviewer.model.map.model.Model; +import lcsb.mapviewer.persist.dao.ProjectDao; +import lcsb.mapviewer.services.utils.data.ColorSchemaType; + +public class OverlayRestImplTest extends RestTestFunctions { + + @Autowired + OverlayRestImpl overlayRest; + + @Autowired + ProjectDao projectDao; + + String projectId = "test_id"; + + @Test + public void testAddDataOverlay() throws Exception { + try { + createProject("testFiles/model/sample.xml", projectId); + Map<String, Object> result = overlayRest.addOverlay(adminToken, projectId, "x", "desc", "s1", null, null, + ColorSchemaType.GENERIC.name(), "true"); + Gson gson = new Gson(); + assertNotNull(gson.toJson(result)); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + + private void createProject(String string, String projectId) throws Exception { + Project project = new Project(projectId); + Model model = super.getModelForFile(string, true); + project.addModel(model); + projectDao.add(project); + } + +} diff --git a/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java b/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java index ecd3c112a6c6b8d1b54f564ab534006f7e52a62a..5e48bc293e83552acd87b546f97a616ebbae8f20 100644 --- a/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java +++ b/service/src/main/java/lcsb/mapviewer/services/impl/LayoutService.java @@ -952,4 +952,12 @@ public class LayoutService implements ILayoutService { User user = userService.getUserByToken(authenticationToken); return userCanRemoveLayout(layout, user); } + + public LayoutDao getLayoutDao() { + return layoutDao; + } + + public void setLayoutDao(LayoutDao layoutDao) { + this.layoutDao = layoutDao; + } } diff --git a/service/src/main/java/lcsb/mapviewer/services/interfaces/ILayoutService.java b/service/src/main/java/lcsb/mapviewer/services/interfaces/ILayoutService.java index bb4b02d366a9f74f26037b99894e1e4f7e1e8785..11f129385e07dc35a4ec6483414a8048a8f7db27 100644 --- a/service/src/main/java/lcsb/mapviewer/services/interfaces/ILayoutService.java +++ b/service/src/main/java/lcsb/mapviewer/services/interfaces/ILayoutService.java @@ -17,6 +17,7 @@ import lcsb.mapviewer.model.map.model.Model; import lcsb.mapviewer.model.map.reaction.Reaction; import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.user.User; +import lcsb.mapviewer.persist.dao.map.LayoutDao; import lcsb.mapviewer.services.SecurityException; import lcsb.mapviewer.services.utils.EmailSender; import lcsb.mapviewer.services.utils.data.ColorSchemaType; @@ -493,4 +494,6 @@ public interface ILayoutService { boolean userCanRemoveLayout(Layout layout, String authenticationToken) throws SecurityException; + void setLayoutDao(LayoutDao layoutDao); + }