API v1.0
Revision as of 19:29, 15 April 2015 by old>Admin (→Code example)
Sessions and security
For interacting with Tempus Serva you need a session
Session session = SessionFactory.getSession(this);
All sessions need to be terminated after use (releasing DB connections etc.)
session.close();
Constructing queryies
Retrieve data
Change / create data
Code example
The following example shows how data is retrieved from af collection of templates and used to create a collection of records (with values copied from the template).
int parentTemplateDataID = Parser.getInteger( c.fields.getElementByFieldName(thisKeyToParentTemplate).FieldValue ); Session session = SessionFactory.getSession(this); try { //Get data SolutionQuery opsaetning = session.getSolutionQuery(templateSolutionName); for(int i=0; i<fieldsTemplate.size(); i++ ) opsaetning.addSelectField(fieldsTemplate.get(i)); opsaetning.addWhereCriterion(templateKeyToParentTemplate, parentTemplateDataID); SolutionQueryResultSet recordsToCopy = opsaetning.executeQuery(); int recordCount = recordsToCopy.size(); for( int i=0; i<recordCount; i++ ) { SolutionRecordNew instance = session.getSolutionRecordNew(instanceSolutionName); for(int fi=0; fi<fieldsTemplate.size(); fi++ ) { String value = recordsToCopy.getRecordValue( i, fieldsTemplate.get(fi)); instance.setValue( fieldsInstance.get(fi), value ); } instance.setValueInteger( instanceKeyToParent, c.DataID ); if( ! Parser.isEmpty(instanceKeyToTemplate) ) instance.setValueInteger( instanceKeyToTemplate, recordsToCopy.getReference(i) ); instance.persistChanges(); } } catch(Exception e) { e.printStackTrace(); } finally { session.close(); }