Skip to content

Instantly share code, notes, and snippets.

@dazoulay-simplicite
Last active December 23, 2020 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dazoulay-simplicite/fe1fb4e2d189c7d484c5a642835f342e to your computer and use it in GitHub Desktop.
Save dazoulay-simplicite/fe1fb4e2d189c7d484c5a642835f342e to your computer and use it in GitHub Desktop.
Publication of objects & fields
public String info(PrintTemplate pt) {
try {
String module = "Demo";
pt.setMIMEType(HTTPTool.MIME_TYPE_CSV);
pt.setFilename("info-" + module + ".csv");
Grant sys = Grant.getSystemAdmin();
CSVTool csvt = new CSVTool(';', '"');
StringBuilder csv = new StringBuilder();
ObjectDB obj = sys.getTmpObject("ObjectInternal");
BusinessObjectTool objt = obj.getTool();
ObjectDB tso = sys.getTmpObject("TranslateObject");
BusinessObjectTool tsot = tso.getTool();
ObjectDB obf = sys.getTmpObject("ObjectFieldSystem");
BusinessObjectTool obft = obf.getTool();
ObjectDB fld = sys.getTmpObject("Field");
BusinessObjectTool fldt = fld.getTool();
ObjectDB tsf = sys.getTmpObject("TranslateField");
BusinessObjectTool tsft = tsf.getTool();
for (String[] o : objt.search(new JSONObject().put("row_module_id.mdl_name", module))) {
obj.setValues(o);
String on = obj.getFieldValue("obo_name");
tso.setValues(tsot.search(new JSONObject().put("tsl_id", obj.getRowId())).get(0));
for (String[] of : obft.search(new JSONObject().put("obf_object_id.obo_name", on))) {
obf.setValues(of);
fldt.select(obf.getFieldValue("obf_field_id"));
String fn = fld.getFieldValue("fld_name");
tsf.setValues(tsft.search(new JSONObject().put("tsl_id", fld.getRowId())).get(0));
csv.append(csvt.serialize(new String[] {
on,
obj.getFieldValue("obo_dbtable"),
tso.getFieldValue("tsl_value"),
fn,
obf.getField("obf_ref_object_id").isEmpty()
? fld.getFieldValue("fld_dbname")
: "@" + obf.getFieldValue("obf_ref_object_id.obo_name") +
(!obf.getField("obf_ref_field_id").isEmpty() ? " via " + obf.getFieldValue("obf_ref_field_id.fld_name") : ""),
fld.getField("fld_type").getDisplayValue() + "(" + fld.getFieldValue("fld_size") + ")",
tsf.getFieldValue("tsl_value")
})).append("\n");
}
}
return csv.toString();
} catch (Exception e) {
pt.setMIMEType(HTTPTool.MIME_TYPE_TXT);
return e.getMessage();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment