/modules/apps/headless/headless-delivery/headless-delivery-client/src/main/java/com/liferay/headless/delivery/client/resource/v1_0/WikiPageAttachmentResource.java

https://github.com/danielreuther/liferay-portal · Java · 688 lines · 509 code · 162 blank · 17 comment · 50 complexity · fc4b53bce7009ef641cce67a4f1dd7bc 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.delivery.client.resource.v1_0;
  15. import com.liferay.headless.delivery.client.dto.v1_0.WikiPageAttachment;
  16. import com.liferay.headless.delivery.client.http.HttpInvoker;
  17. import com.liferay.headless.delivery.client.pagination.Page;
  18. import com.liferay.headless.delivery.client.problem.Problem;
  19. import com.liferay.headless.delivery.client.serdes.v1_0.WikiPageAttachmentSerDes;
  20. import java.io.File;
  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 WikiPageAttachmentResource {
  33. public static Builder builder() {
  34. return new Builder();
  35. }
  36. public void deleteWikiPageAttachment(Long wikiPageAttachmentId)
  37. throws Exception;
  38. public HttpInvoker.HttpResponse deleteWikiPageAttachmentHttpResponse(
  39. Long wikiPageAttachmentId)
  40. throws Exception;
  41. public void deleteWikiPageAttachmentBatch(String callbackURL, Object object)
  42. throws Exception;
  43. public HttpInvoker.HttpResponse deleteWikiPageAttachmentBatchHttpResponse(
  44. String callbackURL, Object object)
  45. throws Exception;
  46. public WikiPageAttachment getWikiPageAttachment(Long wikiPageAttachmentId)
  47. throws Exception;
  48. public HttpInvoker.HttpResponse getWikiPageAttachmentHttpResponse(
  49. Long wikiPageAttachmentId)
  50. throws Exception;
  51. public Page<WikiPageAttachment> getWikiPageWikiPageAttachmentsPage(
  52. Long wikiPageId)
  53. throws Exception;
  54. public HttpInvoker.HttpResponse
  55. getWikiPageWikiPageAttachmentsPageHttpResponse(Long wikiPageId)
  56. throws Exception;
  57. public WikiPageAttachment postWikiPageWikiPageAttachment(
  58. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  59. Map<String, File> multipartFiles)
  60. throws Exception;
  61. public HttpInvoker.HttpResponse postWikiPageWikiPageAttachmentHttpResponse(
  62. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  63. Map<String, File> multipartFiles)
  64. throws Exception;
  65. public void postWikiPageWikiPageAttachmentBatch(
  66. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  67. Map<String, File> multipartFiles, String callbackURL, Object object)
  68. throws Exception;
  69. public HttpInvoker.HttpResponse
  70. postWikiPageWikiPageAttachmentBatchHttpResponse(
  71. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  72. Map<String, File> multipartFiles, String callbackURL,
  73. Object object)
  74. throws Exception;
  75. public static class Builder {
  76. public Builder authentication(String login, String password) {
  77. _login = login;
  78. _password = password;
  79. return this;
  80. }
  81. public WikiPageAttachmentResource build() {
  82. return new WikiPageAttachmentResourceImpl(this);
  83. }
  84. public Builder contextPath(String contextPath) {
  85. _contextPath = contextPath;
  86. return this;
  87. }
  88. public Builder endpoint(String host, int port, String scheme) {
  89. _host = host;
  90. _port = port;
  91. _scheme = scheme;
  92. return this;
  93. }
  94. public Builder header(String key, String value) {
  95. _headers.put(key, value);
  96. return this;
  97. }
  98. public Builder locale(Locale locale) {
  99. _locale = locale;
  100. return this;
  101. }
  102. public Builder parameter(String key, String value) {
  103. _parameters.put(key, value);
  104. return this;
  105. }
  106. public Builder parameters(String... parameters) {
  107. if ((parameters.length % 2) != 0) {
  108. throw new IllegalArgumentException(
  109. "Parameters length is not an even number");
  110. }
  111. for (int i = 0; i < parameters.length; i += 2) {
  112. String parameterName = String.valueOf(parameters[i]);
  113. String parameterValue = String.valueOf(parameters[i + 1]);
  114. _parameters.put(parameterName, parameterValue);
  115. }
  116. return this;
  117. }
  118. private Builder() {
  119. }
  120. private String _contextPath = "";
  121. private Map<String, String> _headers = new LinkedHashMap<>();
  122. private String _host = "localhost";
  123. private Locale _locale;
  124. private String _login = "";
  125. private String _password = "";
  126. private Map<String, String> _parameters = new LinkedHashMap<>();
  127. private int _port = 8080;
  128. private String _scheme = "http";
  129. }
  130. public static class WikiPageAttachmentResourceImpl
  131. implements WikiPageAttachmentResource {
  132. public void deleteWikiPageAttachment(Long wikiPageAttachmentId)
  133. throws Exception {
  134. HttpInvoker.HttpResponse httpResponse =
  135. deleteWikiPageAttachmentHttpResponse(wikiPageAttachmentId);
  136. String content = httpResponse.getContent();
  137. if ((httpResponse.getStatusCode() / 100) != 2) {
  138. _logger.log(
  139. Level.WARNING,
  140. "Unable to process HTTP response content: " + content);
  141. _logger.log(
  142. Level.WARNING,
  143. "HTTP response message: " + httpResponse.getMessage());
  144. _logger.log(
  145. Level.WARNING,
  146. "HTTP response status code: " +
  147. httpResponse.getStatusCode());
  148. throw new Problem.ProblemException(Problem.toDTO(content));
  149. }
  150. else {
  151. _logger.fine("HTTP response content: " + content);
  152. _logger.fine(
  153. "HTTP response message: " + httpResponse.getMessage());
  154. _logger.fine(
  155. "HTTP response status code: " +
  156. httpResponse.getStatusCode());
  157. }
  158. try {
  159. return;
  160. }
  161. catch (Exception e) {
  162. _logger.log(
  163. Level.WARNING,
  164. "Unable to process HTTP response: " + content, e);
  165. throw new Problem.ProblemException(Problem.toDTO(content));
  166. }
  167. }
  168. public HttpInvoker.HttpResponse deleteWikiPageAttachmentHttpResponse(
  169. Long wikiPageAttachmentId)
  170. throws Exception {
  171. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  172. if (_builder._locale != null) {
  173. httpInvoker.header(
  174. "Accept-Language", _builder._locale.toLanguageTag());
  175. }
  176. for (Map.Entry<String, String> entry :
  177. _builder._headers.entrySet()) {
  178. httpInvoker.header(entry.getKey(), entry.getValue());
  179. }
  180. for (Map.Entry<String, String> entry :
  181. _builder._parameters.entrySet()) {
  182. httpInvoker.parameter(entry.getKey(), entry.getValue());
  183. }
  184. httpInvoker.httpMethod(HttpInvoker.HttpMethod.DELETE);
  185. httpInvoker.path(
  186. _builder._scheme + "://" + _builder._host + ":" +
  187. _builder._port + _builder._contextPath +
  188. "/o/headless-delivery/v1.0/wiki-page-attachments/{wikiPageAttachmentId}");
  189. httpInvoker.path("wikiPageAttachmentId", wikiPageAttachmentId);
  190. httpInvoker.userNameAndPassword(
  191. _builder._login + ":" + _builder._password);
  192. return httpInvoker.invoke();
  193. }
  194. public void deleteWikiPageAttachmentBatch(
  195. String callbackURL, Object object)
  196. throws Exception {
  197. HttpInvoker.HttpResponse httpResponse =
  198. deleteWikiPageAttachmentBatchHttpResponse(callbackURL, object);
  199. String content = httpResponse.getContent();
  200. if ((httpResponse.getStatusCode() / 100) != 2) {
  201. _logger.log(
  202. Level.WARNING,
  203. "Unable to process HTTP response content: " + content);
  204. _logger.log(
  205. Level.WARNING,
  206. "HTTP response message: " + httpResponse.getMessage());
  207. _logger.log(
  208. Level.WARNING,
  209. "HTTP response status code: " +
  210. httpResponse.getStatusCode());
  211. throw new Problem.ProblemException(Problem.toDTO(content));
  212. }
  213. else {
  214. _logger.fine("HTTP response content: " + content);
  215. _logger.fine(
  216. "HTTP response message: " + httpResponse.getMessage());
  217. _logger.fine(
  218. "HTTP response status code: " +
  219. httpResponse.getStatusCode());
  220. }
  221. }
  222. public HttpInvoker.HttpResponse
  223. deleteWikiPageAttachmentBatchHttpResponse(
  224. String callbackURL, Object object)
  225. throws Exception {
  226. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  227. httpInvoker.body(object.toString(), "application/json");
  228. if (_builder._locale != null) {
  229. httpInvoker.header(
  230. "Accept-Language", _builder._locale.toLanguageTag());
  231. }
  232. for (Map.Entry<String, String> entry :
  233. _builder._headers.entrySet()) {
  234. httpInvoker.header(entry.getKey(), entry.getValue());
  235. }
  236. for (Map.Entry<String, String> entry :
  237. _builder._parameters.entrySet()) {
  238. httpInvoker.parameter(entry.getKey(), entry.getValue());
  239. }
  240. httpInvoker.httpMethod(HttpInvoker.HttpMethod.DELETE);
  241. if (callbackURL != null) {
  242. httpInvoker.parameter(
  243. "callbackURL", String.valueOf(callbackURL));
  244. }
  245. httpInvoker.path(
  246. _builder._scheme + "://" + _builder._host + ":" +
  247. _builder._port + _builder._contextPath +
  248. "/o/headless-delivery/v1.0/wiki-page-attachments/batch");
  249. httpInvoker.userNameAndPassword(
  250. _builder._login + ":" + _builder._password);
  251. return httpInvoker.invoke();
  252. }
  253. public WikiPageAttachment getWikiPageAttachment(
  254. Long wikiPageAttachmentId)
  255. throws Exception {
  256. HttpInvoker.HttpResponse httpResponse =
  257. getWikiPageAttachmentHttpResponse(wikiPageAttachmentId);
  258. String content = httpResponse.getContent();
  259. if ((httpResponse.getStatusCode() / 100) != 2) {
  260. _logger.log(
  261. Level.WARNING,
  262. "Unable to process HTTP response content: " + content);
  263. _logger.log(
  264. Level.WARNING,
  265. "HTTP response message: " + httpResponse.getMessage());
  266. _logger.log(
  267. Level.WARNING,
  268. "HTTP response status code: " +
  269. httpResponse.getStatusCode());
  270. throw new Problem.ProblemException(Problem.toDTO(content));
  271. }
  272. else {
  273. _logger.fine("HTTP response content: " + content);
  274. _logger.fine(
  275. "HTTP response message: " + httpResponse.getMessage());
  276. _logger.fine(
  277. "HTTP response status code: " +
  278. httpResponse.getStatusCode());
  279. }
  280. try {
  281. return WikiPageAttachmentSerDes.toDTO(content);
  282. }
  283. catch (Exception e) {
  284. _logger.log(
  285. Level.WARNING,
  286. "Unable to process HTTP response: " + content, e);
  287. throw new Problem.ProblemException(Problem.toDTO(content));
  288. }
  289. }
  290. public HttpInvoker.HttpResponse getWikiPageAttachmentHttpResponse(
  291. Long wikiPageAttachmentId)
  292. throws Exception {
  293. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  294. if (_builder._locale != null) {
  295. httpInvoker.header(
  296. "Accept-Language", _builder._locale.toLanguageTag());
  297. }
  298. for (Map.Entry<String, String> entry :
  299. _builder._headers.entrySet()) {
  300. httpInvoker.header(entry.getKey(), entry.getValue());
  301. }
  302. for (Map.Entry<String, String> entry :
  303. _builder._parameters.entrySet()) {
  304. httpInvoker.parameter(entry.getKey(), entry.getValue());
  305. }
  306. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  307. httpInvoker.path(
  308. _builder._scheme + "://" + _builder._host + ":" +
  309. _builder._port + _builder._contextPath +
  310. "/o/headless-delivery/v1.0/wiki-page-attachments/{wikiPageAttachmentId}");
  311. httpInvoker.path("wikiPageAttachmentId", wikiPageAttachmentId);
  312. httpInvoker.userNameAndPassword(
  313. _builder._login + ":" + _builder._password);
  314. return httpInvoker.invoke();
  315. }
  316. public Page<WikiPageAttachment> getWikiPageWikiPageAttachmentsPage(
  317. Long wikiPageId)
  318. throws Exception {
  319. HttpInvoker.HttpResponse httpResponse =
  320. getWikiPageWikiPageAttachmentsPageHttpResponse(wikiPageId);
  321. String content = httpResponse.getContent();
  322. if ((httpResponse.getStatusCode() / 100) != 2) {
  323. _logger.log(
  324. Level.WARNING,
  325. "Unable to process HTTP response content: " + content);
  326. _logger.log(
  327. Level.WARNING,
  328. "HTTP response message: " + httpResponse.getMessage());
  329. _logger.log(
  330. Level.WARNING,
  331. "HTTP response status code: " +
  332. httpResponse.getStatusCode());
  333. throw new Problem.ProblemException(Problem.toDTO(content));
  334. }
  335. else {
  336. _logger.fine("HTTP response content: " + content);
  337. _logger.fine(
  338. "HTTP response message: " + httpResponse.getMessage());
  339. _logger.fine(
  340. "HTTP response status code: " +
  341. httpResponse.getStatusCode());
  342. }
  343. try {
  344. return Page.of(content, WikiPageAttachmentSerDes::toDTO);
  345. }
  346. catch (Exception e) {
  347. _logger.log(
  348. Level.WARNING,
  349. "Unable to process HTTP response: " + content, e);
  350. throw new Problem.ProblemException(Problem.toDTO(content));
  351. }
  352. }
  353. public HttpInvoker.HttpResponse
  354. getWikiPageWikiPageAttachmentsPageHttpResponse(Long wikiPageId)
  355. throws Exception {
  356. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  357. if (_builder._locale != null) {
  358. httpInvoker.header(
  359. "Accept-Language", _builder._locale.toLanguageTag());
  360. }
  361. for (Map.Entry<String, String> entry :
  362. _builder._headers.entrySet()) {
  363. httpInvoker.header(entry.getKey(), entry.getValue());
  364. }
  365. for (Map.Entry<String, String> entry :
  366. _builder._parameters.entrySet()) {
  367. httpInvoker.parameter(entry.getKey(), entry.getValue());
  368. }
  369. httpInvoker.httpMethod(HttpInvoker.HttpMethod.GET);
  370. httpInvoker.path(
  371. _builder._scheme + "://" + _builder._host + ":" +
  372. _builder._port + _builder._contextPath +
  373. "/o/headless-delivery/v1.0/wiki-pages/{wikiPageId}/wiki-page-attachments");
  374. httpInvoker.path("wikiPageId", wikiPageId);
  375. httpInvoker.userNameAndPassword(
  376. _builder._login + ":" + _builder._password);
  377. return httpInvoker.invoke();
  378. }
  379. public WikiPageAttachment postWikiPageWikiPageAttachment(
  380. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  381. Map<String, File> multipartFiles)
  382. throws Exception {
  383. HttpInvoker.HttpResponse httpResponse =
  384. postWikiPageWikiPageAttachmentHttpResponse(
  385. wikiPageId, wikiPageAttachment, multipartFiles);
  386. String content = httpResponse.getContent();
  387. if ((httpResponse.getStatusCode() / 100) != 2) {
  388. _logger.log(
  389. Level.WARNING,
  390. "Unable to process HTTP response content: " + content);
  391. _logger.log(
  392. Level.WARNING,
  393. "HTTP response message: " + httpResponse.getMessage());
  394. _logger.log(
  395. Level.WARNING,
  396. "HTTP response status code: " +
  397. httpResponse.getStatusCode());
  398. throw new Problem.ProblemException(Problem.toDTO(content));
  399. }
  400. else {
  401. _logger.fine("HTTP response content: " + content);
  402. _logger.fine(
  403. "HTTP response message: " + httpResponse.getMessage());
  404. _logger.fine(
  405. "HTTP response status code: " +
  406. httpResponse.getStatusCode());
  407. }
  408. try {
  409. return WikiPageAttachmentSerDes.toDTO(content);
  410. }
  411. catch (Exception e) {
  412. _logger.log(
  413. Level.WARNING,
  414. "Unable to process HTTP response: " + content, e);
  415. throw new Problem.ProblemException(Problem.toDTO(content));
  416. }
  417. }
  418. public HttpInvoker.HttpResponse
  419. postWikiPageWikiPageAttachmentHttpResponse(
  420. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  421. Map<String, File> multipartFiles)
  422. throws Exception {
  423. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  424. httpInvoker.multipart();
  425. httpInvoker.part(
  426. "wikiPageAttachment",
  427. WikiPageAttachmentSerDes.toJSON(wikiPageAttachment));
  428. for (Map.Entry<String, File> entry : multipartFiles.entrySet()) {
  429. httpInvoker.part(entry.getKey(), entry.getValue());
  430. }
  431. if (_builder._locale != null) {
  432. httpInvoker.header(
  433. "Accept-Language", _builder._locale.toLanguageTag());
  434. }
  435. for (Map.Entry<String, String> entry :
  436. _builder._headers.entrySet()) {
  437. httpInvoker.header(entry.getKey(), entry.getValue());
  438. }
  439. for (Map.Entry<String, String> entry :
  440. _builder._parameters.entrySet()) {
  441. httpInvoker.parameter(entry.getKey(), entry.getValue());
  442. }
  443. httpInvoker.httpMethod(HttpInvoker.HttpMethod.POST);
  444. httpInvoker.path(
  445. _builder._scheme + "://" + _builder._host + ":" +
  446. _builder._port + _builder._contextPath +
  447. "/o/headless-delivery/v1.0/wiki-pages/{wikiPageId}/wiki-page-attachments");
  448. httpInvoker.path("wikiPageId", wikiPageId);
  449. httpInvoker.userNameAndPassword(
  450. _builder._login + ":" + _builder._password);
  451. return httpInvoker.invoke();
  452. }
  453. public void postWikiPageWikiPageAttachmentBatch(
  454. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  455. Map<String, File> multipartFiles, String callbackURL,
  456. Object object)
  457. throws Exception {
  458. HttpInvoker.HttpResponse httpResponse =
  459. postWikiPageWikiPageAttachmentBatchHttpResponse(
  460. wikiPageId, wikiPageAttachment, multipartFiles, callbackURL,
  461. object);
  462. String content = httpResponse.getContent();
  463. if ((httpResponse.getStatusCode() / 100) != 2) {
  464. _logger.log(
  465. Level.WARNING,
  466. "Unable to process HTTP response content: " + content);
  467. _logger.log(
  468. Level.WARNING,
  469. "HTTP response message: " + httpResponse.getMessage());
  470. _logger.log(
  471. Level.WARNING,
  472. "HTTP response status code: " +
  473. httpResponse.getStatusCode());
  474. throw new Problem.ProblemException(Problem.toDTO(content));
  475. }
  476. else {
  477. _logger.fine("HTTP response content: " + content);
  478. _logger.fine(
  479. "HTTP response message: " + httpResponse.getMessage());
  480. _logger.fine(
  481. "HTTP response status code: " +
  482. httpResponse.getStatusCode());
  483. }
  484. }
  485. public HttpInvoker.HttpResponse
  486. postWikiPageWikiPageAttachmentBatchHttpResponse(
  487. Long wikiPageId, WikiPageAttachment wikiPageAttachment,
  488. Map<String, File> multipartFiles, String callbackURL,
  489. Object object)
  490. throws Exception {
  491. HttpInvoker httpInvoker = HttpInvoker.newHttpInvoker();
  492. httpInvoker.body(object.toString(), "application/json");
  493. if (_builder._locale != null) {
  494. httpInvoker.header(
  495. "Accept-Language", _builder._locale.toLanguageTag());
  496. }
  497. for (Map.Entry<String, String> entry :
  498. _builder._headers.entrySet()) {
  499. httpInvoker.header(entry.getKey(), entry.getValue());
  500. }
  501. for (Map.Entry<String, String> entry :
  502. _builder._parameters.entrySet()) {
  503. httpInvoker.parameter(entry.getKey(), entry.getValue());
  504. }
  505. httpInvoker.httpMethod(HttpInvoker.HttpMethod.POST);
  506. if (callbackURL != null) {
  507. httpInvoker.parameter(
  508. "callbackURL", String.valueOf(callbackURL));
  509. }
  510. httpInvoker.path(
  511. _builder._scheme + "://" + _builder._host + ":" +
  512. _builder._port + _builder._contextPath +
  513. "/o/headless-delivery/v1.0/wiki-pages/{wikiPageId}/wiki-page-attachments/batch");
  514. httpInvoker.path("wikiPageId", wikiPageId);
  515. httpInvoker.userNameAndPassword(
  516. _builder._login + ":" + _builder._password);
  517. return httpInvoker.invoke();
  518. }
  519. private WikiPageAttachmentResourceImpl(Builder builder) {
  520. _builder = builder;
  521. }
  522. private static final Logger _logger = Logger.getLogger(
  523. WikiPageAttachmentResource.class.getName());
  524. private Builder _builder;
  525. }
  526. }