/** Clear all table content */
 public void clearTable() {
   loaderImage.loadingStart();
   list.clear();
   selectionModel.clear();
   dataProvider.flush();
   dataProvider.refresh();
 }
 /** Called, when operation finishes successfully. */
 public void onFinished(JavaScriptObject jso) {
   clearTable();
   for (Attribute a : JsonUtils.<Attribute>jsoAsList(jso)) {
     if (!a.getDefinition().equals("core")) {
       addToTable(a);
     }
   }
   sortTable();
   loaderImage.loadingFinished();
   session.getUiElements().setLogText("Resource required attributes loaded: " + list.size());
   events.onFinished(jso);
 }
 /** Called, when loading starts */
 public void onLoadingStart() {
   session.getUiElements().setLogText("Loading resource required attributes started.");
   loaderImage.loadingStart();
   events.onLoadingStart();
 }
 /** Called, when an error occurs */
 public void onError(PerunError error) {
   session.getUiElements().setLogErrorText("Error while loading resource required attributes.");
   loaderImage.loadingError(error);
   events.onError(error);
 }