4646import edu .harvard .iq .dataverse .engine .command .impl .PublishDataverseCommand ;
4747import edu .harvard .iq .dataverse .settings .Setting ;
4848import edu .harvard .iq .dataverse .util .json .JsonPrinter ;
49- import java .net .URI ;
5049import javax .json .Json ;
5150import javax .json .JsonArrayBuilder ;
5251import javax .json .JsonObjectBuilder ;
7675import javax .ws .rs .core .Response .Status ;
7776
7877import org .apache .commons .io .IOUtils ;
79- import org .apache .commons .lang3 .StringUtils ;
8078
8179import java .util .List ;
8280import edu .harvard .iq .dataverse .authorization .AuthTestDataServiceBean ;
109107import java .util .ArrayList ;
110108import java .util .Arrays ;
111109import java .util .Date ;
112- import java .util .function .Consumer ;
113110import javax .inject .Inject ;
114111import javax .json .JsonArray ;
115112import javax .persistence .Query ;
@@ -161,8 +158,7 @@ public class Admin extends AbstractApiBean {
161158 @ EJB
162159 BannerMessageServiceBean bannerMessageService ;
163160 @ EJB
164- LicenseServiceBean licenseService ;
165-
161+ LicenseServiceBean licenseService ;
166162
167163 // Make the session available
168164 @ Inject
@@ -2013,21 +2009,14 @@ public Response getLicenseByName(@PathParam("name") String name) {
20132009
20142010 @ POST
20152011 @ Path ("/licenses" )
2016- public Response addLicense (JsonObject jsonObject ) {
2012+ public Response addLicense (License license ) {
20172013 try {
2018- License license = new License ();
2019- license .setName (jsonObject .getString ("name" ));
2020- license .setShortDescription (jsonObject .getString ("shortDescription" ));
2021- license .setUri (new URI (jsonObject .getString ("uri" )));
2022- license .setIconUrl (new URI (jsonObject .getString ("iconUrl" )));
2023- license .setActive (jsonObject .getBoolean ("active" ));
20242014 licenseService .save (license );
2025- String location = "/api/admin/licenses/name/" + UrlEscapers .urlFragmentEscaper ().escape (license .getName ());
2026- return created (location , Json .createObjectBuilder ().add ("message" , "License created" ));
2015+ return created ("/api/admin/licenses" , Json .createObjectBuilder ().add ("message" , "License created" ));
20272016 } catch (RequestBodyException e ) {
2028- return error (Response .Status .BAD_REQUEST , e .getMessage ());
2029- } catch ( Exception e ) {
2030- return error (Response .Status .BAD_REQUEST , "Something went wrong." );
2017+ return error (Response .Status .BAD_REQUEST , e .getMessage ());
2018+ } catch ( ConflictException e ) {
2019+ return error (Response .Status .CONFLICT , e . getMessage () );
20312020 }
20322021 }
20332022
@@ -2044,13 +2033,13 @@ public Response putLicenseById(@PathParam("id") long id, License license) {
20442033
20452034 @ PUT
20462035 @ Path ("/licenses/name/{name}" )
2047- public Response putLicenseByName (@ PathParam ("name" ) String name , License license ) {
2036+ public Response putLicenseByName (@ PathParam ("name" ) String nameArg , License license ) {
20482037 try {
2049- licenseService .setByName (license .getName (), license .getShortDescription (), license .getUri (), license .getIconUrl (), license .isActive ());
2038+ licenseService .setByName (nameArg , license .getName (), license .getShortDescription (), license .getUri (), license .getIconUrl (), license .isActive ());
20502039 } catch (UpdateException e ) {
20512040 return error (Response .Status .BAD_REQUEST , e .getMessage ());
20522041 }
2053- return ok ("License with name " + name + " was replaced." );
2042+ return ok ("License with name " + nameArg + " was replaced." );
20542043 }
20552044
20562045 @ DELETE
@@ -2072,5 +2061,5 @@ public Response deleteLicenseByName(@PathParam("name") String name) {
20722061 }
20732062 return error (Response .Status .NOT_FOUND , "A license with name " + name + " doesn't exist." );
20742063 }
2075-
2064+
20762065}
0 commit comments