package search;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import chemaxon.jchem.db.JChemSearch;
import chemaxon.sss.SearchConstants;
import chemaxon.sss.search.JChemSearchOptions;
import chemaxon.util.ConnectionHandler;
@author
@author
@version
public class RetrievingResults {
public static void main(String[] args) {
try {
SearchExampleBase.tableSetup();
JChemSearchOptions jcSearchOptions = new JChemSearchOptions();
jcSearchOptions.setSearchType(SearchConstants.SUBSTRUCTURE);
String strTable = Util.structureTableName;
ConnectionHandler connectionHandler = Connection
.getConnectionHandler(1);
JChemSearch jChemSearch = InitializingSearch.createJChemSearch(
connectionHandler, "Brc1ccccc1",
strTable, jcSearchOptions);
jChemSearch.run();
int[] cdIds = jChemSearch.getResults();
String retrieverSql = "SELECT cd_formula, cd_molweight from "
+ strTable + " where cd_id = ?";
PreparedStatement ps = connectionHandler.getConnection()
.prepareStatement(retrieverSql);
try {
for (int i = 0; i < cdIds.length; i++) {
int cdId = cdIds[i];
ps.setInt(1, cdId);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
System.out.println("ID: " + cdId + "\tFormula: "
+ rs.getString(1) + "\tMass: "
+ rs.getDouble(2));
} else {
;
}
}
} finally {
ps.close();
}
Molecule[] results = null;
ArrayList<String> fieldNames = new ArrayList<String>();
fieldNames.add("cd_formula");
fieldNames.add("cd_molweight");
ArrayList<Object> fieldValues = new ArrayList<Object>();
HitColoringAndAlignmentOptions options = null;
results = jChemSearch. getHitsAsMolecules(
cdIds, options, fieldNames, fieldValues);
for (int i = 0; i < cdIds.length; i++) {
System.out.println("ID: " + cdIds[i]);
for (int j = 0; j < fieldValues.get(i).length; j++) {
System.out.println(fieldNames.get(j) + ": "
+ fieldValues.get(i)[j]);
}
System.out.println();
}
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
}