Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package achmad.rifai.erp1.entity; import achmad.rifai.erp1.util.Db; import org.json.simple.parser.ParseException; /** * * @author ai */ public class Pesan { public static Pesan of(Db d, String kode) throws Exception { Pesan v = null; achmad.rifai.erp1.util.RSA r = achmad.rifai.erp1.util.Work.loadRSA(); com.mongodb.DBObject p = new com.mongodb.BasicDBObject(); p.put("berkas", kode); com.mongodb.DBCursor c = d.getD().getCollectionFromString("pesan").find(p); while (c.hasNext()) { com.mongodb.DBObject o = c.next(); com.mongodb.BasicDBList l = (com.mongodb.BasicDBList) o.get("bin"); String json = ""; for (int x = 0; x < l.size(); x++) json += r.decrypt("" + l.get(x)); v = new Pesan(json); break; } return v; } private String pengirim, pesan, kode; private org.joda.time.DateTime waktu; private boolean deleted; private java.util.List<Penerima> ke; public Pesan() { // } @Override public String toString() { org.json.simple.JSONObject o = new org.json.simple.JSONObject(); o.put("pengirim", pengirim); o.put("pesan", pesan); o.put("kode", kode); o.put("waktu", "" + waktu); o.put("deleted", "" + deleted); o.put("ke", keJSON()); return o.toJSONString(); } public Pesan(String json) throws ParseException { org.json.simple.parser.JSONParser p = new org.json.simple.parser.JSONParser(); org.json.simple.JSONObject o = (org.json.simple.JSONObject) p.parse(json); pengirim = "" + o.get("pengirim"); pesan = "" + o.get("pesan"); kode = "" + o.get("kode"); waktu = org.joda.time.DateTime.parse("" + o.get("waktu")); deleted = Boolean.parseBoolean("" + o.get("deleted")); keObject(o.get("ke")); } private Object keJSON() { org.json.simple.JSONArray a = new org.json.simple.JSONArray(); ke.stream().map((p) -> { org.json.simple.JSONObject o = new org.json.simple.JSONObject(); o.put("terbaca", "" + p.isTerbaca()); o.put("akun", p.getAkun()); o.put("sembunyi", "" + p.isSembunyi()); return o; }).forEachOrdered((o) -> { a.add(o); }); return a; } private void keObject(Object get) { org.json.simple.JSONArray a = (org.json.simple.JSONArray) get; ke = new java.util.LinkedList<>(); for (int x = 0; x < a.size(); x++) { org.json.simple.JSONObject o = (org.json.simple.JSONObject) a.get(x); Penerima p = new Penerima(); p.setAkun("" + o.get("akun")); p.setTerbaca(Boolean.parseBoolean("" + o.get("terbaca"))); p.setSembunyi(Boolean.parseBoolean("" + o.get("sembunyi"))); ke.add(p); } } public Pesan(String j1, String j2) throws ParseException { parsing1(j1); parsing2(j2); } public Pesan(String pesan, String pengirim, java.util.List<Penerima> l) { waktu = org.joda.time.DateTime.now(); ke = l; this.pengirim = pengirim; this.pesan = pesan; deleted = false; kode = pengirim + waktu.getDayOfMonth() + waktu.getMonthOfYear() + waktu.getYear() + waktu.getHourOfDay() + waktu.getMinuteOfHour() + waktu.getSecondOfMinute() + waktu.getZone() + waktu.getMillis(); } public String getPengirim() { return pengirim; } public void setPengirim(String pengirim) { this.pengirim = pengirim; } public String getPesan() { return pesan; } public void setPesan(String pesan) { this.pesan = pesan; } public String getKode() { return kode; } public void setKode(String kode) { this.kode = kode; } public org.joda.time.DateTime getWaktu() { return waktu; } public void setWaktu(org.joda.time.DateTime waktu) { this.waktu = waktu; } public boolean isDeleted() { return deleted; } public void setDeleted(boolean deleted) { this.deleted = deleted; } public java.util.List<Penerima> getKe() { return ke; } public void setKe(java.util.List<Penerima> ke) { this.ke = ke; } private void parsing1(String j1) throws ParseException { org.json.simple.parser.JSONParser p = new org.json.simple.parser.JSONParser(); org.json.simple.JSONObject o = (org.json.simple.JSONObject) p.parse(j1); deleted = Boolean.parseBoolean("" + o.get("deleted")); waktu = org.joda.time.DateTime.parse("" + o.get("waktu")); kode = "" + o.get("kode"); pengirim = "" + o.get("pengirim"); pesan = "" + o.get("pesan"); } private void parsing2(String j2) throws ParseException { org.json.simple.parser.JSONParser p = new org.json.simple.parser.JSONParser(); org.json.simple.JSONArray a = (org.json.simple.JSONArray) p.parse(j2); ke = new java.util.LinkedList<>(); for (int x = 0; x < a.size(); x++) { org.json.simple.JSONObject o = (org.json.simple.JSONObject) a.get(x); Penerima pe = new Penerima(); pe.setAkun("" + o.get("akun")); pe.setTerbaca(Boolean.parseBoolean("" + o.get("terbaca"))); ke.add(pe); } } }