|
1 | 1 | package edu.harvard.iq.dataverse.api;
|
2 | 2 |
|
3 |
| -import com.google.common.net.UrlEscapers; |
4 | 3 | import edu.harvard.iq.dataverse.BannerMessage;
|
5 | 4 | import edu.harvard.iq.dataverse.BannerMessageServiceBean;
|
6 | 5 | import edu.harvard.iq.dataverse.BannerMessageText;
|
|
17 | 16 | import edu.harvard.iq.dataverse.EMailValidator;
|
18 | 17 | import edu.harvard.iq.dataverse.EjbDataverseEngine;
|
19 | 18 | import edu.harvard.iq.dataverse.GlobalId;
|
20 |
| -import edu.harvard.iq.dataverse.RoleAssignment; |
21 | 19 | import edu.harvard.iq.dataverse.License;
|
22 | 20 | import edu.harvard.iq.dataverse.LicenseServiceBean;
|
23 | 21 | import edu.harvard.iq.dataverse.UserServiceBean;
|
24 | 22 | import edu.harvard.iq.dataverse.actionlogging.ActionLogRecord;
|
25 | 23 | import edu.harvard.iq.dataverse.api.dto.RoleDTO;
|
| 24 | +import edu.harvard.iq.dataverse.authorization.AuthTestDataServiceBean; |
26 | 25 | import edu.harvard.iq.dataverse.authorization.AuthenticatedUserDisplayInfo;
|
27 | 26 | import edu.harvard.iq.dataverse.authorization.AuthenticationProvider;
|
| 27 | +import edu.harvard.iq.dataverse.authorization.AuthenticationProvidersRegistrationServiceBean; |
| 28 | +import edu.harvard.iq.dataverse.authorization.DataverseRole; |
| 29 | +import edu.harvard.iq.dataverse.authorization.RoleAssignee; |
28 | 30 | import edu.harvard.iq.dataverse.authorization.UserIdentifier;
|
| 31 | +import edu.harvard.iq.dataverse.authorization.UserRecordIdentifier; |
29 | 32 | import edu.harvard.iq.dataverse.authorization.exceptions.AuthenticationProviderFactoryNotFoundException;
|
30 | 33 | import edu.harvard.iq.dataverse.authorization.exceptions.AuthorizationSetupException;
|
31 | 34 | import edu.harvard.iq.dataverse.authorization.groups.GroupServiceBean;
|
| 35 | +import edu.harvard.iq.dataverse.authorization.groups.impl.explicit.ExplicitGroupServiceBean; |
32 | 36 | import edu.harvard.iq.dataverse.authorization.providers.AuthenticationProviderRow;
|
33 | 37 | import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUser;
|
34 | 38 | import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUserServiceBean;
|
35 | 39 | import edu.harvard.iq.dataverse.authorization.providers.shib.ShibAuthenticationProvider;
|
36 | 40 | import edu.harvard.iq.dataverse.authorization.providers.shib.ShibServiceBean;
|
37 | 41 | import edu.harvard.iq.dataverse.authorization.providers.shib.ShibUtil;
|
38 | 42 | import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
|
| 43 | +import edu.harvard.iq.dataverse.authorization.users.User; |
39 | 44 | import edu.harvard.iq.dataverse.confirmemail.ConfirmEmailData;
|
40 | 45 | import edu.harvard.iq.dataverse.confirmemail.ConfirmEmailException;
|
41 | 46 | import edu.harvard.iq.dataverse.confirmemail.ConfirmEmailInitResponse;
|
42 | 47 | import edu.harvard.iq.dataverse.dataaccess.DataAccess;
|
43 | 48 | import edu.harvard.iq.dataverse.dataaccess.DataAccessOption;
|
44 |
| -import edu.harvard.iq.dataverse.dataaccess.StorageIO; |
45 |
| -import edu.harvard.iq.dataverse.engine.command.impl.AbstractSubmitToArchiveCommand; |
46 |
| -import edu.harvard.iq.dataverse.engine.command.impl.PublishDataverseCommand; |
47 |
| -import edu.harvard.iq.dataverse.settings.Setting; |
48 |
| -import edu.harvard.iq.dataverse.util.json.JsonPrinter; |
49 |
| -import javax.json.Json; |
50 |
| -import javax.json.JsonArrayBuilder; |
51 |
| -import javax.json.JsonObjectBuilder; |
52 |
| -import javax.persistence.PersistenceException; |
53 |
| -import javax.ws.rs.Consumes; |
54 |
| -import javax.ws.rs.DELETE; |
55 |
| -import javax.ws.rs.GET; |
56 |
| -import javax.ws.rs.POST; |
57 |
| -import javax.ws.rs.PUT; |
58 |
| -import javax.ws.rs.Path; |
59 |
| -import javax.ws.rs.PathParam; |
60 |
| -import javax.ws.rs.core.Response; |
61 |
| -import static edu.harvard.iq.dataverse.util.json.NullSafeJsonBuilder.jsonObjectBuilder; |
62 |
| -import static edu.harvard.iq.dataverse.util.json.JsonPrinter.*; |
63 |
| - |
64 |
| -import java.io.InputStream; |
65 |
| -import java.io.StringReader; |
66 |
| -import java.util.Map; |
67 |
| -import java.util.Map.Entry; |
68 |
| -import java.util.logging.Level; |
69 |
| -import java.util.logging.Logger; |
70 |
| -import javax.ejb.EJB; |
71 |
| -import javax.ejb.Stateless; |
72 |
| -import javax.json.JsonObject; |
73 |
| -import javax.json.JsonReader; |
74 |
| -import javax.validation.ConstraintViolation; |
75 |
| -import javax.validation.ConstraintViolationException; |
76 |
| -import javax.ws.rs.Produces; |
77 |
| -import javax.ws.rs.core.Response.Status; |
78 |
| - |
79 |
| -import org.apache.commons.io.IOUtils; |
80 |
| - |
81 |
| -import java.util.List; |
82 |
| -import edu.harvard.iq.dataverse.authorization.AuthTestDataServiceBean; |
83 |
| -import edu.harvard.iq.dataverse.authorization.AuthenticationProvidersRegistrationServiceBean; |
84 |
| -import edu.harvard.iq.dataverse.authorization.DataverseRole; |
85 |
| -import edu.harvard.iq.dataverse.authorization.RoleAssignee; |
86 |
| -import edu.harvard.iq.dataverse.authorization.UserRecordIdentifier; |
87 |
| -import edu.harvard.iq.dataverse.authorization.groups.impl.explicit.ExplicitGroupServiceBean; |
88 |
| -import edu.harvard.iq.dataverse.authorization.users.User; |
89 | 49 | import edu.harvard.iq.dataverse.dataaccess.ImageThumbConverter;
|
| 50 | +import edu.harvard.iq.dataverse.dataaccess.StorageIO; |
90 | 51 | import edu.harvard.iq.dataverse.dataset.DatasetThumbnail;
|
91 | 52 | import edu.harvard.iq.dataverse.dataset.DatasetUtil;
|
92 | 53 | import edu.harvard.iq.dataverse.engine.command.DataverseRequest;
|
93 | 54 | import edu.harvard.iq.dataverse.engine.command.exception.CommandException;
|
94 |
| -import edu.harvard.iq.dataverse.engine.command.impl.MergeInAccountCommand; |
95 |
| -import edu.harvard.iq.dataverse.engine.command.impl.ChangeUserIdentifierCommand; |
| 55 | +import edu.harvard.iq.dataverse.engine.command.impl.AbstractSubmitToArchiveCommand; |
96 | 56 | import edu.harvard.iq.dataverse.engine.command.impl.DeactivateUserCommand;
|
97 | 57 | import edu.harvard.iq.dataverse.engine.command.impl.DeleteRoleCommand;
|
| 58 | +import edu.harvard.iq.dataverse.engine.command.impl.PublishDataverseCommand; |
98 | 59 | import edu.harvard.iq.dataverse.engine.command.impl.RegisterDvObjectCommand;
|
99 | 60 | import edu.harvard.iq.dataverse.ingest.IngestServiceBean;
|
| 61 | +import edu.harvard.iq.dataverse.settings.Setting; |
100 | 62 | import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
|
101 | 63 | import edu.harvard.iq.dataverse.userdata.UserListMaker;
|
102 | 64 | import edu.harvard.iq.dataverse.userdata.UserListResult;
|
103 | 65 | import edu.harvard.iq.dataverse.util.ArchiverUtil;
|
104 | 66 | import edu.harvard.iq.dataverse.util.BundleUtil;
|
105 | 67 | import edu.harvard.iq.dataverse.util.FileUtil;
|
106 |
| -import java.io.IOException; |
107 |
| -import java.io.OutputStream; |
| 68 | +import edu.harvard.iq.dataverse.util.json.JsonPrinter; |
| 69 | +import org.apache.commons.io.IOUtils; |
108 | 70 |
|
109 |
| -import java.util.ArrayList; |
110 |
| -import java.util.Arrays; |
111 |
| -import java.util.Date; |
| 71 | +import javax.ejb.EJB; |
| 72 | +import javax.ejb.Stateless; |
112 | 73 | import javax.inject.Inject;
|
| 74 | +import javax.json.Json; |
113 | 75 | import javax.json.JsonArray;
|
| 76 | +import javax.json.JsonArrayBuilder; |
| 77 | +import javax.json.JsonObject; |
| 78 | +import javax.json.JsonObjectBuilder; |
| 79 | +import javax.json.JsonReader; |
114 | 80 | import javax.persistence.Query;
|
| 81 | +import javax.validation.ConstraintViolation; |
| 82 | +import javax.validation.ConstraintViolationException; |
| 83 | +import javax.ws.rs.DELETE; |
| 84 | +import javax.ws.rs.GET; |
| 85 | +import javax.ws.rs.POST; |
| 86 | +import javax.ws.rs.PUT; |
| 87 | +import javax.ws.rs.Path; |
| 88 | +import javax.ws.rs.PathParam; |
| 89 | +import javax.ws.rs.Produces; |
115 | 90 | import javax.ws.rs.QueryParam;
|
116 | 91 | import javax.ws.rs.WebApplicationException;
|
| 92 | +import javax.ws.rs.core.Response; |
| 93 | +import javax.ws.rs.core.Response.Status; |
117 | 94 | import javax.ws.rs.core.StreamingOutput;
|
| 95 | +import java.io.IOException; |
| 96 | +import java.io.InputStream; |
| 97 | +import java.io.OutputStream; |
| 98 | +import java.io.StringReader; |
| 99 | +import java.util.ArrayList; |
| 100 | +import java.util.Arrays; |
| 101 | +import java.util.Date; |
| 102 | +import java.util.List; |
| 103 | +import java.util.Map; |
| 104 | +import java.util.Map.Entry; |
| 105 | +import java.util.logging.Level; |
| 106 | +import java.util.logging.Logger; |
| 107 | + |
| 108 | +import static edu.harvard.iq.dataverse.util.json.JsonPrinter.json; |
| 109 | +import static edu.harvard.iq.dataverse.util.json.JsonPrinter.rolesToJson; |
| 110 | +import static edu.harvard.iq.dataverse.util.json.JsonPrinter.toJsonArray; |
| 111 | +import static edu.harvard.iq.dataverse.util.json.NullSafeJsonBuilder.jsonObjectBuilder; |
118 | 112 |
|
119 | 113 | /**
|
120 | 114 | * Where the secure, setup API calls live.
|
@@ -2010,6 +2004,23 @@ public Response addLicense(License license) {
|
2010 | 2004 | }
|
2011 | 2005 | }
|
2012 | 2006 |
|
| 2007 | + // TODO: GET /licenses/default |
| 2008 | + |
| 2009 | + @PUT |
| 2010 | + @Path("/licenses/default") |
| 2011 | + public Response setDefault(long id) { |
| 2012 | + try { |
| 2013 | + licenseService.setDefault(id); |
| 2014 | + return ok("Default license ID set to " + id); |
| 2015 | + } |
| 2016 | + catch (UpdateException | FetchException e) { |
| 2017 | + return error(Status.INTERNAL_SERVER_ERROR, e.getMessage()); |
| 2018 | + } |
| 2019 | + catch (IllegalArgumentException e) { |
| 2020 | + return badRequest(e.getMessage()); |
| 2021 | + } |
| 2022 | + } |
| 2023 | + |
2013 | 2024 | @PUT
|
2014 | 2025 | @Path("/licenses/{id}")
|
2015 | 2026 | public Response putLicenseById(@PathParam("id") long id, License license) {
|
|
0 commit comments