/plugin/src/main/java/com/atlassian/developer/calliope/plugin/rest/UploadResource.java
Java | 50 lines | 42 code | 8 blank | 0 comment | 2 complexity | 3e10947e1cd967370464f5e418a92bb3 MD5 | raw file
- package com.atlassian.developer.calliope.plugin.rest;
- import java.util.Date;
- import javax.ws.rs.PUT;
- import javax.ws.rs.Path;
- import javax.ws.rs.PathParam;
- import javax.ws.rs.core.Response;
- import com.atlassian.confluence.core.DefaultSaveContext;
- import com.atlassian.confluence.pages.Page;
- import com.atlassian.confluence.pages.PageManager;
- import com.atlassian.confluence.spaces.SpaceManager;
- import com.atlassian.plugins.rest.common.security.AnonymousAllowed;
- import static javax.ws.rs.core.Response.ok;
- @Path("/upload/{title}")
- public class UploadResource
- {
- private final PageManager pageManager;
- private final SpaceManager spaceManager;
- public UploadResource(PageManager pageManager, SpaceManager spaceManager)
- {
- this.pageManager = pageManager;
- this.spaceManager = spaceManager;
- }
- @PUT
- @AnonymousAllowed
- public Response put(@PathParam("title") String title, String content)
- {
- Page page = pageManager.getPage("api", title);
- if (page == null)
- {
- page = new Page();
- page.setCreatorName("Calliope");
- page.setCreationDate(new Date());
- page.setSpace(spaceManager.getSpace("api"));
- page.setTitle(title);
- }
- page.setLastModifierName("Calliope");
- page.setLastModificationDate(new Date());
- page.setContent(content);
- pageManager.saveContentEntity(page, new DefaultSaveContext());
- return ok().build();
- }
- }