From 7b75ebbf82935344e1c2391533bf7dd8484b4151 Mon Sep 17 00:00:00 2001 From: Sylvain Jermini Date: Sun, 16 Oct 2016 21:19:03 +0200 Subject: [PATCH] #213 add initial part of the business logic part2 --- .../manager/UploadedResourceManager.java | 12 +++++++++++ .../UploadedResourceRepository.java | 20 +++++++++++++++++++ .../UploadedResourceIntegrationTest.java | 3 +++ 3 files changed, 35 insertions(+) diff --git a/src/main/java/alfio/manager/UploadedResourceManager.java b/src/main/java/alfio/manager/UploadedResourceManager.java index 8e6c96f577..9ad7d1e59c 100644 --- a/src/main/java/alfio/manager/UploadedResourceManager.java +++ b/src/main/java/alfio/manager/UploadedResourceManager.java @@ -91,6 +91,18 @@ public boolean hasResource(int organizationId, int eventId, String name) { return uploadedResourceRepository.hasResource(organizationId, eventId, name); } + public UploadedResource get(String name) { + return uploadedResourceRepository.get(name); + } + + public UploadedResource get(int organizationId, String name) { + return uploadedResourceRepository.get(organizationId, name); + } + + public UploadedResource get(int organizationId, int eventId, String name) { + return uploadedResourceRepository.get(organizationId, eventId, name); + } + public void outputResource(String name, OutputStream out) { SqlParameterSource param = new MapSqlParameterSource("name", name); diff --git a/src/main/java/alfio/repository/UploadedResourceRepository.java b/src/main/java/alfio/repository/UploadedResourceRepository.java index 7331938e29..bf5506e38c 100644 --- a/src/main/java/alfio/repository/UploadedResourceRepository.java +++ b/src/main/java/alfio/repository/UploadedResourceRepository.java @@ -45,6 +45,20 @@ public interface UploadedResourceRepository { }) boolean hasResource(@Bind("organizationId") int organizationId, @Bind("eventId") int eventId, @Bind("name") String name); + + + @Query("select name, content_size, content_type, creation_time, attributes, null as organization_id_fk, null as event_id_fk from resource_global where name = :name") + UploadedResource get(@Bind("name") String name); + + @Query("select name, content_size, content_type, creation_time, attributes, organization_id_fk, null as event_id_fk from resource_organizer where organization_id_fk = :organizationId and name = :name") + UploadedResource get(@Bind("organizationId") int organizationId, @Bind("name") String name); + + @Query("select name, content_size, content_type, creation_time, attributes, organization_id_fk, event_id_fk from resource_event where organization_id_fk = :organizationId and event_id_fk = :eventId and name = :name") + UploadedResource get(@Bind("organizationId") int organizationId, @Bind("eventId") int eventId, @Bind("name") String name); + + + + @Query("select name, content_size, content_type, creation_time, attributes, null as organization_id_fk, null as event_id_fk from resource_global order by name asc") List findAll(); @@ -55,6 +69,7 @@ public interface UploadedResourceRepository { List findAll(@Bind("organizationId") int organizationId, @Bind("eventId") int eventId); + @Query("delete from resource_global where name = :name") int delete(@Bind("name") String name); @@ -65,6 +80,7 @@ public interface UploadedResourceRepository { int delete(@Bind("organizationId") int organizationId, @Bind("eventId") int eventId, @Bind("name") String name); + @Query(type = QueryType.TEMPLATE, value = "select content from resource_global where name = :name") String fileContentTemplate(String name); @@ -74,6 +90,9 @@ public interface UploadedResourceRepository { @Query(type = QueryType.TEMPLATE, value = "select content from resource_event where name = :name and organization_id_fk = :organizationId and event_id_fk = :eventId") String fileContentTemplate(int organizationId, int eventId, String name); + + + @Query(type = QueryType.TEMPLATE, value = "insert into resource_global (name, content_size, content, content_type, attributes) " + "values(?, ?, ?, ?, ?)") String uploadTemplate(String name); @@ -85,4 +104,5 @@ public interface UploadedResourceRepository { @Query(type = QueryType.TEMPLATE, value = "insert into resource_event (name, organization_id_fk, event_id_fk, content_size, content, content_type, attributes) " + "values(?, ?, ?, ?, ?, ?, ?)") String uploadTemplate(int organizationId, int eventId, String name); + } diff --git a/src/test/java/alfio/manager/UploadedResourceIntegrationTest.java b/src/test/java/alfio/manager/UploadedResourceIntegrationTest.java index 488e2f701d..40a19ac756 100644 --- a/src/test/java/alfio/manager/UploadedResourceIntegrationTest.java +++ b/src/test/java/alfio/manager/UploadedResourceIntegrationTest.java @@ -113,6 +113,7 @@ public void testGlobal() { Assert.assertTrue(uploadedResourceManager.hasResource("file_name.txt")); Assert.assertEquals(1, uploadedResourceManager.findAll().size()); + Assert.assertEquals(toSave.getName(), uploadedResourceManager.get("file_name.txt").getName()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); uploadedResourceManager.outputResource("file_name.txt", baos); @@ -140,6 +141,7 @@ public void testOrganization() { Assert.assertTrue(uploadedResourceManager.hasResource(orgId, "file_name.txt")); Assert.assertEquals(1, uploadedResourceManager.findAll(orgId).size()); + Assert.assertEquals(toSave.getName(), uploadedResourceManager.get(orgId, "file_name.txt").getName()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); uploadedResourceManager.outputResource(orgId, "file_name.txt", baos); @@ -168,6 +170,7 @@ public void testEvent() { Assert.assertTrue(uploadedResourceManager.hasResource(orgId, eventId, "file_name.txt")); Assert.assertEquals(1, uploadedResourceManager.findAll(orgId, eventId).size()); + Assert.assertEquals(toSave.getName(), uploadedResourceManager.get(orgId, eventId, "file_name.txt").getName()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); uploadedResourceManager.outputResource(orgId, eventId, "file_name.txt", baos);