AppliBuilder
Visual Mashup Builder

AppliBuilder User Documentation

Using Datasources in Server Scripts

You can execute a datasource in the server script (javascript or jython). This is useful to reuse datasource.

Example

Initialization Script
create table TaskManager_Details(taskid integer, detail text);
create table TaskManager_Tasks(taskid integer_identity, projectid integer, primary key(taskid, projectid));

insert into TaskManager_Tasks(projectid) values(1);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project1_FirstTask');

insert into TaskManager_Tasks(projectid) values(1);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project1_SecondTask');

insert into TaskManager_Tasks(projectid) values(2);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project2_FirstTask');

insert into TaskManager_Tasks(projectid) values(2);
set @TASKID = LAST_INSERT_ID();
insert into TaskManager_Details values(@TASKID, 'Project2_SecondTask');

TaskManager.getTaskIdsForProject

var projectids = PARAM["projectids"];
SQLRESULT = QExecutor.executeSql("select taskid from TaskManager_Tasks where projectid in (?)", [projectids]);

TaskManager.getTaskDetailsById

var ids = PARAM["ids"]
SQLRESULT = QExecutor.executeSql("select * from TaskManager_Details where taskid in (?)", [ids]);

TaskManager.getProjectTaskDetails

taskidSqlresult = QExecutor.executeNQ("TaskManager.getTaskIdsForProject", PARAM);
function getTaskIds(sqlresult) {
var taskids = new Array();
var resultset = sqlresult.getResultSet();
while(resultset.next()) {
taskids.push(resultset.getInt("taskid"));
}
return taskids;
}
var idsMap = { "ids" : getTaskIds(taskidSqlresult) };
SQLRESULT = QExecutor.executeNQ("TaskManager.getTaskDetailsById", idsMap);

In the above example, TaskManager.getProjectTaskDetails, executes two more named query by passing suitable parameters as map and filters the result.

LIMITATION

 


© 2006 Applibase, Inc.