Difference between revisions of "API v1.0"
Jump to navigation
Jump to search
old>Admin (Created page with " == Sessions and security == For interacting with Tempus Serva you need a session Session session = SessionFactory.getSession(this); == Constructing queryies == == Re...") |
old>Admin |
||
| Line 6: | Line 6: | ||
Session session = SessionFactory.getSession(this); | Session session = SessionFactory.getSession(this); | ||
All sessions need to be terminated after use (releasing DB connections etc.) | |||
session.close(); | |||
== Constructing queryies == | == Constructing queryies == | ||
Revision as of 19:26, 15 April 2015
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
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();
}