protected String createNewDeviceObject() throws Exception { List<MobileObject> beans = this.runner.getDeviceDatabase().readByStorage(this.runner.getService()); // Create the new ticket on the device MobileObject bean = null; for (MobileObject cour : beans) { if (!cour.isProxy() && !cour.isCreatedOnDevice()) { bean = cour; break; } } MobileObject newTicket = new MobileObject(); newTicket.setStorageId(bean.getStorageId()); newTicket.setValue("name", "This new refrigerator is broken"); // Referenced Nested Properties newTicket.setValue("customerInfo.id", bean.getValue("customerInfo.id")); newTicket.setValue("customerInfo.customerId", bean.getValue("customerInfo.customerId")); newTicket.setValue("customerInfo.name", bean.getValue("customerInfo.name")); newTicket.setValue("customerInfo.comments", bean.getValue("customerInfo.comments")); // Notes for (int i = 0; i < 2; i++) { BeanListEntry note = new BeanListEntry(); note.setProperty("note", "note://" + i + "/added"); IndexingAPIUtil.addBean(newTicket, "notes", note); } // Parts for (int i = 0; i < 2; i++) { BeanListEntry part = new BeanListEntry(); part.setProperty("name", "part://" + i + "/added"); IndexingAPIUtil.addBean(newTicket, "parts", part); } this.runner.create(newTicket); return newTicket.getRecordId(); }
protected void updateDeviceObject(String objectId) throws Exception { List<MobileObject> beans = this.runner.getDeviceDatabase().readByStorage(this.runner.getService()); MobileObject storedBean = null; for (MobileObject cour : beans) { if (cour.getValue("technician.name") != null && !cour.isProxy()) { storedBean = cour; break; } } MobileObject bean = this.runner.getDeviceDatabase().read(this.runner.getService(), objectId); bean.setValue("name", "name://updated"); // Referenced Technician bean.setValue("technician.id", storedBean.getValue("technician.id")); bean.setValue("technician.employeeId", storedBean.getValue("technician.employeeId")); bean.setValue("technician.name", storedBean.getValue("technician.name")); bean.setValue("technician.status", storedBean.getValue("technician.status")); // Notes for (int i = 0; i < 2; i++) { BeanListEntry note = new BeanListEntry(); note.setProperty("note", "note://" + i + "/updated"); IndexingAPIUtil.addBean(bean, "notes", note); } // Parts for (int i = 0; i < 2; i++) { BeanListEntry part = new BeanListEntry(); part.setProperty("name", "part://" + i + "/updated"); IndexingAPIUtil.addBean(bean, "parts", part); } this.runner.update(bean); }
protected void printDeviceBean(MobileObject currBean) { log.info("Local Bean Id=" + currBean.getRecordId()); log.info("Remote Bean Id=" + currBean.getServerRecordId()); log.info("Ticket Id=" + currBean.getValue("ticketId")); log.info("Ticket Name=" + currBean.getValue("name")); log.info("Customer DB Id=" + currBean.getValue("customerInfo.id")); log.info("Customer Id=" + currBean.getValue("customerInfo.customerId")); log.info("Customer Name=" + currBean.getValue("customerInfo.name")); log.info("Customer Comments=" + currBean.getValue("customerInfo.comments")); log.info("Technician Id=" + currBean.getValue("technician.id")); log.info("Employee Id=" + currBean.getValue("technician.employeeId")); log.info("Technician Name=" + currBean.getValue("technician.name")); log.info("Technician Status=" + currBean.getValue("technician.status")); log.info("Equipment ID=" + currBean.getValue("equipment.id")); log.info("Equipment Name=" + currBean.getValue("equipment.name")); // Use better indexing API BeanList notes = IndexingAPIUtil.readList(currBean, "notes"); for (int j = 0; j < notes.size(); j++) { BeanListEntry note = notes.getEntryAt(j); log.info("Note ID=" + note.getProperty("id")); log.info("Note=" + note.getProperty("note")); } // Use better indexing API BeanList parts = IndexingAPIUtil.readList(currBean, "parts"); for (int j = 0; j < parts.size(); j++) { BeanListEntry part = parts.getEntryAt(j); log.info("Part ID=" + part.getProperty("id")); log.info("Part=" + part.getProperty("name")); } log.info("-----------------------------------------"); }