/** * Returns the reults as an ArrayList of Record objects. The Result set is closed within this * call * * @param maxRows if the result set contains more than this param then an exception is thrown */ public ArrayList<DataPoint> getArrayList(int maxRows) { ArrayList<DataPoint> results = new ArrayList<DataPoint>(); int count = 0; try { if (m_onFirstResult) { count++; results.add(factory.newDataPoint(m_resultSet)); } while (m_resultSet.next() && (count < maxRows)) { count++; results.add(factory.newDataPoint(m_resultSet)); } if (m_resultSet.next()) throw new GenOrmException( "Bound of " + maxRows + " is too small for query [" + m_query + "]"); } catch (java.sql.SQLException sqle) { sqle.printStackTrace(); throw new GenOrmException(sqle); } close(); return (results); }
public ResultSet getForMetricId( String metricId, java.sql.Timestamp startTime, java.sql.Timestamp endTime) { String query = SELECT + "from data_point this\n where\n this.\"metric_id\" = ?\n and this.\"timestamp\" >= ?\n and this.\"timestamp\" <= ?\n order by this.\"timestamp\""; java.sql.PreparedStatement genorm_statement = null; try { genorm_statement = GenOrmDataSource.prepareStatement(query); genorm_statement.setString(1, metricId); genorm_statement.setTimestamp(2, startTime); genorm_statement.setTimestamp(3, endTime); s_logger.debug(genorm_statement.toString()); ResultSet rs = new SQLResultSet(genorm_statement.executeQuery(), query, genorm_statement); return (rs); } catch (java.sql.SQLException sqle) { try { if (genorm_statement != null) genorm_statement.close(); } catch (java.sql.SQLException sqle2) { } if (s_logger.isDebug()) sqle.printStackTrace(); throw new GenOrmException(sqle); } }
private synchronized void retrieve(String criteria, boolean countOnly) throws DataStoreException { if (!countOnly) reset(); waitForCancel(); // just in case there was already a retrieve running wait for it to be // cancelled before continuing _retrieveInProgress = true; try { _dataSource.preRetrieve(this, criteria, countOnly); } catch (Exception e) { try { _dataSource.postRetrieve(this); } catch (java.sql.SQLException ex) { throw new DataStoreException(ex.toString(), ex); } catch (Exception ex) { throw new DataStoreException(ex.toString()); } _retrieveInProgress = false; interruptWaitingRetrieveThreads(); throw new DataStoreException(e.toString(), e); } if (!countOnly) { if (_threaded) { Thread t = new Thread(this); t.start(); } else run(); } }
/** * Returns the reults as an ArrayList of Record objects. The Result set is closed within this * call */ public ArrayList<DataPoint> getArrayList() { ArrayList<DataPoint> results = new ArrayList<DataPoint>(); try { if (m_onFirstResult) results.add(factory.newDataPoint(m_resultSet)); while (m_resultSet.next()) results.add(factory.newDataPoint(m_resultSet)); } catch (java.sql.SQLException sqle) { sqle.printStackTrace(); throw new GenOrmException(sqle); } close(); return (results); }
public ResultSet getByMetric(String metricId) { String query = SELECT + "FROM data_point this WHERE this.\"metric_id\" = ?"; java.sql.PreparedStatement genorm_statement = null; try { genorm_statement = GenOrmDataSource.prepareStatement(query); genorm_statement.setString(1, metricId); s_logger.debug(genorm_statement.toString()); ResultSet rs = new SQLResultSet(genorm_statement.executeQuery(), query, genorm_statement); return (rs); } catch (java.sql.SQLException sqle) { try { if (genorm_statement != null) genorm_statement.close(); } catch (java.sql.SQLException sqle2) { } if (s_logger.isDebug()) sqle.printStackTrace(); throw new GenOrmException(sqle); } }
/** * A method to build a collection of collaborator objects representing a network based on an * organisation * * @param id the id of the central organisation * @param radius the number of edges required from the central contributor * @return the collection of collaborator objects */ @SuppressWarnings("rawtypes") public TreeMap<Integer, Collaborator> getRawCollaboratorData_org(String id, int radius) { // check the parameters if (InputUtils.isValidInt(id) == false) { throw new IllegalArgumentException("Error: the id parameter is required"); } if (InputUtils.isValidInt(radius, ExportServlet.MIN_DEGREES, ExportServlet.MAX_DEGREES) == false) { throw new IllegalArgumentException( "Error: the radius parameter must be between " + ExportServlet.MIN_DEGREES + " and " + ExportServlet.MAX_DEGREES); } // define helper variables // collection of collaborators java.util.TreeMap<Integer, Collaborator> cId_cObj_map = new java.util.TreeMap<Integer, Collaborator>(); // set of collaborators that we've already processed java.util.TreeSet<Integer> foundCollaboratorsSet = new java.util.TreeSet<Integer>(); // define other helper variables String contributor_id = null; QuerySolution row = null; Collaborator collaborator = null; String sql = "SELECT DISTINCT b.eventid " + "FROM events a, orgevlink b " + "WHERE b.organisationid = ? " // +id + "AND a.eventid = b.eventid"; int[] param = {Integer.parseInt(id)}; java.sql.ResultSet resultSet = db.exePreparedStatement(sql, param); ArrayList<String> eventResults = new ArrayList<String>(); try { // check to see that data was returned if (!resultSet.last()) { db.tidyup(); return null; } else resultSet.beforeFirst(); // loop through the resultset while (resultSet.next() == true) { eventResults.add(resultSet.getString(1)); } } catch (java.sql.SQLException ex) { System.out.println("Exception: " + ex.getMessage()); resultSet = null; } db.tidyup(); // helper int first = 0; // define the query String sparqlQuery1 = "PREFIX foaf: <" + FOAF.NS + "> " + "PREFIX ausestage: <" + AuseStage.NS + "> " + "PREFIX event: <http://purl.org/NET/c4dm/event.owl#> " + "PREFIX dcterms: <http://purl.org/dc/terms/> " + "SELECT DISTINCT ?agent ?givenName ?familyName " + "WHERE { "; for (String event : eventResults) { if (first > 0) { sparqlQuery1 += "UNION "; } first++; sparqlQuery1 += "{<ausstage:e:" + event + "> a event:Event; " + " event:agent ?agent. " + " ?agent a foaf:Person; " + " foaf:givenName ?givenName; " + " foaf:familyName ?familyName. " + " } "; } sparqlQuery1 += " } "; // execute query ResultSet results = rdf.executeSparqlQuery(sparqlQuery1); // now we transfer the results to a TreeMap <Integer, while (results.hasNext()) { row = results.nextSolution(); contributor_id = AusStageURI.getId(row.get("agent").toString()); collaborator = new Collaborator(contributor_id); cId_cObj_map.put(Integer.parseInt(contributor_id), collaborator); foundCollaboratorsSet.add(Integer.parseInt(contributor_id)); } rdf.tidyUp(); return cId_cObj_map; } // end getRawCollaboratorData_org method
/** * A method to build a list of Collaboration objects representing a list of collaborations * associated with a collaborator * * @param id the unique identifier of a collaborator * @return a CollaborationList object containing a list of Collaboration objects */ public CollaborationList getCollaborationList_org(String org_id, String id) { // check on the input parameters if (InputUtils.isValidInt(id) == false) { throw new IllegalArgumentException("The id parameter cannot be null"); } // declare helper variables CollaborationList list = new CollaborationList(id); // define other helper variables Collaboration collaboration = null; // define other helper variables String partner = null; Integer count = null; String firstDate = null; String lastDate = null; // define the base sql query String sqlQuery = "SELECT distinct count(*), con.contributorid, min(e.first_date), max(e.first_date) " + "FROM contributor con, conevlink c , conevlink c2, orgevlink o, events e " + "WHERE o.organisationid = ? " // + org_id + " " + "AND c.eventid = O.EVENTID " + "AND e.eventid = O.EVENTID " + "AND e.eventid = c.EVENTID " + "AND c.contributorid != ?" // + id + " " + "AND con.contributorid = c.contributorid " + "AND c2.contributorid = ? " // + id + " " + "AND c2.eventid = c.eventid " + "GROUP BY con.contributorid, con.first_name "; int[] param = {Integer.parseInt(org_id), Integer.parseInt(id), Integer.parseInt(id)}; // execute the query java.sql.ResultSet resultSet = db.exePreparedStatement(sqlQuery, param); try { // check to see that data was returned if (!resultSet.last()) { db.tidyup(); return null; } else resultSet.beforeFirst(); // loop though the resulset while (resultSet.next()) { // get the data partner = resultSet.getString(2); count = resultSet.getInt(1); firstDate = resultSet.getDate(3).toString(); lastDate = resultSet.getDate(4).toString(); // create the collaboration object collaboration = new Collaboration(id, partner, count, firstDate, lastDate); // add the collaboration to the list list.addCollaboration(collaboration); } } catch (java.sql.SQLException ex) { System.out.println("Exception: " + ex.getMessage()); resultSet = null; } db.tidyup(); // return the list of collaborations return list; } // end the CollaborationList method