AppliBuilder
Visual Mashup Builder

AppliBuilder User Documentation

Using Server-side Jython Scripts

A Datasource can be a jython script. This enables you to add server side logic for executing queries and/or processing data on the server..

Function Support for Jython

Setting SQLRESULT

Handling Result on Client

   function handler(resultSet, error) {
if(error != null) {
alert("Error:" + error.message);
return;
} else {
if(resultSet.type() == "JYTHON") {
alert("RESULT: " + resultSet.getResult());
} else if(resultSet.type() == "SQL") {
// ... handle sql result set
}
}
}

Example1

NamedQuery: testSqlJython

Type: Jython

# insertNameList -- List of names to be inserted.
# selectNameList -- List of names to be selected.
# These inputs will be sent from javascript.

insertNameList = PARAMS["insertNameList"];
selectNameList = PARAMS["selectNameList"];

for insertName in insertNameList:
QExecutor.executeSql('insert into sqljythonTable(name) values(?)', [insertName], False);

SQLRESULT = QExecutor.executeSql('select * from sqljythonTable where name in (?)', selectNameList);

In Javascript Client:

/* var params = { "insertNameList" : ["prasad", "tester"], "selectNameList" : ["prasad"] }; */

var params = new Object();
params["insertNameList"] = ["prasad", "tester"];
params["selectNameList"] = ["prasad"];

var ajaxdb = new Applibase.db.AjaxDb();
ajaxdb.query("testSqlJython", params, true, handler);
function handler(resultSet, error) {
if(error != null) { alert("Error: " + error.message); }
else {
if(resultSet.type() == "SQL") {
while(resultSet.next()) {
// ...
}
} else if(resultSet.type() == "JYTHON") {
alert("Result: " + resultSet.getResult());
}
}
}




© 2006 Applibase, Inc.