/modules/apps/headless/headless-admin-user/headless-admin-user-client/src/main/java/com/liferay/headless/admin/user/client/resource/v1_0/RoleResource.java

https://github.com/danielreuther/liferay-portal · Java · 879 lines · 661 code · 201 blank · 17 comment · 64 complexity · 46889f1b11d07d64bd31ac5cf358cc98 MD5 · raw file

  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.headless.admin.user.client.resource.v1_0;
  15. import com.liferay.headless.admin.user.client.dto.v1_0.Role;
  16. import com.liferay.headless.admin.user.client.http.HttpInvoker;
  17. import com.liferay.headless.admin.user.client.pagination.Page;
  18. import com.liferay.headless.admin.user.client.pagination.Pagination;
  19. import com.liferay.headless.admin.user.client.problem.Problem;
  20. import com.liferay.headless.admin.user.client.serdes.v1_0.RoleSerDes;
  21. import java.util.LinkedHashMap;
  22. import java.util.Locale;
  23. import java.util.Map;
  24. import java.util.logging.Level;
  25. import java.util.logging.Logger;
  26. import javax.annotation.Generated;
  27. /**
  28. * @author Javier Gamarra
  29. * @generated
  30. */
  31. @Generated("")
  32. public interface RoleResource {
  33. public static Builder builder() {
  34. return new Builder();
  35. }
  36. public Page<Role> getRolesPage(Integer[] types, Pagination pagination)
  37. throws Exception;
  38. public HttpInvoker.HttpResponse getRolesPageHttpResponse(
  39. Integer[] types, Pagination pagination)
  40. throws Exception;
  41. public Role getRole(Long roleId) throws Exception;
  42. public HttpInvoker.HttpResponse getRoleHttpResponse(Long roleId)
  43. throws Exception;
  44. public void deleteRoleUserAccountAssociation(
  45. Long roleId, Long userAccountId)
  46. throws Exception;
  47. public HttpInvoker.HttpResponse
  48. deleteRoleUserAccountAssociationHttpResponse(
  49. Long roleId, Long userAccountId)
  50. throws Exception;
  51. public void postRoleUserAccountAssociation(Long roleId, Long userAccountId)
  52. throws Exception;
  53. public HttpInvoker.HttpResponse postRoleUserAccountAssociationHttpResponse(
  54. Long roleId, Long userAccountId)
  55. throws Exception;
  56. public void deleteOrganizationRoleUserAccountAssociation(
  57. Long roleId, Long userAccountId, Long organizationId)
  58. throws Exception;
  59. public HttpInvoker.HttpResponse
  60. deleteOrganizationRoleUserAccountAssociationHttpResponse(
  61. Long roleId, Long userAccountId, Long organizationId)
  62. throws Exception;
  63. public void postOrganizationRoleUserAccountAssociation(
  64. Long roleId, Long userAccountId, Long organizationId)
  65. throws Exception;
  66. public HttpInvoker.HttpResponse
  67. postOrganizationRoleUserAccountAssociationHttpResponse(
  68. Long roleId, Long userAccountId, Long organizationId)
  69. throws Exception;
  70. public void deleteSiteRoleUserAccountAssociation(
  71. Long roleId, Long userAccountId, Long siteId)
  72. throws Exception;
  73. public HttpInvoker.HttpResponse
  74. deleteSiteRoleUserAccountAssociationHttpResponse(
  75. Long roleId, Long userAccountId, Long siteId)
  76. throws Exception;
  77. public void postSiteRoleUserAccountAssociation(
  78. Long roleId, Long userAccountId, Long siteId)
  79. throws Exception;
  80. public HttpInvoker.HttpResponse
  81. postSiteRoleUserAccountAssociationHttpResponse(
  82. Long roleId, Long userAccountId, Long siteId)
  83. throws Exception;
  84. public static class Builder {
  85. public Builder authentication(String login, String password) {
  86. _login = login;
  87. _password = password;
  88. return this;
  89. }
  90. public RoleResource build() {
  91. return new RoleResourceImpl(this);
  92. }
  93. public Builder contextPath(String contextPath) {
  94. _contextPath = contextPath;
  95. return this;
  96. }
  97. public Builder endpoint(String host, int port, String scheme) {
  98. _host = host;
  99. _port = port;
  100. _scheme = scheme;
  101. return this;
  102. }
  103. public Builder header(String key, String value) {
  104. _headers.put(key, value);
  105. return this;
  106. }
  107. public Builder locale(Locale locale) {
  108. _locale = locale;
  109. return this;
  110. }
  111. public Builder parameter(String key, String value) {
  112. _parameters.put(key, value);
  113. return this;
  114. }
  115. public Builder parameters(String... parameters) {
  116. if ((parameters.length % 2) != 0) {
  117. throw new IllegalArgumentException(
  118. "Parameters length is not an even number");
  119. }
  120. for (int i = 0; i < parameters.length; i += 2) {
  121. String parameterName = String.valueOf(parameters[i]);
  122. String parameterValue = String.valueOf(parameters[i + 1]);
  123. _parameters.put(parameterName, parameterValue);
  124. }
  125. return this;
  126. }
  127. private Builder() {
  128. }
  129. private String _contextPath = "";
  130. private Map<String, String> _headers = new LinkedHashMap<>();
  131. private String _host = "localhost";
  132. private Locale _locale;
  133. private String _login = "";
  134. private String _password = "";
  135. private Map<String, String> _parameters = new LinkedHashMap<>();
  136. private int _port = 8080;
  137. private String _scheme = "http";
  138. }
  139. public static class RoleResourceImpl implements RoleResource {
  140. public Page<Role> getRolesPage(Integer[] types, Pagination pagination)
  141. throws Exception {
  142. HttpInvoker.HttpResponse httpResponse = getRolesPageHttpResponse(
  143. types, pagination);
  144. String content = httpResponse.getContent();
  145. if ((httpResponse.getStatusCode() / 100) != 2) {
  146. _logger.log(
  147. Level.WARNING,
  148. "Unable to process HTTP response content: " + content);
  149. _logger.log(
  150. Level.WARNING,
  151. "HTTP response message: " + httpResponse.getMessage());
  152. _logger.log(
  153. Level.WARNING,
  154. "HTTP response status code: " +
  155. httpResponse.getStatusCode());
  156. throw new Problem.ProblemException(Problem.toDTO(content));
  157. }
  158. else {
  159. _logger.fine("HTTP response content: " + content);
  160. _logger.fine(
  161. "HTTP response message: " + httpResponse.getMessage());
  162. _logger.fine(
  163. "HTTP response status code: " +
  164. httpResponse.getStatusCode());
  165. }
  166. try {
  167. return Page.of(content, RoleSerDes::toDTO);
  168. }
  169. catch (Exception e) {
  170. _logger.log(
  171. Level.WARNING,
  172. "Unable to process HTTP response: " + content, e);
  173. throw new Problem.ProblemException(Problem.toDTO(content));
  174. }
  175. }
  176. public HttpInvoker.HttpResponse getRolesPageHttpResponse(
  177. Integer[] types, Pagination pagination)
  178. throws Exception {
  179. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  180. if (_builder._locale != null) {
  181. httpInvoker.header(
  182. "Accept-Language", _builder._locale.toLanguageTag());
  183. }
  184. for (Map.Entry<String, String> entry :
  185. _builder._headers.entrySet()) {
  186. httpInvoker.header(entry.getKey(), entry.getValue());
  187. }
  188. for (Map.Entry<String, String> entry :
  189. _builder._parameters.entrySet()) {
  190. httpInvoker.parameter(entry.getKey(), entry.getValue());
  191. }
  192. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  193. if (types != null) {
  194. for (int i = 0; i < types.length; i++) {
  195. httpInvoker.parameter("types", String.valueOf(types[i]));
  196. }
  197. }
  198. if (pagination != null) {
  199. httpInvoker.parameter(
  200. "page", String.valueOf(pagination.getPage()));
  201. httpInvoker.parameter(
  202. "pageSize", String.valueOf(pagination.getPageSize()));
  203. }
  204. httpInvoker.path(
  205. _builder._scheme + "://" + _builder._host + ":" +
  206. _builder._port + _builder._contextPath +
  207. "/o/headless-admin-user/v1.0/roles");
  208. httpInvoker.userNameAndPassword(
  209. _builder._login + ":" + _builder._password);
  210. return httpInvoker.invoke();
  211. }
  212. public Role getRole(Long roleId) throws Exception {
  213. HttpInvoker.HttpResponse httpResponse = getRoleHttpResponse(roleId);
  214. String content = httpResponse.getContent();
  215. if ((httpResponse.getStatusCode() / 100) != 2) {
  216. _logger.log(
  217. Level.WARNING,
  218. "Unable to process HTTP response content: " + content);
  219. _logger.log(
  220. Level.WARNING,
  221. "HTTP response message: " + httpResponse.getMessage());
  222. _logger.log(
  223. Level.WARNING,
  224. "HTTP response status code: " +
  225. httpResponse.getStatusCode());
  226. throw new Problem.ProblemException(Problem.toDTO(content));
  227. }
  228. else {
  229. _logger.fine("HTTP response content: " + content);
  230. _logger.fine(
  231. "HTTP response message: " + httpResponse.getMessage());
  232. _logger.fine(
  233. "HTTP response status code: " +
  234. httpResponse.getStatusCode());
  235. }
  236. try {
  237. return RoleSerDes.toDTO(content);
  238. }
  239. catch (Exception e) {
  240. _logger.log(
  241. Level.WARNING,
  242. "Unable to process HTTP response: " + content, e);
  243. throw new Problem.ProblemException(Problem.toDTO(content));
  244. }
  245. }
  246. public HttpInvoker.HttpResponse getRoleHttpResponse(Long roleId)
  247. throws Exception {
  248. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  249. if (_builder._locale != null) {
  250. httpInvoker.header(
  251. "Accept-Language", _builder._locale.toLanguageTag());
  252. }
  253. for (Map.Entry<String, String> entry :
  254. _builder._headers.entrySet()) {
  255. httpInvoker.header(entry.getKey(), entry.getValue());
  256. }
  257. for (Map.Entry<String, String> entry :
  258. _builder._parameters.entrySet()) {
  259. httpInvoker.parameter(entry.getKey(), entry.getValue());
  260. }
  261. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  262. httpInvoker.path(
  263. _builder._scheme + "://" + _builder._host + ":" +
  264. _builder._port + _builder._contextPath +
  265. "/o/headless-admin-user/v1.0/roles/{roleId}");
  266. httpInvoker.path("roleId", roleId);
  267. httpInvoker.userNameAndPassword(
  268. _builder._login + ":" + _builder._password);
  269. return httpInvoker.invoke();
  270. }
  271. public void deleteRoleUserAccountAssociation(
  272. Long roleId, Long userAccountId)
  273. throws Exception {
  274. HttpInvoker.HttpResponse httpResponse =
  275. deleteRoleUserAccountAssociationHttpResponse(
  276. roleId, userAccountId);
  277. String content = httpResponse.getContent();
  278. if ((httpResponse.getStatusCode() / 100) != 2) {
  279. _logger.log(
  280. Level.WARNING,
  281. "Unable to process HTTP response content: " + content);
  282. _logger.log(
  283. Level.WARNING,
  284. "HTTP response message: " + httpResponse.getMessage());
  285. _logger.log(
  286. Level.WARNING,
  287. "HTTP response status code: " +
  288. httpResponse.getStatusCode());
  289. throw new Problem.ProblemException(Problem.toDTO(content));
  290. }
  291. else {
  292. _logger.fine("HTTP response content: " + content);
  293. _logger.fine(
  294. "HTTP response message: " + httpResponse.getMessage());
  295. _logger.fine(
  296. "HTTP response status code: " +
  297. httpResponse.getStatusCode());
  298. }
  299. try {
  300. return;
  301. }
  302. catch (Exception e) {
  303. _logger.log(
  304. Level.WARNING,
  305. "Unable to process HTTP response: " + content, e);
  306. throw new Problem.ProblemException(Problem.toDTO(content));
  307. }
  308. }
  309. public HttpInvoker.HttpResponse
  310. deleteRoleUserAccountAssociationHttpResponse(
  311. Long roleId, Long userAccountId)
  312. throws Exception {
  313. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  314. if (_builder._locale != null) {
  315. httpInvoker.header(
  316. "Accept-Language", _builder._locale.toLanguageTag());
  317. }
  318. for (Map.Entry<String, String> entry :
  319. _builder._headers.entrySet()) {
  320. httpInvoker.header(entry.getKey(), entry.getValue());
  321. }
  322. for (Map.Entry<String, String> entry :
  323. _builder._parameters.entrySet()) {
  324. httpInvoker.parameter(entry.getKey(), entry.getValue());
  325. }
  326. httpInvoker.httpMethod(HttpInvoker.HttpMethod.DELETE);
  327. httpInvoker.path(
  328. _builder._scheme + "://" + _builder._host + ":" +
  329. _builder._port + _builder._contextPath +
  330. "/o/headless-admin-user/v1.0/roles/{roleId}/association/user-account/{userAccountId}");
  331. httpInvoker.path("roleId", roleId);
  332. httpInvoker.path("userAccountId", userAccountId);
  333. httpInvoker.userNameAndPassword(
  334. _builder._login + ":" + _builder._password);
  335. return httpInvoker.invoke();
  336. }
  337. public void postRoleUserAccountAssociation(
  338. Long roleId, Long userAccountId)
  339. throws Exception {
  340. HttpInvoker.HttpResponse httpResponse =
  341. postRoleUserAccountAssociationHttpResponse(
  342. roleId, userAccountId);
  343. String content = httpResponse.getContent();
  344. if ((httpResponse.getStatusCode() / 100) != 2) {
  345. _logger.log(
  346. Level.WARNING,
  347. "Unable to process HTTP response content: " + content);
  348. _logger.log(
  349. Level.WARNING,
  350. "HTTP response message: " + httpResponse.getMessage());
  351. _logger.log(
  352. Level.WARNING,
  353. "HTTP response status code: " +
  354. httpResponse.getStatusCode());
  355. throw new Problem.ProblemException(Problem.toDTO(content));
  356. }
  357. else {
  358. _logger.fine("HTTP response content: " + content);
  359. _logger.fine(
  360. "HTTP response message: " + httpResponse.getMessage());
  361. _logger.fine(
  362. "HTTP response status code: " +
  363. httpResponse.getStatusCode());
  364. }
  365. try {
  366. return;
  367. }
  368. catch (Exception e) {
  369. _logger.log(
  370. Level.WARNING,
  371. "Unable to process HTTP response: " + content, e);
  372. throw new Problem.ProblemException(Problem.toDTO(content));
  373. }
  374. }
  375. public HttpInvoker.HttpResponse
  376. postRoleUserAccountAssociationHttpResponse(
  377. Long roleId, Long userAccountId)
  378. throws Exception {
  379. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  380. if (_builder._locale != null) {
  381. httpInvoker.header(
  382. "Accept-Language", _builder._locale.toLanguageTag());
  383. }
  384. for (Map.Entry<String, String> entry :
  385. _builder._headers.entrySet()) {
  386. httpInvoker.header(entry.getKey(), entry.getValue());
  387. }
  388. for (Map.Entry<String, String> entry :
  389. _builder._parameters.entrySet()) {
  390. httpInvoker.parameter(entry.getKey(), entry.getValue());
  391. }
  392. httpInvoker.httpMethod(HttpInvoker.HttpMethod.POST);
  393. httpInvoker.path(
  394. _builder._scheme + "://" + _builder._host + ":" +
  395. _builder._port + _builder._contextPath +
  396. "/o/headless-admin-user/v1.0/roles/{roleId}/association/user-account/{userAccountId}");
  397. httpInvoker.path("roleId", roleId);
  398. httpInvoker.path("userAccountId", userAccountId);
  399. httpInvoker.userNameAndPassword(
  400. _builder._login + ":" + _builder._password);
  401. return httpInvoker.invoke();
  402. }
  403. public void deleteOrganizationRoleUserAccountAssociation(
  404. Long roleId, Long userAccountId, Long organizationId)
  405. throws Exception {
  406. HttpInvoker.HttpResponse httpResponse =
  407. deleteOrganizationRoleUserAccountAssociationHttpResponse(
  408. roleId, userAccountId, organizationId);
  409. String content = httpResponse.getContent();
  410. if ((httpResponse.getStatusCode() / 100) != 2) {
  411. _logger.log(
  412. Level.WARNING,
  413. "Unable to process HTTP response content: " + content);
  414. _logger.log(
  415. Level.WARNING,
  416. "HTTP response message: " + httpResponse.getMessage());
  417. _logger.log(
  418. Level.WARNING,
  419. "HTTP response status code: " +
  420. httpResponse.getStatusCode());
  421. throw new Problem.ProblemException(Problem.toDTO(content));
  422. }
  423. else {
  424. _logger.fine("HTTP response content: " + content);
  425. _logger.fine(
  426. "HTTP response message: " + httpResponse.getMessage());
  427. _logger.fine(
  428. "HTTP response status code: " +
  429. httpResponse.getStatusCode());
  430. }
  431. try {
  432. return;
  433. }
  434. catch (Exception e) {
  435. _logger.log(
  436. Level.WARNING,
  437. "Unable to process HTTP response: " + content, e);
  438. throw new Problem.ProblemException(Problem.toDTO(content));
  439. }
  440. }
  441. public HttpInvoker.HttpResponse
  442. deleteOrganizationRoleUserAccountAssociationHttpResponse(
  443. Long roleId, Long userAccountId, Long organizationId)
  444. throws Exception {
  445. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  446. if (_builder._locale != null) {
  447. httpInvoker.header(
  448. "Accept-Language", _builder._locale.toLanguageTag());
  449. }
  450. for (Map.Entry<String, String> entry :
  451. _builder._headers.entrySet()) {
  452. httpInvoker.header(entry.getKey(), entry.getValue());
  453. }
  454. for (Map.Entry<String, String> entry :
  455. _builder._parameters.entrySet()) {
  456. httpInvoker.parameter(entry.getKey(), entry.getValue());
  457. }
  458. httpInvoker.httpMethod(HttpInvoker.HttpMethod.DELETE);
  459. httpInvoker.path(
  460. _builder._scheme + "://" + _builder._host + ":" +
  461. _builder._port + _builder._contextPath +
  462. "/o/headless-admin-user/v1.0/roles/{roleId}/association/user-account/{userAccountId}/organization/{organizationId}");
  463. httpInvoker.path("roleId", roleId);
  464. httpInvoker.path("userAccountId", userAccountId);
  465. httpInvoker.path("organizationId", organizationId);
  466. httpInvoker.userNameAndPassword(
  467. _builder._login + ":" + _builder._password);
  468. return httpInvoker.invoke();
  469. }
  470. public void postOrganizationRoleUserAccountAssociation(
  471. Long roleId, Long userAccountId, Long organizationId)
  472. throws Exception {
  473. HttpInvoker.HttpResponse httpResponse =
  474. postOrganizationRoleUserAccountAssociationHttpResponse(
  475. roleId, userAccountId, organizationId);
  476. String content = httpResponse.getContent();
  477. if ((httpResponse.getStatusCode() / 100) != 2) {
  478. _logger.log(
  479. Level.WARNING,
  480. "Unable to process HTTP response content: " + content);
  481. _logger.log(
  482. Level.WARNING,
  483. "HTTP response message: " + httpResponse.getMessage());
  484. _logger.log(
  485. Level.WARNING,
  486. "HTTP response status code: " +
  487. httpResponse.getStatusCode());
  488. throw new Problem.ProblemException(Problem.toDTO(content));
  489. }
  490. else {
  491. _logger.fine("HTTP response content: " + content);
  492. _logger.fine(
  493. "HTTP response message: " + httpResponse.getMessage());
  494. _logger.fine(
  495. "HTTP response status code: " +
  496. httpResponse.getStatusCode());
  497. }
  498. try {
  499. return;
  500. }
  501. catch (Exception e) {
  502. _logger.log(
  503. Level.WARNING,
  504. "Unable to process HTTP response: " + content, e);
  505. throw new Problem.ProblemException(Problem.toDTO(content));
  506. }
  507. }
  508. public HttpInvoker.HttpResponse
  509. postOrganizationRoleUserAccountAssociationHttpResponse(
  510. Long roleId, Long userAccountId, Long organizationId)
  511. throws Exception {
  512. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  513. if (_builder._locale != null) {
  514. httpInvoker.header(
  515. "Accept-Language", _builder._locale.toLanguageTag());
  516. }
  517. for (Map.Entry<String, String> entry :
  518. _builder._headers.entrySet()) {
  519. httpInvoker.header(entry.getKey(), entry.getValue());
  520. }
  521. for (Map.Entry<String, String> entry :
  522. _builder._parameters.entrySet()) {
  523. httpInvoker.parameter(entry.getKey(), entry.getValue());
  524. }
  525. httpInvoker.httpMethod(HttpInvoker.HttpMethod.POST);
  526. httpInvoker.path(
  527. _builder._scheme + "://" + _builder._host + ":" +
  528. _builder._port + _builder._contextPath +
  529. "/o/headless-admin-user/v1.0/roles/{roleId}/association/user-account/{userAccountId}/organization/{organizationId}");
  530. httpInvoker.path("roleId", roleId);
  531. httpInvoker.path("userAccountId", userAccountId);
  532. httpInvoker.path("organizationId", organizationId);
  533. httpInvoker.userNameAndPassword(
  534. _builder._login + ":" + _builder._password);
  535. return httpInvoker.invoke();
  536. }
  537. public void deleteSiteRoleUserAccountAssociation(
  538. Long roleId, Long userAccountId, Long siteId)
  539. throws Exception {
  540. HttpInvoker.HttpResponse httpResponse =
  541. deleteSiteRoleUserAccountAssociationHttpResponse(
  542. roleId, userAccountId, siteId);
  543. String content = httpResponse.getContent();
  544. if ((httpResponse.getStatusCode() / 100) != 2) {
  545. _logger.log(
  546. Level.WARNING,
  547. "Unable to process HTTP response content: " + content);
  548. _logger.log(
  549. Level.WARNING,
  550. "HTTP response message: " + httpResponse.getMessage());
  551. _logger.log(
  552. Level.WARNING,
  553. "HTTP response status code: " +
  554. httpResponse.getStatusCode());
  555. throw new Problem.ProblemException(Problem.toDTO(content));
  556. }
  557. else {
  558. _logger.fine("HTTP response content: " + content);
  559. _logger.fine(
  560. "HTTP response message: " + httpResponse.getMessage());
  561. _logger.fine(
  562. "HTTP response status code: " +
  563. httpResponse.getStatusCode());
  564. }
  565. try {
  566. return;
  567. }
  568. catch (Exception e) {
  569. _logger.log(
  570. Level.WARNING,
  571. "Unable to process HTTP response: " + content, e);
  572. throw new Problem.ProblemException(Problem.toDTO(content));
  573. }
  574. }
  575. public HttpInvoker.HttpResponse
  576. deleteSiteRoleUserAccountAssociationHttpResponse(
  577. Long roleId, Long userAccountId, Long siteId)
  578. throws Exception {
  579. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  580. if (_builder._locale != null) {
  581. httpInvoker.header(
  582. "Accept-Language", _builder._locale.toLanguageTag());
  583. }
  584. for (Map.Entry<String, String> entry :
  585. _builder._headers.entrySet()) {
  586. httpInvoker.header(entry.getKey(), entry.getValue());
  587. }
  588. for (Map.Entry<String, String> entry :
  589. _builder._parameters.entrySet()) {
  590. httpInvoker.parameter(entry.getKey(), entry.getValue());
  591. }
  592. httpInvoker.httpMethod(HttpInvoker.HttpMethod.DELETE);
  593. httpInvoker.path(
  594. _builder._scheme + "://" + _builder._host + ":" +
  595. _builder._port + _builder._contextPath +
  596. "/o/headless-admin-user/v1.0/roles/{roleId}/association/user-account/{userAccountId}/site/{siteId}");
  597. httpInvoker.path("roleId", roleId);
  598. httpInvoker.path("userAccountId", userAccountId);
  599. httpInvoker.path("siteId", siteId);
  600. httpInvoker.userNameAndPassword(
  601. _builder._login + ":" + _builder._password);
  602. return httpInvoker.invoke();
  603. }
  604. public void postSiteRoleUserAccountAssociation(
  605. Long roleId, Long userAccountId, Long siteId)
  606. throws Exception {
  607. HttpInvoker.HttpResponse httpResponse =
  608. postSiteRoleUserAccountAssociationHttpResponse(
  609. roleId, userAccountId, siteId);
  610. String content = httpResponse.getContent();
  611. if ((httpResponse.getStatusCode() / 100) != 2) {
  612. _logger.log(
  613. Level.WARNING,
  614. "Unable to process HTTP response content: " + content);
  615. _logger.log(
  616. Level.WARNING,
  617. "HTTP response message: " + httpResponse.getMessage());
  618. _logger.log(
  619. Level.WARNING,
  620. "HTTP response status code: " +
  621. httpResponse.getStatusCode());
  622. throw new Problem.ProblemException(Problem.toDTO(content));
  623. }
  624. else {
  625. _logger.fine("HTTP response content: " + content);
  626. _logger.fine(
  627. "HTTP response message: " + httpResponse.getMessage());
  628. _logger.fine(
  629. "HTTP response status code: " +
  630. httpResponse.getStatusCode());
  631. }
  632. try {
  633. return;
  634. }
  635. catch (Exception e) {
  636. _logger.log(
  637. Level.WARNING,
  638. "Unable to process HTTP response: " + content, e);
  639. throw new Problem.ProblemException(Problem.toDTO(content));
  640. }
  641. }
  642. public HttpInvoker.HttpResponse
  643. postSiteRoleUserAccountAssociationHttpResponse(
  644. Long roleId, Long userAccountId, Long siteId)
  645. throws Exception {
  646. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  647. if (_builder._locale != null) {
  648. httpInvoker.header(
  649. "Accept-Language", _builder._locale.toLanguageTag());
  650. }
  651. for (Map.Entry<String, String> entry :
  652. _builder._headers.entrySet()) {
  653. httpInvoker.header(entry.getKey(), entry.getValue());
  654. }
  655. for (Map.Entry<String, String> entry :
  656. _builder._parameters.entrySet()) {
  657. httpInvoker.parameter(entry.getKey(), entry.getValue());
  658. }
  659. httpInvoker.httpMethod(HttpInvoker.HttpMethod.POST);
  660. httpInvoker.path(
  661. _builder._scheme + "://" + _builder._host + ":" +
  662. _builder._port + _builder._contextPath +
  663. "/o/headless-admin-user/v1.0/roles/{roleId}/association/user-account/{userAccountId}/site/{siteId}");
  664. httpInvoker.path("roleId", roleId);
  665. httpInvoker.path("userAccountId", userAccountId);
  666. httpInvoker.path("siteId", siteId);
  667. httpInvoker.userNameAndPassword(
  668. _builder._login + ":" + _builder._password);
  669. return httpInvoker.invoke();
  670. }
  671. private RoleResourceImpl(Builder builder) {
  672. _builder = builder;
  673. }
  674. private static final Logger _logger = Logger.getLogger(
  675. RoleResource.class.getName());
  676. private Builder _builder;
  677. }
  678. }