Warning: session_start(): open(/var/lib/php/sessions/sess_jnlab2ofqpdac7q8csjqd29qq9, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
set flag DynModule.
concept Entry {
S name;
S description;
S codeToProduce;
transient O data;
long entries, sizeInRAM;
bool autoLoad;
Map moreInfo;
}
module InformationDatabases > DynCRUD {
*() { super(Entry); }
afterVisualize {
add(crud.buttons, tableDependentButton(table(), "Load", rThread {
loadEntry(selected())
}));
}
SimpleCRUD makeCRUD() {
ret setAllAndReturn(super.makeCRUD(),
excludeFieldsFromEditing := litset('moreInfo, 'sizeInRAM, 'data),
renderer := func(Entry e) -> Map { mapPlus(defaultRenderConceptForCRUD(e),
sizeInRAM := e.sizeInRAM == 0 ? "" : str_toK(e.sizeInRAM)) });
}
void loadEntry(Entry e) {
cset(e, codeToProduce := trim(e.codeToProduce));
O data = null;
if (anyJavaTokens(e.codeToProduce)) loading "Loading data" {
if (isIdentifier(e.codeToProduce))
data = callAndMake(e.codeToProduce);
else
data = dm_javaEval(e.codeToProduce);
}
cset(e, +data);
cset(e, sizeInRAM := retainedObjectSize(data));
cset(e, entries := l_opt(data));
//cset(e, moreInfo := mapPlus(e.more, +loadingTime));
}
}