/modules/apps/object/object-admin-rest-client/src/main/java/com/liferay/object/admin/rest/client/serdes/v1_0/ObjectDefinitionSerDes.java

https://github.com/danielreuther/liferay-portal · Java · 905 lines · 708 code · 180 blank · 17 comment · 264 complexity · 24e30e76924c83d0fc17c6b9f6e3ebbf 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.object.admin.rest.client.serdes.v1_0;
  15. import com.liferay.object.admin.rest.client.dto.v1_0.ObjectAction;
  16. import com.liferay.object.admin.rest.client.dto.v1_0.ObjectDefinition;
  17. import com.liferay.object.admin.rest.client.dto.v1_0.ObjectField;
  18. import com.liferay.object.admin.rest.client.dto.v1_0.ObjectLayout;
  19. import com.liferay.object.admin.rest.client.dto.v1_0.ObjectRelationship;
  20. import com.liferay.object.admin.rest.client.dto.v1_0.ObjectView;
  21. import com.liferay.object.admin.rest.client.json.BaseJSONParser;
  22. import java.text.DateFormat;
  23. import java.text.SimpleDateFormat;
  24. import java.util.Iterator;
  25. import java.util.Map;
  26. import java.util.Objects;
  27. import java.util.Set;
  28. import java.util.TreeMap;
  29. import java.util.stream.Stream;
  30. import javax.annotation.Generated;
  31. /**
  32. * @author Javier Gamarra
  33. * @generated
  34. */
  35. @Generated("")
  36. public class ObjectDefinitionSerDes {
  37. public static ObjectDefinition toDTO(String json) {
  38. ObjectDefinitionJSONParser objectDefinitionJSONParser =
  39. new ObjectDefinitionJSONParser();
  40. return objectDefinitionJSONParser.parseToDTO(json);
  41. }
  42. public static ObjectDefinition[] toDTOs(String json) {
  43. ObjectDefinitionJSONParser objectDefinitionJSONParser =
  44. new ObjectDefinitionJSONParser();
  45. return objectDefinitionJSONParser.parseToDTOs(json);
  46. }
  47. public static String toJSON(ObjectDefinition objectDefinition) {
  48. if (objectDefinition == null) {
  49. return "null";
  50. }
  51. StringBuilder sb = new StringBuilder();
  52. sb.append("{");
  53. DateFormat liferayToJSONDateFormat = new SimpleDateFormat(
  54. "yyyy-MM-dd'T'HH:mm:ssXX");
  55. if (objectDefinition.getAccountEntryRestricted() != null) {
  56. if (sb.length() > 1) {
  57. sb.append(", ");
  58. }
  59. sb.append("\"accountEntryRestricted\": ");
  60. sb.append(objectDefinition.getAccountEntryRestricted());
  61. }
  62. if (objectDefinition.getAccountEntryRestrictedObjectFieldId() != null) {
  63. if (sb.length() > 1) {
  64. sb.append(", ");
  65. }
  66. sb.append("\"accountEntryRestrictedObjectFieldId\": ");
  67. sb.append(
  68. objectDefinition.getAccountEntryRestrictedObjectFieldId());
  69. }
  70. if (objectDefinition.getActions() != null) {
  71. if (sb.length() > 1) {
  72. sb.append(", ");
  73. }
  74. sb.append("\"actions\": ");
  75. sb.append(_toJSON(objectDefinition.getActions()));
  76. }
  77. if (objectDefinition.getActive() != null) {
  78. if (sb.length() > 1) {
  79. sb.append(", ");
  80. }
  81. sb.append("\"active\": ");
  82. sb.append(objectDefinition.getActive());
  83. }
  84. if (objectDefinition.getDateCreated() != null) {
  85. if (sb.length() > 1) {
  86. sb.append(", ");
  87. }
  88. sb.append("\"dateCreated\": ");
  89. sb.append("\"");
  90. sb.append(
  91. liferayToJSONDateFormat.format(
  92. objectDefinition.getDateCreated()));
  93. sb.append("\"");
  94. }
  95. if (objectDefinition.getDateModified() != null) {
  96. if (sb.length() > 1) {
  97. sb.append(", ");
  98. }
  99. sb.append("\"dateModified\": ");
  100. sb.append("\"");
  101. sb.append(
  102. liferayToJSONDateFormat.format(
  103. objectDefinition.getDateModified()));
  104. sb.append("\"");
  105. }
  106. if (objectDefinition.getId() != null) {
  107. if (sb.length() > 1) {
  108. sb.append(", ");
  109. }
  110. sb.append("\"id\": ");
  111. sb.append(objectDefinition.getId());
  112. }
  113. if (objectDefinition.getLabel() != null) {
  114. if (sb.length() > 1) {
  115. sb.append(", ");
  116. }
  117. sb.append("\"label\": ");
  118. sb.append(_toJSON(objectDefinition.getLabel()));
  119. }
  120. if (objectDefinition.getName() != null) {
  121. if (sb.length() > 1) {
  122. sb.append(", ");
  123. }
  124. sb.append("\"name\": ");
  125. sb.append("\"");
  126. sb.append(_escape(objectDefinition.getName()));
  127. sb.append("\"");
  128. }
  129. if (objectDefinition.getObjectActions() != null) {
  130. if (sb.length() > 1) {
  131. sb.append(", ");
  132. }
  133. sb.append("\"objectActions\": ");
  134. sb.append("[");
  135. for (int i = 0; i < objectDefinition.getObjectActions().length;
  136. i++) {
  137. sb.append(
  138. String.valueOf(objectDefinition.getObjectActions()[i]));
  139. if ((i + 1) < objectDefinition.getObjectActions().length) {
  140. sb.append(", ");
  141. }
  142. }
  143. sb.append("]");
  144. }
  145. if (objectDefinition.getObjectFields() != null) {
  146. if (sb.length() > 1) {
  147. sb.append(", ");
  148. }
  149. sb.append("\"objectFields\": ");
  150. sb.append("[");
  151. for (int i = 0; i < objectDefinition.getObjectFields().length;
  152. i++) {
  153. sb.append(
  154. String.valueOf(objectDefinition.getObjectFields()[i]));
  155. if ((i + 1) < objectDefinition.getObjectFields().length) {
  156. sb.append(", ");
  157. }
  158. }
  159. sb.append("]");
  160. }
  161. if (objectDefinition.getObjectLayouts() != null) {
  162. if (sb.length() > 1) {
  163. sb.append(", ");
  164. }
  165. sb.append("\"objectLayouts\": ");
  166. sb.append("[");
  167. for (int i = 0; i < objectDefinition.getObjectLayouts().length;
  168. i++) {
  169. sb.append(
  170. String.valueOf(objectDefinition.getObjectLayouts()[i]));
  171. if ((i + 1) < objectDefinition.getObjectLayouts().length) {
  172. sb.append(", ");
  173. }
  174. }
  175. sb.append("]");
  176. }
  177. if (objectDefinition.getObjectRelationships() != null) {
  178. if (sb.length() > 1) {
  179. sb.append(", ");
  180. }
  181. sb.append("\"objectRelationships\": ");
  182. sb.append("[");
  183. for (int i = 0;
  184. i < objectDefinition.getObjectRelationships().length; i++) {
  185. sb.append(
  186. String.valueOf(
  187. objectDefinition.getObjectRelationships()[i]));
  188. if ((i + 1) <
  189. objectDefinition.getObjectRelationships().length) {
  190. sb.append(", ");
  191. }
  192. }
  193. sb.append("]");
  194. }
  195. if (objectDefinition.getObjectViews() != null) {
  196. if (sb.length() > 1) {
  197. sb.append(", ");
  198. }
  199. sb.append("\"objectViews\": ");
  200. sb.append("[");
  201. for (int i = 0; i < objectDefinition.getObjectViews().length; i++) {
  202. sb.append(String.valueOf(objectDefinition.getObjectViews()[i]));
  203. if ((i + 1) < objectDefinition.getObjectViews().length) {
  204. sb.append(", ");
  205. }
  206. }
  207. sb.append("]");
  208. }
  209. if (objectDefinition.getPanelAppOrder() != null) {
  210. if (sb.length() > 1) {
  211. sb.append(", ");
  212. }
  213. sb.append("\"panelAppOrder\": ");
  214. sb.append("\"");
  215. sb.append(_escape(objectDefinition.getPanelAppOrder()));
  216. sb.append("\"");
  217. }
  218. if (objectDefinition.getPanelCategoryKey() != null) {
  219. if (sb.length() > 1) {
  220. sb.append(", ");
  221. }
  222. sb.append("\"panelCategoryKey\": ");
  223. sb.append("\"");
  224. sb.append(_escape(objectDefinition.getPanelCategoryKey()));
  225. sb.append("\"");
  226. }
  227. if (objectDefinition.getParameterRequired() != null) {
  228. if (sb.length() > 1) {
  229. sb.append(", ");
  230. }
  231. sb.append("\"parameterRequired\": ");
  232. sb.append(objectDefinition.getParameterRequired());
  233. }
  234. if (objectDefinition.getPluralLabel() != null) {
  235. if (sb.length() > 1) {
  236. sb.append(", ");
  237. }
  238. sb.append("\"pluralLabel\": ");
  239. sb.append(_toJSON(objectDefinition.getPluralLabel()));
  240. }
  241. if (objectDefinition.getPortlet() != null) {
  242. if (sb.length() > 1) {
  243. sb.append(", ");
  244. }
  245. sb.append("\"portlet\": ");
  246. sb.append(objectDefinition.getPortlet());
  247. }
  248. if (objectDefinition.getScope() != null) {
  249. if (sb.length() > 1) {
  250. sb.append(", ");
  251. }
  252. sb.append("\"scope\": ");
  253. sb.append("\"");
  254. sb.append(_escape(objectDefinition.getScope()));
  255. sb.append("\"");
  256. }
  257. if (objectDefinition.getStatus() != null) {
  258. if (sb.length() > 1) {
  259. sb.append(", ");
  260. }
  261. sb.append("\"status\": ");
  262. sb.append(String.valueOf(objectDefinition.getStatus()));
  263. }
  264. if (objectDefinition.getStorageType() != null) {
  265. if (sb.length() > 1) {
  266. sb.append(", ");
  267. }
  268. sb.append("\"storageType\": ");
  269. sb.append("\"");
  270. sb.append(_escape(objectDefinition.getStorageType()));
  271. sb.append("\"");
  272. }
  273. if (objectDefinition.getSystem() != null) {
  274. if (sb.length() > 1) {
  275. sb.append(", ");
  276. }
  277. sb.append("\"system\": ");
  278. sb.append(objectDefinition.getSystem());
  279. }
  280. if (objectDefinition.getTitleObjectFieldId() != null) {
  281. if (sb.length() > 1) {
  282. sb.append(", ");
  283. }
  284. sb.append("\"titleObjectFieldId\": ");
  285. sb.append(objectDefinition.getTitleObjectFieldId());
  286. }
  287. sb.append("}");
  288. return sb.toString();
  289. }
  290. public static Map<String, Object> toMap(String json) {
  291. ObjectDefinitionJSONParser objectDefinitionJSONParser =
  292. new ObjectDefinitionJSONParser();
  293. return objectDefinitionJSONParser.parseToMap(json);
  294. }
  295. public static Map<String, String> toMap(ObjectDefinition objectDefinition) {
  296. if (objectDefinition == null) {
  297. return null;
  298. }
  299. Map<String, String> map = new TreeMap<>();
  300. DateFormat liferayToJSONDateFormat = new SimpleDateFormat(
  301. "yyyy-MM-dd'T'HH:mm:ssXX");
  302. if (objectDefinition.getAccountEntryRestricted() == null) {
  303. map.put("accountEntryRestricted", null);
  304. }
  305. else {
  306. map.put(
  307. "accountEntryRestricted",
  308. String.valueOf(objectDefinition.getAccountEntryRestricted()));
  309. }
  310. if (objectDefinition.getAccountEntryRestrictedObjectFieldId() == null) {
  311. map.put("accountEntryRestrictedObjectFieldId", null);
  312. }
  313. else {
  314. map.put(
  315. "accountEntryRestrictedObjectFieldId",
  316. String.valueOf(
  317. objectDefinition.getAccountEntryRestrictedObjectFieldId()));
  318. }
  319. if (objectDefinition.getActions() == null) {
  320. map.put("actions", null);
  321. }
  322. else {
  323. map.put("actions", String.valueOf(objectDefinition.getActions()));
  324. }
  325. if (objectDefinition.getActive() == null) {
  326. map.put("active", null);
  327. }
  328. else {
  329. map.put("active", String.valueOf(objectDefinition.getActive()));
  330. }
  331. if (objectDefinition.getDateCreated() == null) {
  332. map.put("dateCreated", null);
  333. }
  334. else {
  335. map.put(
  336. "dateCreated",
  337. liferayToJSONDateFormat.format(
  338. objectDefinition.getDateCreated()));
  339. }
  340. if (objectDefinition.getDateModified() == null) {
  341. map.put("dateModified", null);
  342. }
  343. else {
  344. map.put(
  345. "dateModified",
  346. liferayToJSONDateFormat.format(
  347. objectDefinition.getDateModified()));
  348. }
  349. if (objectDefinition.getId() == null) {
  350. map.put("id", null);
  351. }
  352. else {
  353. map.put("id", String.valueOf(objectDefinition.getId()));
  354. }
  355. if (objectDefinition.getLabel() == null) {
  356. map.put("label", null);
  357. }
  358. else {
  359. map.put("label", String.valueOf(objectDefinition.getLabel()));
  360. }
  361. if (objectDefinition.getName() == null) {
  362. map.put("name", null);
  363. }
  364. else {
  365. map.put("name", String.valueOf(objectDefinition.getName()));
  366. }
  367. if (objectDefinition.getObjectActions() == null) {
  368. map.put("objectActions", null);
  369. }
  370. else {
  371. map.put(
  372. "objectActions",
  373. String.valueOf(objectDefinition.getObjectActions()));
  374. }
  375. if (objectDefinition.getObjectFields() == null) {
  376. map.put("objectFields", null);
  377. }
  378. else {
  379. map.put(
  380. "objectFields",
  381. String.valueOf(objectDefinition.getObjectFields()));
  382. }
  383. if (objectDefinition.getObjectLayouts() == null) {
  384. map.put("objectLayouts", null);
  385. }
  386. else {
  387. map.put(
  388. "objectLayouts",
  389. String.valueOf(objectDefinition.getObjectLayouts()));
  390. }
  391. if (objectDefinition.getObjectRelationships() == null) {
  392. map.put("objectRelationships", null);
  393. }
  394. else {
  395. map.put(
  396. "objectRelationships",
  397. String.valueOf(objectDefinition.getObjectRelationships()));
  398. }
  399. if (objectDefinition.getObjectViews() == null) {
  400. map.put("objectViews", null);
  401. }
  402. else {
  403. map.put(
  404. "objectViews",
  405. String.valueOf(objectDefinition.getObjectViews()));
  406. }
  407. if (objectDefinition.getPanelAppOrder() == null) {
  408. map.put("panelAppOrder", null);
  409. }
  410. else {
  411. map.put(
  412. "panelAppOrder",
  413. String.valueOf(objectDefinition.getPanelAppOrder()));
  414. }
  415. if (objectDefinition.getPanelCategoryKey() == null) {
  416. map.put("panelCategoryKey", null);
  417. }
  418. else {
  419. map.put(
  420. "panelCategoryKey",
  421. String.valueOf(objectDefinition.getPanelCategoryKey()));
  422. }
  423. if (objectDefinition.getParameterRequired() == null) {
  424. map.put("parameterRequired", null);
  425. }
  426. else {
  427. map.put(
  428. "parameterRequired",
  429. String.valueOf(objectDefinition.getParameterRequired()));
  430. }
  431. if (objectDefinition.getPluralLabel() == null) {
  432. map.put("pluralLabel", null);
  433. }
  434. else {
  435. map.put(
  436. "pluralLabel",
  437. String.valueOf(objectDefinition.getPluralLabel()));
  438. }
  439. if (objectDefinition.getPortlet() == null) {
  440. map.put("portlet", null);
  441. }
  442. else {
  443. map.put("portlet", String.valueOf(objectDefinition.getPortlet()));
  444. }
  445. if (objectDefinition.getScope() == null) {
  446. map.put("scope", null);
  447. }
  448. else {
  449. map.put("scope", String.valueOf(objectDefinition.getScope()));
  450. }
  451. if (objectDefinition.getStatus() == null) {
  452. map.put("status", null);
  453. }
  454. else {
  455. map.put("status", String.valueOf(objectDefinition.getStatus()));
  456. }
  457. if (objectDefinition.getStorageType() == null) {
  458. map.put("storageType", null);
  459. }
  460. else {
  461. map.put(
  462. "storageType",
  463. String.valueOf(objectDefinition.getStorageType()));
  464. }
  465. if (objectDefinition.getSystem() == null) {
  466. map.put("system", null);
  467. }
  468. else {
  469. map.put("system", String.valueOf(objectDefinition.getSystem()));
  470. }
  471. if (objectDefinition.getTitleObjectFieldId() == null) {
  472. map.put("titleObjectFieldId", null);
  473. }
  474. else {
  475. map.put(
  476. "titleObjectFieldId",
  477. String.valueOf(objectDefinition.getTitleObjectFieldId()));
  478. }
  479. return map;
  480. }
  481. public static class ObjectDefinitionJSONParser
  482. extends BaseJSONParser<ObjectDefinition> {
  483. @Override
  484. protected ObjectDefinition createDTO() {
  485. return new ObjectDefinition();
  486. }
  487. @Override
  488. protected ObjectDefinition[] createDTOArray(int size) {
  489. return new ObjectDefinition[size];
  490. }
  491. @Override
  492. protected void setField(
  493. ObjectDefinition objectDefinition, String jsonParserFieldName,
  494. Object jsonParserFieldValue) {
  495. if (Objects.equals(jsonParserFieldName, "accountEntryRestricted")) {
  496. if (jsonParserFieldValue != null) {
  497. objectDefinition.setAccountEntryRestricted(
  498. (Boolean)jsonParserFieldValue);
  499. }
  500. }
  501. else if (Objects.equals(
  502. jsonParserFieldName,
  503. "accountEntryRestrictedObjectFieldId")) {
  504. if (jsonParserFieldValue != null) {
  505. objectDefinition.setAccountEntryRestrictedObjectFieldId(
  506. Long.valueOf((String)jsonParserFieldValue));
  507. }
  508. }
  509. else if (Objects.equals(jsonParserFieldName, "actions")) {
  510. if (jsonParserFieldValue != null) {
  511. objectDefinition.setActions(
  512. (Map)ObjectDefinitionSerDes.toMap(
  513. (String)jsonParserFieldValue));
  514. }
  515. }
  516. else if (Objects.equals(jsonParserFieldName, "active")) {
  517. if (jsonParserFieldValue != null) {
  518. objectDefinition.setActive((Boolean)jsonParserFieldValue);
  519. }
  520. }
  521. else if (Objects.equals(jsonParserFieldName, "dateCreated")) {
  522. if (jsonParserFieldValue != null) {
  523. objectDefinition.setDateCreated(
  524. toDate((String)jsonParserFieldValue));
  525. }
  526. }
  527. else if (Objects.equals(jsonParserFieldName, "dateModified")) {
  528. if (jsonParserFieldValue != null) {
  529. objectDefinition.setDateModified(
  530. toDate((String)jsonParserFieldValue));
  531. }
  532. }
  533. else if (Objects.equals(jsonParserFieldName, "id")) {
  534. if (jsonParserFieldValue != null) {
  535. objectDefinition.setId(
  536. Long.valueOf((String)jsonParserFieldValue));
  537. }
  538. }
  539. else if (Objects.equals(jsonParserFieldName, "label")) {
  540. if (jsonParserFieldValue != null) {
  541. objectDefinition.setLabel(
  542. (Map)ObjectDefinitionSerDes.toMap(
  543. (String)jsonParserFieldValue));
  544. }
  545. }
  546. else if (Objects.equals(jsonParserFieldName, "name")) {
  547. if (jsonParserFieldValue != null) {
  548. objectDefinition.setName((String)jsonParserFieldValue);
  549. }
  550. }
  551. else if (Objects.equals(jsonParserFieldName, "objectActions")) {
  552. if (jsonParserFieldValue != null) {
  553. objectDefinition.setObjectActions(
  554. Stream.of(
  555. toStrings((Object[])jsonParserFieldValue)
  556. ).map(
  557. object -> ObjectActionSerDes.toDTO((String)object)
  558. ).toArray(
  559. size -> new ObjectAction[size]
  560. ));
  561. }
  562. }
  563. else if (Objects.equals(jsonParserFieldName, "objectFields")) {
  564. if (jsonParserFieldValue != null) {
  565. objectDefinition.setObjectFields(
  566. Stream.of(
  567. toStrings((Object[])jsonParserFieldValue)
  568. ).map(
  569. object -> ObjectFieldSerDes.toDTO((String)object)
  570. ).toArray(
  571. size -> new ObjectField[size]
  572. ));
  573. }
  574. }
  575. else if (Objects.equals(jsonParserFieldName, "objectLayouts")) {
  576. if (jsonParserFieldValue != null) {
  577. objectDefinition.setObjectLayouts(
  578. Stream.of(
  579. toStrings((Object[])jsonParserFieldValue)
  580. ).map(
  581. object -> ObjectLayoutSerDes.toDTO((String)object)
  582. ).toArray(
  583. size -> new ObjectLayout[size]
  584. ));
  585. }
  586. }
  587. else if (Objects.equals(
  588. jsonParserFieldName, "objectRelationships")) {
  589. if (jsonParserFieldValue != null) {
  590. objectDefinition.setObjectRelationships(
  591. Stream.of(
  592. toStrings((Object[])jsonParserFieldValue)
  593. ).map(
  594. object -> ObjectRelationshipSerDes.toDTO(
  595. (String)object)
  596. ).toArray(
  597. size -> new ObjectRelationship[size]
  598. ));
  599. }
  600. }
  601. else if (Objects.equals(jsonParserFieldName, "objectViews")) {
  602. if (jsonParserFieldValue != null) {
  603. objectDefinition.setObjectViews(
  604. Stream.of(
  605. toStrings((Object[])jsonParserFieldValue)
  606. ).map(
  607. object -> ObjectViewSerDes.toDTO((String)object)
  608. ).toArray(
  609. size -> new ObjectView[size]
  610. ));
  611. }
  612. }
  613. else if (Objects.equals(jsonParserFieldName, "panelAppOrder")) {
  614. if (jsonParserFieldValue != null) {
  615. objectDefinition.setPanelAppOrder(
  616. (String)jsonParserFieldValue);
  617. }
  618. }
  619. else if (Objects.equals(jsonParserFieldName, "panelCategoryKey")) {
  620. if (jsonParserFieldValue != null) {
  621. objectDefinition.setPanelCategoryKey(
  622. (String)jsonParserFieldValue);
  623. }
  624. }
  625. else if (Objects.equals(jsonParserFieldName, "parameterRequired")) {
  626. if (jsonParserFieldValue != null) {
  627. objectDefinition.setParameterRequired(
  628. (Boolean)jsonParserFieldValue);
  629. }
  630. }
  631. else if (Objects.equals(jsonParserFieldName, "pluralLabel")) {
  632. if (jsonParserFieldValue != null) {
  633. objectDefinition.setPluralLabel(
  634. (Map)ObjectDefinitionSerDes.toMap(
  635. (String)jsonParserFieldValue));
  636. }
  637. }
  638. else if (Objects.equals(jsonParserFieldName, "portlet")) {
  639. if (jsonParserFieldValue != null) {
  640. objectDefinition.setPortlet((Boolean)jsonParserFieldValue);
  641. }
  642. }
  643. else if (Objects.equals(jsonParserFieldName, "scope")) {
  644. if (jsonParserFieldValue != null) {
  645. objectDefinition.setScope((String)jsonParserFieldValue);
  646. }
  647. }
  648. else if (Objects.equals(jsonParserFieldName, "status")) {
  649. if (jsonParserFieldValue != null) {
  650. objectDefinition.setStatus(
  651. StatusSerDes.toDTO((String)jsonParserFieldValue));
  652. }
  653. }
  654. else if (Objects.equals(jsonParserFieldName, "storageType")) {
  655. if (jsonParserFieldValue != null) {
  656. objectDefinition.setStorageType(
  657. (String)jsonParserFieldValue);
  658. }
  659. }
  660. else if (Objects.equals(jsonParserFieldName, "system")) {
  661. if (jsonParserFieldValue != null) {
  662. objectDefinition.setSystem((Boolean)jsonParserFieldValue);
  663. }
  664. }
  665. else if (Objects.equals(
  666. jsonParserFieldName, "titleObjectFieldId")) {
  667. if (jsonParserFieldValue != null) {
  668. objectDefinition.setTitleObjectFieldId(
  669. Long.valueOf((String)jsonParserFieldValue));
  670. }
  671. }
  672. }
  673. }
  674. private static String _escape(Object object) {
  675. String string = String.valueOf(object);
  676. for (String[] strings : BaseJSONParser.JSON_ESCAPE_STRINGS) {
  677. string = string.replace(strings[0], strings[1]);
  678. }
  679. return string;
  680. }
  681. private static String _toJSON(Map<String, ?> map) {
  682. StringBuilder sb = new StringBuilder("{");
  683. @SuppressWarnings("unchecked")
  684. Set set = map.entrySet();
  685. @SuppressWarnings("unchecked")
  686. Iterator<Map.Entry<String, ?>> iterator = set.iterator();
  687. while (iterator.hasNext()) {
  688. Map.Entry<String, ?> entry = iterator.next();
  689. sb.append("\"");
  690. sb.append(entry.getKey());
  691. sb.append("\": ");
  692. Object value = entry.getValue();
  693. Class<?> valueClass = value.getClass();
  694. if (value instanceof Map) {
  695. sb.append(_toJSON((Map)value));
  696. }
  697. else if (valueClass.isArray()) {
  698. Object[] values = (Object[])value;
  699. sb.append("[");
  700. for (int i = 0; i < values.length; i++) {
  701. sb.append("\"");
  702. sb.append(_escape(values[i]));
  703. sb.append("\"");
  704. if ((i + 1) < values.length) {
  705. sb.append(", ");
  706. }
  707. }
  708. sb.append("]");
  709. }
  710. else if (value instanceof String) {
  711. sb.append("\"");
  712. sb.append(_escape(entry.getValue()));
  713. sb.append("\"");
  714. }
  715. else {
  716. sb.append(String.valueOf(entry.getValue()));
  717. }
  718. if (iterator.hasNext()) {
  719. sb.append(", ");
  720. }
  721. }
  722. sb.append("}");
  723. return sb.toString();
  724. }
  725. }