@Override public String toJpdl() throws InvalidModelException { StringWriter jpdl = new StringWriter(); jpdl.write(" <esb"); jpdl.write(JsonToJpdl.transformAttribute("name", name)); try { jpdl.write(JsonToJpdl.transformRequieredAttribute("category", category)); jpdl.write(JsonToJpdl.transformRequieredAttribute("service", service)); } catch (InvalidModelException e) { throw new InvalidModelException("Invalid Esb activity. " + e.getMessage()); } if (bounds != null) { jpdl.write(bounds.toJpdl()); } else { throw new InvalidModelException("Invalid ESB activity. Bounds is missing."); } jpdl.write(" >\n"); for (Part p : part) { jpdl.write(p.toJpdl()); } for (Transition t : outgoings) { jpdl.write(t.toJpdl()); } jpdl.write(" </esb>\n\n"); return jpdl.toString(); }