Difference between revisions of "Java Debugging Tips"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 9: Line 9:
::* After running the code, refresh the page by clicking '''Debug Log''' in the sidebar.
::* After running the code, refresh the page by clicking '''Debug Log''' in the sidebar.


:* Display a note at the top of the user's page with
:* Display a note at the top of the user's page:
:: <tt>Functions.showMessage("message text");</tt>
::: <tt>Functions.showMessage("message text");</tt>


:* Abort processing and display and error message using:
:* Abort processing and display and error message:
:: <tt>Functions.throwException("message text");</tt>
::: <tt>Functions.throwException("message text");</tt>


:''Learn more:''  
:''Learn more:''  

Revision as of 00:40, 10 September 2013

Debug Messages

To debug a Java class:

  • Add messages to the debug log using
Logger.info("message text", "message type");
(Use the message type for searching, when needed.)
  • Open the debug log in a separate page:
  • Go to GearIcon.png > Developer Resources > Debug Log
  • After running the code, refresh the page by clicking Debug Log in the sidebar.
  • Display a note at the top of the user's page:
Functions.showMessage("message text");
  • Abort processing and display and error message:
Functions.throwException("message text");
Learn more:

Invoking Methods

The Unit Test Framework is great for automated testing of Java methods, but note that database changes don't persist. That's a highly desirable feature in a test harness, but it means you can't run a test and then look for changes interactively, in the GUI.

To view changes interactively, the code can be launched by Rule. For example, use an [{Event Rule]] that runs when a record is added. (As a precaution, you can set up a condition so that the rule is triggered only when some flag is set.)