use of net.idea.modbcum.i.IDBProcessor in project ambit-mirror by ideaconsult.
the class QueryResource method getRepresentation.
protected Representation getRepresentation(Variant variant) throws ResourceException {
try {
if (MediaType.APPLICATION_JAVA_OBJECT.equals(variant.getMediaType())) {
if ((queryObject != null) && (queryObject instanceof Serializable))
return new ObjectRepresentation((Serializable) returnQueryObject(), MediaType.APPLICATION_JAVA_OBJECT);
else
throw new ResourceException(Status.CLIENT_ERROR_NOT_ACCEPTABLE);
}
if (MediaType.APPLICATION_JAVASCRIPT.equals(variant.getMediaType())) {
if (!isJSONPEnabled())
throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE);
}
if (queryObject != null) {
IProcessor<Q, Representation> convertor = null;
Connection connection = null;
int retry = 0;
while (retry < maxRetry) {
try {
DBConnection dbc = new DBConnection(getContext());
configureRDFWriterOption(((AmbitApplication) getApplication()).getProperties().getRDFwriter());
configureSDFLineSeparators(((AmbitApplication) getApplication()).getProperties().getConfigChangeLineSeparator());
configureDatasetMembersPrefixOption(((AmbitApplication) getApplication()).getProperties().isDatasetMembersPrefix());
convertor = createConvertor(variant);
if (convertor instanceof RepresentationConvertor)
((RepresentationConvertor) convertor).setLicenseURI(getLicenseURI());
connection = dbc.getConnection();
Reporter reporter = ((RepresentationConvertor) convertor).getReporter();
if (reporter instanceof IDBProcessor)
((IDBProcessor) reporter).setConnection(connection);
Representation r = convertor.process(queryObject);
r.setCharacterSet(CharacterSet.UTF_8);
return r;
} catch (ResourceException x) {
throw x;
} catch (NotFoundException x) {
Representation r = processNotFound(x, retry);
retry++;
if (r != null)
return r;
} catch (BatchProcessingException x) {
if (x.getCause() instanceof NotFoundException) {
Representation r = processNotFound((NotFoundException) x.getCause(), retry);
retry++;
if (r != null)
return r;
} else {
Context.getCurrentLogger().severe(x.getMessage());
throw new RResourceException(Status.SERVER_ERROR_INTERNAL, x, variant);
}
} catch (SQLException x) {
Representation r = processSQLError(x, retry, variant);
retry++;
if (r == null)
continue;
else
return r;
} catch (Exception x) {
Context.getCurrentLogger().severe(x.getMessage());
throw new RResourceException(Status.SERVER_ERROR_INTERNAL, x, variant);
} finally {
// try { if (connection !=null) connection.close(); }
// catch (Exception x) {};
// try { if ((convertor !=null) &&
// (convertor.getReporter() !=null))
// convertor.getReporter().close(); } catch (Exception
// x) {}
}
}
return null;
} else {
if (variant.getMediaType().equals(MediaType.TEXT_HTML))
try {
IProcessor<Q, Representation> convertor = createConvertor(variant);
Representation r = convertor.process(null);
return r;
} catch (Exception x) {
throw new RResourceException(Status.CLIENT_ERROR_BAD_REQUEST, x, variant);
}
else {
throw new RResourceException(Status.CLIENT_ERROR_BAD_REQUEST, error, variant);
}
}
} catch (RResourceException x) {
throw x;
} catch (ResourceException x) {
throw new RResourceException(x.getStatus(), x, variant);
} catch (Exception x) {
throw new RResourceException(Status.SERVER_ERROR_INTERNAL, x, variant);
}
}
use of net.idea.modbcum.i.IDBProcessor in project ambit-mirror by ideaconsult.
the class DictionaryRowsTest method demo.
protected void demo() {
DictionarySubjectQuery query = new DictionarySubjectQuery();
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
initDatasource();
Connection c = datasource.getConnection();
IAmbitEditor editor = EditorPreferences.getEditor(query);
if (editor instanceof IDBProcessor) {
((IDBProcessor) editor).setConnection(c);
((IDBProcessor) editor).open();
}
JOptionPane.showMessageDialog(null, editor.getJComponent());
c.close();
} catch (Exception x) {
x.printStackTrace();
}
}
use of net.idea.modbcum.i.IDBProcessor in project ambit-mirror by ideaconsult.
the class QueryFieldEditorTest method demo.
protected void demo() {
QueryField query = new QueryField();
try {
initDatasource();
Connection c = datasource.getConnection();
IAmbitEditor editor = EditorPreferences.getEditor(query);
if (editor instanceof IDBProcessor) {
((IDBProcessor) editor).setConnection(c);
((IDBProcessor) editor).open();
}
JOptionPane.showMessageDialog(null, editor.getJComponent());
System.out.println(query.toString());
System.out.println(query.getSQL());
System.out.println(query.getParameters());
c.close();
} catch (Exception x) {
x.printStackTrace();
}
}
use of net.idea.modbcum.i.IDBProcessor in project ambit-mirror by ideaconsult.
the class QueryFunctionalGroupsEditorTest method demo.
protected void demo() {
ProcessorCreateProfileQuery p = new ProcessorCreateProfileQuery();
Template t = new Template();
t.setName("ambit2.descriptors.FunctionalGroupDescriptor");
try {
initDatasource();
Connection c = datasource.getConnection();
p.setConnection(c);
IQueryRetrieval<IStructureRecord> query = p.process(t);
IAmbitEditor editor = EditorPreferences.getEditor(query);
if (editor instanceof IDBProcessor) {
((IDBProcessor) editor).setConnection(c);
((IDBProcessor) editor).open();
}
JOptionPane.showMessageDialog(null, editor.getJComponent());
System.out.println(query.toString());
System.out.println(query.getSQL());
System.out.println(query.getParameters());
c.close();
} catch (Exception x) {
x.printStackTrace();
}
}
use of net.idea.modbcum.i.IDBProcessor in project ambit-mirror by ideaconsult.
the class QueryStoredResultsEditorTest method demo.
protected void demo() {
QueryStoredResults query = new QueryStoredResults();
try {
initDatasource();
Connection c = datasource.getConnection();
IAmbitEditor editor = EditorPreferences.getEditor(query);
if (editor instanceof IDBProcessor) {
((IDBProcessor) editor).setConnection(c);
((IDBProcessor) editor).open();
}
JOptionPane.showMessageDialog(null, editor.getJComponent());
System.out.println(query.toString());
System.out.println(query.getSQL());
System.out.println(query.getParameters());
c.close();
} catch (Exception x) {
x.printStackTrace();
}
}
Aggregations