/modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-cart-client/src/main/java/com/liferay/headless/commerce/delivery/cart/client/serdes/v1_0/CartSerDes.java

https://github.com/danielreuther/liferay-portal · Java · 1140 lines · 881 code · 242 blank · 17 comment · 380 complexity · 7de7c1e25cd1cf52fed45a82c95bc8d1 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.commerce.delivery.cart.client.serdes.v1_0;
  15. import com.liferay.headless.commerce.delivery.cart.client.dto.v1_0.Cart;
  16. import com.liferay.headless.commerce.delivery.cart.client.dto.v1_0.CartComment;
  17. import com.liferay.headless.commerce.delivery.cart.client.dto.v1_0.CartItem;
  18. import com.liferay.headless.commerce.delivery.cart.client.json.BaseJSONParser;
  19. import java.text.DateFormat;
  20. import java.text.SimpleDateFormat;
  21. import java.util.Iterator;
  22. import java.util.Map;
  23. import java.util.Objects;
  24. import java.util.Set;
  25. import java.util.TreeMap;
  26. import java.util.stream.Stream;
  27. import javax.annotation.Generated;
  28. /**
  29. * @author Andrea Sbarra
  30. * @generated
  31. */
  32. @Generated("")
  33. public class CartSerDes {
  34. public static Cart toDTO(String json) {
  35. CartJSONParser cartJSONParser = new CartJSONParser();
  36. return cartJSONParser.parseToDTO(json);
  37. }
  38. public static Cart[] toDTOs(String json) {
  39. CartJSONParser cartJSONParser = new CartJSONParser();
  40. return cartJSONParser.parseToDTOs(json);
  41. }
  42. public static String toJSON(Cart cart) {
  43. if (cart == null) {
  44. return "null";
  45. }
  46. StringBuilder sb = new StringBuilder();
  47. sb.append("{");
  48. DateFormat liferayToJSONDateFormat = new SimpleDateFormat(
  49. "yyyy-MM-dd'T'HH:mm:ssXX");
  50. if (cart.getAccount() != null) {
  51. if (sb.length() > 1) {
  52. sb.append(", ");
  53. }
  54. sb.append("\"account\": ");
  55. sb.append("\"");
  56. sb.append(_escape(cart.getAccount()));
  57. sb.append("\"");
  58. }
  59. if (cart.getAccountId() != null) {
  60. if (sb.length() > 1) {
  61. sb.append(", ");
  62. }
  63. sb.append("\"accountId\": ");
  64. sb.append(cart.getAccountId());
  65. }
  66. if (cart.getAuthor() != null) {
  67. if (sb.length() > 1) {
  68. sb.append(", ");
  69. }
  70. sb.append("\"author\": ");
  71. sb.append("\"");
  72. sb.append(_escape(cart.getAuthor()));
  73. sb.append("\"");
  74. }
  75. if (cart.getBillingAddress() != null) {
  76. if (sb.length() > 1) {
  77. sb.append(", ");
  78. }
  79. sb.append("\"billingAddress\": ");
  80. sb.append(String.valueOf(cart.getBillingAddress()));
  81. }
  82. if (cart.getBillingAddressId() != null) {
  83. if (sb.length() > 1) {
  84. sb.append(", ");
  85. }
  86. sb.append("\"billingAddressId\": ");
  87. sb.append(cart.getBillingAddressId());
  88. }
  89. if (cart.getCartItems() != null) {
  90. if (sb.length() > 1) {
  91. sb.append(", ");
  92. }
  93. sb.append("\"cartItems\": ");
  94. sb.append("[");
  95. for (int i = 0; i < cart.getCartItems().length; i++) {
  96. sb.append(String.valueOf(cart.getCartItems()[i]));
  97. if ((i + 1) < cart.getCartItems().length) {
  98. sb.append(", ");
  99. }
  100. }
  101. sb.append("]");
  102. }
  103. if (cart.getChannelId() != null) {
  104. if (sb.length() > 1) {
  105. sb.append(", ");
  106. }
  107. sb.append("\"channelId\": ");
  108. sb.append(cart.getChannelId());
  109. }
  110. if (cart.getCouponCode() != null) {
  111. if (sb.length() > 1) {
  112. sb.append(", ");
  113. }
  114. sb.append("\"couponCode\": ");
  115. sb.append("\"");
  116. sb.append(_escape(cart.getCouponCode()));
  117. sb.append("\"");
  118. }
  119. if (cart.getCreateDate() != null) {
  120. if (sb.length() > 1) {
  121. sb.append(", ");
  122. }
  123. sb.append("\"createDate\": ");
  124. sb.append("\"");
  125. sb.append(liferayToJSONDateFormat.format(cart.getCreateDate()));
  126. sb.append("\"");
  127. }
  128. if (cart.getCurrencyCode() != null) {
  129. if (sb.length() > 1) {
  130. sb.append(", ");
  131. }
  132. sb.append("\"currencyCode\": ");
  133. sb.append("\"");
  134. sb.append(_escape(cart.getCurrencyCode()));
  135. sb.append("\"");
  136. }
  137. if (cart.getCustomFields() != null) {
  138. if (sb.length() > 1) {
  139. sb.append(", ");
  140. }
  141. sb.append("\"customFields\": ");
  142. sb.append(_toJSON(cart.getCustomFields()));
  143. }
  144. if (cart.getErrorMessages() != null) {
  145. if (sb.length() > 1) {
  146. sb.append(", ");
  147. }
  148. sb.append("\"errorMessages\": ");
  149. sb.append("[");
  150. for (int i = 0; i < cart.getErrorMessages().length; i++) {
  151. sb.append("\"");
  152. sb.append(_escape(cart.getErrorMessages()[i]));
  153. sb.append("\"");
  154. if ((i + 1) < cart.getErrorMessages().length) {
  155. sb.append(", ");
  156. }
  157. }
  158. sb.append("]");
  159. }
  160. if (cart.getId() != null) {
  161. if (sb.length() > 1) {
  162. sb.append(", ");
  163. }
  164. sb.append("\"id\": ");
  165. sb.append(cart.getId());
  166. }
  167. if (cart.getLastPriceUpdateDate() != null) {
  168. if (sb.length() > 1) {
  169. sb.append(", ");
  170. }
  171. sb.append("\"lastPriceUpdateDate\": ");
  172. sb.append("\"");
  173. sb.append(
  174. liferayToJSONDateFormat.format(cart.getLastPriceUpdateDate()));
  175. sb.append("\"");
  176. }
  177. if (cart.getModifiedDate() != null) {
  178. if (sb.length() > 1) {
  179. sb.append(", ");
  180. }
  181. sb.append("\"modifiedDate\": ");
  182. sb.append("\"");
  183. sb.append(liferayToJSONDateFormat.format(cart.getModifiedDate()));
  184. sb.append("\"");
  185. }
  186. if (cart.getNotes() != null) {
  187. if (sb.length() > 1) {
  188. sb.append(", ");
  189. }
  190. sb.append("\"notes\": ");
  191. sb.append("[");
  192. for (int i = 0; i < cart.getNotes().length; i++) {
  193. sb.append(String.valueOf(cart.getNotes()[i]));
  194. if ((i + 1) < cart.getNotes().length) {
  195. sb.append(", ");
  196. }
  197. }
  198. sb.append("]");
  199. }
  200. if (cart.getOrderStatusInfo() != null) {
  201. if (sb.length() > 1) {
  202. sb.append(", ");
  203. }
  204. sb.append("\"orderStatusInfo\": ");
  205. sb.append(String.valueOf(cart.getOrderStatusInfo()));
  206. }
  207. if (cart.getOrderTypeExternalReferenceCode() != null) {
  208. if (sb.length() > 1) {
  209. sb.append(", ");
  210. }
  211. sb.append("\"orderTypeExternalReferenceCode\": ");
  212. sb.append("\"");
  213. sb.append(_escape(cart.getOrderTypeExternalReferenceCode()));
  214. sb.append("\"");
  215. }
  216. if (cart.getOrderTypeId() != null) {
  217. if (sb.length() > 1) {
  218. sb.append(", ");
  219. }
  220. sb.append("\"orderTypeId\": ");
  221. sb.append(cart.getOrderTypeId());
  222. }
  223. if (cart.getOrderUUID() != null) {
  224. if (sb.length() > 1) {
  225. sb.append(", ");
  226. }
  227. sb.append("\"orderUUID\": ");
  228. sb.append("\"");
  229. sb.append(_escape(cart.getOrderUUID()));
  230. sb.append("\"");
  231. }
  232. if (cart.getPaymentMethod() != null) {
  233. if (sb.length() > 1) {
  234. sb.append(", ");
  235. }
  236. sb.append("\"paymentMethod\": ");
  237. sb.append("\"");
  238. sb.append(_escape(cart.getPaymentMethod()));
  239. sb.append("\"");
  240. }
  241. if (cart.getPaymentMethodLabel() != null) {
  242. if (sb.length() > 1) {
  243. sb.append(", ");
  244. }
  245. sb.append("\"paymentMethodLabel\": ");
  246. sb.append("\"");
  247. sb.append(_escape(cart.getPaymentMethodLabel()));
  248. sb.append("\"");
  249. }
  250. if (cart.getPaymentStatus() != null) {
  251. if (sb.length() > 1) {
  252. sb.append(", ");
  253. }
  254. sb.append("\"paymentStatus\": ");
  255. sb.append(cart.getPaymentStatus());
  256. }
  257. if (cart.getPaymentStatusInfo() != null) {
  258. if (sb.length() > 1) {
  259. sb.append(", ");
  260. }
  261. sb.append("\"paymentStatusInfo\": ");
  262. sb.append(String.valueOf(cart.getPaymentStatusInfo()));
  263. }
  264. if (cart.getPaymentStatusLabel() != null) {
  265. if (sb.length() > 1) {
  266. sb.append(", ");
  267. }
  268. sb.append("\"paymentStatusLabel\": ");
  269. sb.append("\"");
  270. sb.append(_escape(cart.getPaymentStatusLabel()));
  271. sb.append("\"");
  272. }
  273. if (cart.getPrintedNote() != null) {
  274. if (sb.length() > 1) {
  275. sb.append(", ");
  276. }
  277. sb.append("\"printedNote\": ");
  278. sb.append("\"");
  279. sb.append(_escape(cart.getPrintedNote()));
  280. sb.append("\"");
  281. }
  282. if (cart.getPurchaseOrderNumber() != null) {
  283. if (sb.length() > 1) {
  284. sb.append(", ");
  285. }
  286. sb.append("\"purchaseOrderNumber\": ");
  287. sb.append("\"");
  288. sb.append(_escape(cart.getPurchaseOrderNumber()));
  289. sb.append("\"");
  290. }
  291. if (cart.getShippingAddress() != null) {
  292. if (sb.length() > 1) {
  293. sb.append(", ");
  294. }
  295. sb.append("\"shippingAddress\": ");
  296. sb.append(String.valueOf(cart.getShippingAddress()));
  297. }
  298. if (cart.getShippingAddressId() != null) {
  299. if (sb.length() > 1) {
  300. sb.append(", ");
  301. }
  302. sb.append("\"shippingAddressId\": ");
  303. sb.append(cart.getShippingAddressId());
  304. }
  305. if (cart.getShippingMethod() != null) {
  306. if (sb.length() > 1) {
  307. sb.append(", ");
  308. }
  309. sb.append("\"shippingMethod\": ");
  310. sb.append("\"");
  311. sb.append(_escape(cart.getShippingMethod()));
  312. sb.append("\"");
  313. }
  314. if (cart.getShippingOption() != null) {
  315. if (sb.length() > 1) {
  316. sb.append(", ");
  317. }
  318. sb.append("\"shippingOption\": ");
  319. sb.append("\"");
  320. sb.append(_escape(cart.getShippingOption()));
  321. sb.append("\"");
  322. }
  323. if (cart.getStatus() != null) {
  324. if (sb.length() > 1) {
  325. sb.append(", ");
  326. }
  327. sb.append("\"status\": ");
  328. sb.append("\"");
  329. sb.append(_escape(cart.getStatus()));
  330. sb.append("\"");
  331. }
  332. if (cart.getSummary() != null) {
  333. if (sb.length() > 1) {
  334. sb.append(", ");
  335. }
  336. sb.append("\"summary\": ");
  337. sb.append(String.valueOf(cart.getSummary()));
  338. }
  339. if (cart.getUseAsBilling() != null) {
  340. if (sb.length() > 1) {
  341. sb.append(", ");
  342. }
  343. sb.append("\"useAsBilling\": ");
  344. sb.append(cart.getUseAsBilling());
  345. }
  346. if (cart.getValid() != null) {
  347. if (sb.length() > 1) {
  348. sb.append(", ");
  349. }
  350. sb.append("\"valid\": ");
  351. sb.append(cart.getValid());
  352. }
  353. if (cart.getWorkflowStatusInfo() != null) {
  354. if (sb.length() > 1) {
  355. sb.append(", ");
  356. }
  357. sb.append("\"workflowStatusInfo\": ");
  358. sb.append(String.valueOf(cart.getWorkflowStatusInfo()));
  359. }
  360. sb.append("}");
  361. return sb.toString();
  362. }
  363. public static Map<String, Object> toMap(String json) {
  364. CartJSONParser cartJSONParser = new CartJSONParser();
  365. return cartJSONParser.parseToMap(json);
  366. }
  367. public static Map<String, String> toMap(Cart cart) {
  368. if (cart == null) {
  369. return null;
  370. }
  371. Map<String, String> map = new TreeMap<>();
  372. DateFormat liferayToJSONDateFormat = new SimpleDateFormat(
  373. "yyyy-MM-dd'T'HH:mm:ssXX");
  374. if (cart.getAccount() == null) {
  375. map.put("account", null);
  376. }
  377. else {
  378. map.put("account", String.valueOf(cart.getAccount()));
  379. }
  380. if (cart.getAccountId() == null) {
  381. map.put("accountId", null);
  382. }
  383. else {
  384. map.put("accountId", String.valueOf(cart.getAccountId()));
  385. }
  386. if (cart.getAuthor() == null) {
  387. map.put("author", null);
  388. }
  389. else {
  390. map.put("author", String.valueOf(cart.getAuthor()));
  391. }
  392. if (cart.getBillingAddress() == null) {
  393. map.put("billingAddress", null);
  394. }
  395. else {
  396. map.put("billingAddress", String.valueOf(cart.getBillingAddress()));
  397. }
  398. if (cart.getBillingAddressId() == null) {
  399. map.put("billingAddressId", null);
  400. }
  401. else {
  402. map.put(
  403. "billingAddressId", String.valueOf(cart.getBillingAddressId()));
  404. }
  405. if (cart.getCartItems() == null) {
  406. map.put("cartItems", null);
  407. }
  408. else {
  409. map.put("cartItems", String.valueOf(cart.getCartItems()));
  410. }
  411. if (cart.getChannelId() == null) {
  412. map.put("channelId", null);
  413. }
  414. else {
  415. map.put("channelId", String.valueOf(cart.getChannelId()));
  416. }
  417. if (cart.getCouponCode() == null) {
  418. map.put("couponCode", null);
  419. }
  420. else {
  421. map.put("couponCode", String.valueOf(cart.getCouponCode()));
  422. }
  423. if (cart.getCreateDate() == null) {
  424. map.put("createDate", null);
  425. }
  426. else {
  427. map.put(
  428. "createDate",
  429. liferayToJSONDateFormat.format(cart.getCreateDate()));
  430. }
  431. if (cart.getCurrencyCode() == null) {
  432. map.put("currencyCode", null);
  433. }
  434. else {
  435. map.put("currencyCode", String.valueOf(cart.getCurrencyCode()));
  436. }
  437. if (cart.getCustomFields() == null) {
  438. map.put("customFields", null);
  439. }
  440. else {
  441. map.put("customFields", String.valueOf(cart.getCustomFields()));
  442. }
  443. if (cart.getErrorMessages() == null) {
  444. map.put("errorMessages", null);
  445. }
  446. else {
  447. map.put("errorMessages", String.valueOf(cart.getErrorMessages()));
  448. }
  449. if (cart.getId() == null) {
  450. map.put("id", null);
  451. }
  452. else {
  453. map.put("id", String.valueOf(cart.getId()));
  454. }
  455. if (cart.getLastPriceUpdateDate() == null) {
  456. map.put("lastPriceUpdateDate", null);
  457. }
  458. else {
  459. map.put(
  460. "lastPriceUpdateDate",
  461. liferayToJSONDateFormat.format(cart.getLastPriceUpdateDate()));
  462. }
  463. if (cart.getModifiedDate() == null) {
  464. map.put("modifiedDate", null);
  465. }
  466. else {
  467. map.put(
  468. "modifiedDate",
  469. liferayToJSONDateFormat.format(cart.getModifiedDate()));
  470. }
  471. if (cart.getNotes() == null) {
  472. map.put("notes", null);
  473. }
  474. else {
  475. map.put("notes", String.valueOf(cart.getNotes()));
  476. }
  477. if (cart.getOrderStatusInfo() == null) {
  478. map.put("orderStatusInfo", null);
  479. }
  480. else {
  481. map.put(
  482. "orderStatusInfo", String.valueOf(cart.getOrderStatusInfo()));
  483. }
  484. if (cart.getOrderTypeExternalReferenceCode() == null) {
  485. map.put("orderTypeExternalReferenceCode", null);
  486. }
  487. else {
  488. map.put(
  489. "orderTypeExternalReferenceCode",
  490. String.valueOf(cart.getOrderTypeExternalReferenceCode()));
  491. }
  492. if (cart.getOrderTypeId() == null) {
  493. map.put("orderTypeId", null);
  494. }
  495. else {
  496. map.put("orderTypeId", String.valueOf(cart.getOrderTypeId()));
  497. }
  498. if (cart.getOrderUUID() == null) {
  499. map.put("orderUUID", null);
  500. }
  501. else {
  502. map.put("orderUUID", String.valueOf(cart.getOrderUUID()));
  503. }
  504. if (cart.getPaymentMethod() == null) {
  505. map.put("paymentMethod", null);
  506. }
  507. else {
  508. map.put("paymentMethod", String.valueOf(cart.getPaymentMethod()));
  509. }
  510. if (cart.getPaymentMethodLabel() == null) {
  511. map.put("paymentMethodLabel", null);
  512. }
  513. else {
  514. map.put(
  515. "paymentMethodLabel",
  516. String.valueOf(cart.getPaymentMethodLabel()));
  517. }
  518. if (cart.getPaymentStatus() == null) {
  519. map.put("paymentStatus", null);
  520. }
  521. else {
  522. map.put("paymentStatus", String.valueOf(cart.getPaymentStatus()));
  523. }
  524. if (cart.getPaymentStatusInfo() == null) {
  525. map.put("paymentStatusInfo", null);
  526. }
  527. else {
  528. map.put(
  529. "paymentStatusInfo",
  530. String.valueOf(cart.getPaymentStatusInfo()));
  531. }
  532. if (cart.getPaymentStatusLabel() == null) {
  533. map.put("paymentStatusLabel", null);
  534. }
  535. else {
  536. map.put(
  537. "paymentStatusLabel",
  538. String.valueOf(cart.getPaymentStatusLabel()));
  539. }
  540. if (cart.getPrintedNote() == null) {
  541. map.put("printedNote", null);
  542. }
  543. else {
  544. map.put("printedNote", String.valueOf(cart.getPrintedNote()));
  545. }
  546. if (cart.getPurchaseOrderNumber() == null) {
  547. map.put("purchaseOrderNumber", null);
  548. }
  549. else {
  550. map.put(
  551. "purchaseOrderNumber",
  552. String.valueOf(cart.getPurchaseOrderNumber()));
  553. }
  554. if (cart.getShippingAddress() == null) {
  555. map.put("shippingAddress", null);
  556. }
  557. else {
  558. map.put(
  559. "shippingAddress", String.valueOf(cart.getShippingAddress()));
  560. }
  561. if (cart.getShippingAddressId() == null) {
  562. map.put("shippingAddressId", null);
  563. }
  564. else {
  565. map.put(
  566. "shippingAddressId",
  567. String.valueOf(cart.getShippingAddressId()));
  568. }
  569. if (cart.getShippingMethod() == null) {
  570. map.put("shippingMethod", null);
  571. }
  572. else {
  573. map.put("shippingMethod", String.valueOf(cart.getShippingMethod()));
  574. }
  575. if (cart.getShippingOption() == null) {
  576. map.put("shippingOption", null);
  577. }
  578. else {
  579. map.put("shippingOption", String.valueOf(cart.getShippingOption()));
  580. }
  581. if (cart.getStatus() == null) {
  582. map.put("status", null);
  583. }
  584. else {
  585. map.put("status", String.valueOf(cart.getStatus()));
  586. }
  587. if (cart.getSummary() == null) {
  588. map.put("summary", null);
  589. }
  590. else {
  591. map.put("summary", String.valueOf(cart.getSummary()));
  592. }
  593. if (cart.getUseAsBilling() == null) {
  594. map.put("useAsBilling", null);
  595. }
  596. else {
  597. map.put("useAsBilling", String.valueOf(cart.getUseAsBilling()));
  598. }
  599. if (cart.getValid() == null) {
  600. map.put("valid", null);
  601. }
  602. else {
  603. map.put("valid", String.valueOf(cart.getValid()));
  604. }
  605. if (cart.getWorkflowStatusInfo() == null) {
  606. map.put("workflowStatusInfo", null);
  607. }
  608. else {
  609. map.put(
  610. "workflowStatusInfo",
  611. String.valueOf(cart.getWorkflowStatusInfo()));
  612. }
  613. return map;
  614. }
  615. public static class CartJSONParser extends BaseJSONParser<Cart> {
  616. @Override
  617. protected Cart createDTO() {
  618. return new Cart();
  619. }
  620. @Override
  621. protected Cart[] createDTOArray(int size) {
  622. return new Cart[size];
  623. }
  624. @Override
  625. protected void setField(
  626. Cart cart, String jsonParserFieldName,
  627. Object jsonParserFieldValue) {
  628. if (Objects.equals(jsonParserFieldName, "account")) {
  629. if (jsonParserFieldValue != null) {
  630. cart.setAccount((String)jsonParserFieldValue);
  631. }
  632. }
  633. else if (Objects.equals(jsonParserFieldName, "accountId")) {
  634. if (jsonParserFieldValue != null) {
  635. cart.setAccountId(
  636. Long.valueOf((String)jsonParserFieldValue));
  637. }
  638. }
  639. else if (Objects.equals(jsonParserFieldName, "author")) {
  640. if (jsonParserFieldValue != null) {
  641. cart.setAuthor((String)jsonParserFieldValue);
  642. }
  643. }
  644. else if (Objects.equals(jsonParserFieldName, "billingAddress")) {
  645. if (jsonParserFieldValue != null) {
  646. cart.setBillingAddress(
  647. AddressSerDes.toDTO((String)jsonParserFieldValue));
  648. }
  649. }
  650. else if (Objects.equals(jsonParserFieldName, "billingAddressId")) {
  651. if (jsonParserFieldValue != null) {
  652. cart.setBillingAddressId(
  653. Long.valueOf((String)jsonParserFieldValue));
  654. }
  655. }
  656. else if (Objects.equals(jsonParserFieldName, "cartItems")) {
  657. if (jsonParserFieldValue != null) {
  658. cart.setCartItems(
  659. Stream.of(
  660. toStrings((Object[])jsonParserFieldValue)
  661. ).map(
  662. object -> CartItemSerDes.toDTO((String)object)
  663. ).toArray(
  664. size -> new CartItem[size]
  665. ));
  666. }
  667. }
  668. else if (Objects.equals(jsonParserFieldName, "channelId")) {
  669. if (jsonParserFieldValue != null) {
  670. cart.setChannelId(
  671. Long.valueOf((String)jsonParserFieldValue));
  672. }
  673. }
  674. else if (Objects.equals(jsonParserFieldName, "couponCode")) {
  675. if (jsonParserFieldValue != null) {
  676. cart.setCouponCode((String)jsonParserFieldValue);
  677. }
  678. }
  679. else if (Objects.equals(jsonParserFieldName, "createDate")) {
  680. if (jsonParserFieldValue != null) {
  681. cart.setCreateDate(toDate((String)jsonParserFieldValue));
  682. }
  683. }
  684. else if (Objects.equals(jsonParserFieldName, "currencyCode")) {
  685. if (jsonParserFieldValue != null) {
  686. cart.setCurrencyCode((String)jsonParserFieldValue);
  687. }
  688. }
  689. else if (Objects.equals(jsonParserFieldName, "customFields")) {
  690. if (jsonParserFieldValue != null) {
  691. cart.setCustomFields(
  692. (Map)CartSerDes.toMap((String)jsonParserFieldValue));
  693. }
  694. }
  695. else if (Objects.equals(jsonParserFieldName, "errorMessages")) {
  696. if (jsonParserFieldValue != null) {
  697. cart.setErrorMessages(
  698. toStrings((Object[])jsonParserFieldValue));
  699. }
  700. }
  701. else if (Objects.equals(jsonParserFieldName, "id")) {
  702. if (jsonParserFieldValue != null) {
  703. cart.setId(Long.valueOf((String)jsonParserFieldValue));
  704. }
  705. }
  706. else if (Objects.equals(
  707. jsonParserFieldName, "lastPriceUpdateDate")) {
  708. if (jsonParserFieldValue != null) {
  709. cart.setLastPriceUpdateDate(
  710. toDate((String)jsonParserFieldValue));
  711. }
  712. }
  713. else if (Objects.equals(jsonParserFieldName, "modifiedDate")) {
  714. if (jsonParserFieldValue != null) {
  715. cart.setModifiedDate(toDate((String)jsonParserFieldValue));
  716. }
  717. }
  718. else if (Objects.equals(jsonParserFieldName, "notes")) {
  719. if (jsonParserFieldValue != null) {
  720. cart.setNotes(
  721. Stream.of(
  722. toStrings((Object[])jsonParserFieldValue)
  723. ).map(
  724. object -> CartCommentSerDes.toDTO((String)object)
  725. ).toArray(
  726. size -> new CartComment[size]
  727. ));
  728. }
  729. }
  730. else if (Objects.equals(jsonParserFieldName, "orderStatusInfo")) {
  731. if (jsonParserFieldValue != null) {
  732. cart.setOrderStatusInfo(
  733. StatusSerDes.toDTO((String)jsonParserFieldValue));
  734. }
  735. }
  736. else if (Objects.equals(
  737. jsonParserFieldName,
  738. "orderTypeExternalReferenceCode")) {
  739. if (jsonParserFieldValue != null) {
  740. cart.setOrderTypeExternalReferenceCode(
  741. (String)jsonParserFieldValue);
  742. }
  743. }
  744. else if (Objects.equals(jsonParserFieldName, "orderTypeId")) {
  745. if (jsonParserFieldValue != null) {
  746. cart.setOrderTypeId(
  747. Long.valueOf((String)jsonParserFieldValue));
  748. }
  749. }
  750. else if (Objects.equals(jsonParserFieldName, "orderUUID")) {
  751. if (jsonParserFieldValue != null) {
  752. cart.setOrderUUID((String)jsonParserFieldValue);
  753. }
  754. }
  755. else if (Objects.equals(jsonParserFieldName, "paymentMethod")) {
  756. if (jsonParserFieldValue != null) {
  757. cart.setPaymentMethod((String)jsonParserFieldValue);
  758. }
  759. }
  760. else if (Objects.equals(
  761. jsonParserFieldName, "paymentMethodLabel")) {
  762. if (jsonParserFieldValue != null) {
  763. cart.setPaymentMethodLabel((String)jsonParserFieldValue);
  764. }
  765. }
  766. else if (Objects.equals(jsonParserFieldName, "paymentStatus")) {
  767. if (jsonParserFieldValue != null) {
  768. cart.setPaymentStatus(
  769. Integer.valueOf((String)jsonParserFieldValue));
  770. }
  771. }
  772. else if (Objects.equals(jsonParserFieldName, "paymentStatusInfo")) {
  773. if (jsonParserFieldValue != null) {
  774. cart.setPaymentStatusInfo(
  775. StatusSerDes.toDTO((String)jsonParserFieldValue));
  776. }
  777. }
  778. else if (Objects.equals(
  779. jsonParserFieldName, "paymentStatusLabel")) {
  780. if (jsonParserFieldValue != null) {
  781. cart.setPaymentStatusLabel((String)jsonParserFieldValue);
  782. }
  783. }
  784. else if (Objects.equals(jsonParserFieldName, "printedNote")) {
  785. if (jsonParserFieldValue != null) {
  786. cart.setPrintedNote((String)jsonParserFieldValue);
  787. }
  788. }
  789. else if (Objects.equals(
  790. jsonParserFieldName, "purchaseOrderNumber")) {
  791. if (jsonParserFieldValue != null) {
  792. cart.setPurchaseOrderNumber((String)jsonParserFieldValue);
  793. }
  794. }
  795. else if (Objects.equals(jsonParserFieldName, "shippingAddress")) {
  796. if (jsonParserFieldValue != null) {
  797. cart.setShippingAddress(
  798. AddressSerDes.toDTO((String)jsonParserFieldValue));
  799. }
  800. }
  801. else if (Objects.equals(jsonParserFieldName, "shippingAddressId")) {
  802. if (jsonParserFieldValue != null) {
  803. cart.setShippingAddressId(
  804. Long.valueOf((String)jsonParserFieldValue));
  805. }
  806. }
  807. else if (Objects.equals(jsonParserFieldName, "shippingMethod")) {
  808. if (jsonParserFieldValue != null) {
  809. cart.setShippingMethod((String)jsonParserFieldValue);
  810. }
  811. }
  812. else if (Objects.equals(jsonParserFieldName, "shippingOption")) {
  813. if (jsonParserFieldValue != null) {
  814. cart.setShippingOption((String)jsonParserFieldValue);
  815. }
  816. }
  817. else if (Objects.equals(jsonParserFieldName, "status")) {
  818. if (jsonParserFieldValue != null) {
  819. cart.setStatus((String)jsonParserFieldValue);
  820. }
  821. }
  822. else if (Objects.equals(jsonParserFieldName, "summary")) {
  823. if (jsonParserFieldValue != null) {
  824. cart.setSummary(
  825. SummarySerDes.toDTO((String)jsonParserFieldValue));
  826. }
  827. }
  828. else if (Objects.equals(jsonParserFieldName, "useAsBilling")) {
  829. if (jsonParserFieldValue != null) {
  830. cart.setUseAsBilling((Boolean)jsonParserFieldValue);
  831. }
  832. }
  833. else if (Objects.equals(jsonParserFieldName, "valid")) {
  834. if (jsonParserFieldValue != null) {
  835. cart.setValid((Boolean)jsonParserFieldValue);
  836. }
  837. }
  838. else if (Objects.equals(
  839. jsonParserFieldName, "workflowStatusInfo")) {
  840. if (jsonParserFieldValue != null) {
  841. cart.setWorkflowStatusInfo(
  842. StatusSerDes.toDTO((String)jsonParserFieldValue));
  843. }
  844. }
  845. }
  846. }
  847. private static String _escape(Object object) {
  848. String string = String.valueOf(object);
  849. for (String[] strings : BaseJSONParser.JSON_ESCAPE_STRINGS) {
  850. string = string.replace(strings[0], strings[1]);
  851. }
  852. return string;
  853. }
  854. private static String _toJSON(Map<String, ?> map) {
  855. StringBuilder sb = new StringBuilder("{");
  856. @SuppressWarnings("unchecked")
  857. Set set = map.entrySet();
  858. @SuppressWarnings("unchecked")
  859. Iterator<Map.Entry<String, ?>> iterator = set.iterator();
  860. while (iterator.hasNext()) {
  861. Map.Entry<String, ?> entry = iterator.next();
  862. sb.append("\"");
  863. sb.append(entry.getKey());
  864. sb.append("\": ");
  865. Object value = entry.getValue();
  866. Class<?> valueClass = value.getClass();
  867. if (value instanceof Map) {
  868. sb.append(_toJSON((Map)value));
  869. }
  870. else if (valueClass.isArray()) {
  871. Object[] values = (Object[])value;
  872. sb.append("[");
  873. for (int i = 0; i < values.length; i++) {
  874. sb.append("\"");
  875. sb.append(_escape(values[i]));
  876. sb.append("\"");
  877. if ((i + 1) < values.length) {
  878. sb.append(", ");
  879. }
  880. }
  881. sb.append("]");
  882. }
  883. else if (value instanceof String) {
  884. sb.append("\"");
  885. sb.append(_escape(entry.getValue()));
  886. sb.append("\"");
  887. }
  888. else {
  889. sb.append(String.valueOf(entry.getValue()));
  890. }
  891. if (iterator.hasNext()) {
  892. sb.append(", ");
  893. }
  894. }
  895. sb.append("}");
  896. return sb.toString();
  897. }
  898. }