Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
...
Set value to a workflow variable:
...
Code Block |
---|
import java.sql.*Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.sql.DataSource; import org.joget.apps.app.service.AppUtil; Connection con = null; try { // retrieve connection from the default datasource DataSource ds = (DataSource)AppUtil.getApplicationContext().getBean("setupDataSource"); con = ds.getConnection(); // execute SQL query if(!con.isClosed()) { PreparedStatement stmt = con.createStatement(prepareStatement("UPDATE table1 SET column1='value1'"); stmt.executeUpdate("UPDATE formdata_simpleflow set c_status='#assignment.activityId#' WHERE processId='#assignment.processId#'"); } } catch(Exception e) { System.err.println("Exception: " + e.getMessage()); } finally { try { if(con != null) { con.close(); } } catch(SQLException e) { } } |
Anchor | ||||
---|---|---|---|---|
|
A participant type plugin should return a collection of usernames. In the participant plugin, there are two context variables available for the script to use :
...
Code Block |
---|
import java.util.ArrayList; a = new ArrayList(); a.add("jack"); // one username return a; |
Get all users from the DirectoryManager and assigning them:
Code Block |
---|
import java.util.Collection;
import java.util.ArrayList;
import org.joget.apps.app.service.AppUtil;
import org.joget.directory.model.service.ExtDirectoryManager;
import org.joget.directory.model.User;
import org.springframework.context.ApplicationContext;
ApplicationContext ac = AppUtil.getApplicationContext();
ExtDirectoryManager directoryManager = (ExtDirectoryManager) ac.getBean("directoryManager");
Collection results = new ArrayList();
Collection userList = directoryManager.getUserList();
for (User u : userList) {
results.add(u.getUsername());
}
return results; |
...
Code Block |
---|
import java.util.HashMap; import java.util.Map; import org.joget.apps.app.model.AppDefinition; import org.joget.apps.app.service.AppService; import org.joget.apps.app.service.AppUtil; import org.joget.apps.form.model.FormRow; import org.joget.apps.form.model.FormRowSet; import org.joget.apps.form.service.FormUtil; import org.joget.workflow.model.WorkflowAssignment; import org.joget.workflow.util.WorkflowUtil; //Constant variable String formDefId = "approvalForm"; //Service bean AppService appService = (AppService) pluginManagerAppUtil.getApplicationContext().getBean("appService"); //Get primary key String id = appService.getOriginProcessId(workflowAssignment.getProcessId()); //Get existing data FormRowSet rowSet = appService.loadFormData(appDef.getAppId(), appDef.getVersion().toString(), formDefId, id); FormRow row = null; if (rowSet == null || rowSet.isEmpty()) { rowSet = new FormRowSet(); row = new FormRow(); row.setId(id); rowSet.add(row); } else { row = rowSet.get(0); } //Set values row.setProperty("field1", "value 1"); row.setProperty("field2", "value 2"); row.setProperty("field3", "value 3"); //Save appService.storeFormData(appDef.getAppId(), appDef.getVersion().toString(), formDefId, rowSet, id); |
...