|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.hackystat.sensorbase.db.DbImplementation
org.hackystat.sensorbase.db.postgres.PostgresImplementation
public class PostgresImplementation
Provides a implementation of DbImplementation using Postgres.
Field Summary | |
---|---|
static java.lang.String |
POSTGRES_DB
The postgres database name. |
static java.lang.String |
POSTGRES_PASSWORD
The postgres server password. |
static java.lang.String |
POSTGRES_USER
The postgres server username. |
Fields inherited from class org.hackystat.sensorbase.db.DbImplementation |
---|
logger, server |
Constructor Summary | |
---|---|
PostgresImplementation(org.hackystat.sensorbase.server.Server server)
Instantiates the Postgres implementation. |
Method Summary | |
---|---|
boolean |
compressTables()
Always returns true because compression is not supported in this Postgres implementation. |
(package private) static java.lang.String |
constructLikeClauses(java.util.List<java.lang.String> uriPatterns)
Constructs a set of LIKE clauses corresponding to the passed set of UriPatterns. |
void |
deleteProject(org.hackystat.sensorbase.resource.users.jaxb.User owner,
java.lang.String projectName)
|
void |
deleteSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user)
|
void |
deleteSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user,
javax.xml.datatype.XMLGregorianCalendar timestamp)
|
void |
deleteSensorDataType(java.lang.String sdtName)
|
void |
deleteUser(java.lang.String email)
|
java.lang.String |
getProject(org.hackystat.sensorbase.resource.users.jaxb.User owner,
java.lang.String projectName)
|
java.lang.String |
getProjectIndex()
|
java.lang.String |
getProjectSensorDataSnapshot(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users,
javax.xml.datatype.XMLGregorianCalendar startTime,
javax.xml.datatype.XMLGregorianCalendar endTime,
java.util.List<java.lang.String> uriPatterns,
java.lang.String sdt,
java.lang.String tool)
|
org.hackystat.sensorbase.resource.projects.jaxb.ProjectSummary |
getProjectSummary(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users,
javax.xml.datatype.XMLGregorianCalendar startTime,
javax.xml.datatype.XMLGregorianCalendar endTime,
java.util.List<java.lang.String> uriPatterns,
java.lang.String href)
|
int |
getRowCount(java.lang.String table)
. |
java.lang.String |
getSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user,
javax.xml.datatype.XMLGregorianCalendar timestamp)
|
java.lang.String |
getSensorDataIndex()
|
java.lang.String |
getSensorDataIndex(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users,
javax.xml.datatype.XMLGregorianCalendar startTime,
javax.xml.datatype.XMLGregorianCalendar endTime,
java.util.List<java.lang.String> uriPatterns,
int startIndex,
int maxInstances)
|
java.lang.String |
getSensorDataIndex(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users,
javax.xml.datatype.XMLGregorianCalendar startTime,
javax.xml.datatype.XMLGregorianCalendar endTime,
java.util.List<java.lang.String> uriPatterns,
java.lang.String sdt)
|
java.lang.String |
getSensorDataIndex(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users,
javax.xml.datatype.XMLGregorianCalendar startTime,
javax.xml.datatype.XMLGregorianCalendar endTime,
java.util.List<java.lang.String> uriPatterns,
java.lang.String sdt,
java.lang.String tool)
|
java.lang.String |
getSensorDataIndex(org.hackystat.sensorbase.resource.users.jaxb.User user)
|
java.lang.String |
getSensorDataIndex(org.hackystat.sensorbase.resource.users.jaxb.User user,
java.lang.String sdtName)
|
java.lang.String |
getSensorDataIndexLastMod(org.hackystat.sensorbase.resource.users.jaxb.User user,
javax.xml.datatype.XMLGregorianCalendar lastModStartTime,
javax.xml.datatype.XMLGregorianCalendar lastModEndTime)
|
java.lang.String |
getSensorDataType(java.lang.String sdtName)
|
java.lang.String |
getSensorDataTypeIndex()
|
java.util.Set<java.lang.String> |
getTableNames()
|
java.lang.String |
getUser(java.lang.String email)
|
java.lang.String |
getUserIndex()
|
boolean |
hasSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user,
javax.xml.datatype.XMLGregorianCalendar timestamp)
|
boolean |
indexTables()
Always returns true because indexing is not supported in this Postgres implementation. |
void |
initialize()
|
boolean |
isFreshlyCreated()
|
boolean |
storeProject(org.hackystat.sensorbase.resource.projects.jaxb.Project project,
java.lang.String xmlProject,
java.lang.String xmlProjectRef)
|
boolean |
storeSensorData(org.hackystat.sensorbase.resource.sensordata.jaxb.SensorData data,
java.lang.String xmlSensorData,
java.lang.String xmlSensorDataRef)
|
boolean |
storeSensorDataType(org.hackystat.sensorbase.resource.sensordatatypes.jaxb.SensorDataType sdt,
java.lang.String xmlSensorDataType,
java.lang.String xmlSensorDataTypeRef)
|
boolean |
storeUser(org.hackystat.sensorbase.resource.users.jaxb.User user,
java.lang.String xmlUser,
java.lang.String xmlUserRef)
|
Methods inherited from class org.hackystat.sensorbase.db.DbImplementation |
---|
getProjectManager, getSdtManager, getSensorDataManager, getUserManager |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String POSTGRES_DB
public static final java.lang.String POSTGRES_USER
public static final java.lang.String POSTGRES_PASSWORD
Constructor Detail |
---|
public PostgresImplementation(org.hackystat.sensorbase.server.Server server)
server
- The SensorBase server instance.Method Detail |
---|
public void initialize()
initialize
in class org.hackystat.sensorbase.db.DbImplementation
public boolean storeSensorData(org.hackystat.sensorbase.resource.sensordata.jaxb.SensorData data, java.lang.String xmlSensorData, java.lang.String xmlSensorDataRef)
storeSensorData
in class org.hackystat.sensorbase.db.DbImplementation
public boolean isFreshlyCreated()
isFreshlyCreated
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataIndex()
getSensorDataIndex
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataIndex(org.hackystat.sensorbase.resource.users.jaxb.User user)
getSensorDataIndex
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataIndex(org.hackystat.sensorbase.resource.users.jaxb.User user, java.lang.String sdtName)
getSensorDataIndex
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataIndex(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users, javax.xml.datatype.XMLGregorianCalendar startTime, javax.xml.datatype.XMLGregorianCalendar endTime, java.util.List<java.lang.String> uriPatterns, java.lang.String sdt)
getSensorDataIndex
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getProjectSensorDataSnapshot(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users, javax.xml.datatype.XMLGregorianCalendar startTime, javax.xml.datatype.XMLGregorianCalendar endTime, java.util.List<java.lang.String> uriPatterns, java.lang.String sdt, java.lang.String tool)
getProjectSensorDataSnapshot
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataIndex(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users, javax.xml.datatype.XMLGregorianCalendar startTime, javax.xml.datatype.XMLGregorianCalendar endTime, java.util.List<java.lang.String> uriPatterns, int startIndex, int maxInstances)
getSensorDataIndex
in class org.hackystat.sensorbase.db.DbImplementation
static java.lang.String constructLikeClauses(java.util.List<java.lang.String> uriPatterns)
Each UriPattern is translated in the following way:
(RESOURCE like 'translatedUriPattern1' escape 'escapeChar1') OR (RESOURCE like 'translatedUriPattern2' escape 'escapeChar2') ..
There is one special case. If the List(UriPattern) is null, empty, or consists of exactly one UriPattern which is "**" or "*", then the empty string is returned. This is an optimization for the common case where all resources should be matched and so we don't need any LIKE clauses.
We return either the empty string (""), or else a string of the form: " AND ([like clause] AND [like clause] ... )" This enables the return value to be appended to the SELECT statement.
This method is static and package private to support testing. See the class TestConstructUriPattern for example invocations and expected return values.
uriPatterns
- The list of uriPatterns.
public java.lang.String getSensorDataIndexLastMod(org.hackystat.sensorbase.resource.users.jaxb.User user, javax.xml.datatype.XMLGregorianCalendar lastModStartTime, javax.xml.datatype.XMLGregorianCalendar lastModEndTime)
getSensorDataIndexLastMod
in class org.hackystat.sensorbase.db.DbImplementation
public boolean hasSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user, javax.xml.datatype.XMLGregorianCalendar timestamp)
hasSensorData
in class org.hackystat.sensorbase.db.DbImplementation
public void deleteSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user, javax.xml.datatype.XMLGregorianCalendar timestamp)
deleteSensorData
in class org.hackystat.sensorbase.db.DbImplementation
public void deleteSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user)
deleteSensorData
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorData(org.hackystat.sensorbase.resource.users.jaxb.User user, javax.xml.datatype.XMLGregorianCalendar timestamp)
getSensorData
in class org.hackystat.sensorbase.db.DbImplementation
public boolean storeSensorDataType(org.hackystat.sensorbase.resource.sensordatatypes.jaxb.SensorDataType sdt, java.lang.String xmlSensorDataType, java.lang.String xmlSensorDataTypeRef)
storeSensorDataType
in class org.hackystat.sensorbase.db.DbImplementation
public void deleteSensorDataType(java.lang.String sdtName)
deleteSensorDataType
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataTypeIndex()
getSensorDataTypeIndex
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataType(java.lang.String sdtName)
getSensorDataType
in class org.hackystat.sensorbase.db.DbImplementation
public void deleteUser(java.lang.String email)
deleteUser
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getUser(java.lang.String email)
getUser
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getUserIndex()
getUserIndex
in class org.hackystat.sensorbase.db.DbImplementation
public boolean storeUser(org.hackystat.sensorbase.resource.users.jaxb.User user, java.lang.String xmlUser, java.lang.String xmlUserRef)
storeUser
in class org.hackystat.sensorbase.db.DbImplementation
public void deleteProject(org.hackystat.sensorbase.resource.users.jaxb.User owner, java.lang.String projectName)
deleteProject
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getProject(org.hackystat.sensorbase.resource.users.jaxb.User owner, java.lang.String projectName)
getProject
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getProjectIndex()
getProjectIndex
in class org.hackystat.sensorbase.db.DbImplementation
public org.hackystat.sensorbase.resource.projects.jaxb.ProjectSummary getProjectSummary(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users, javax.xml.datatype.XMLGregorianCalendar startTime, javax.xml.datatype.XMLGregorianCalendar endTime, java.util.List<java.lang.String> uriPatterns, java.lang.String href)
getProjectSummary
in class org.hackystat.sensorbase.db.DbImplementation
public boolean storeProject(org.hackystat.sensorbase.resource.projects.jaxb.Project project, java.lang.String xmlProject, java.lang.String xmlProjectRef)
storeProject
in class org.hackystat.sensorbase.db.DbImplementation
public boolean compressTables()
compressTables
in class org.hackystat.sensorbase.db.DbImplementation
public int getRowCount(java.lang.String table)
getRowCount
in class org.hackystat.sensorbase.db.DbImplementation
public java.util.Set<java.lang.String> getTableNames()
getTableNames
in class org.hackystat.sensorbase.db.DbImplementation
public java.lang.String getSensorDataIndex(java.util.List<org.hackystat.sensorbase.resource.users.jaxb.User> users, javax.xml.datatype.XMLGregorianCalendar startTime, javax.xml.datatype.XMLGregorianCalendar endTime, java.util.List<java.lang.String> uriPatterns, java.lang.String sdt, java.lang.String tool)
getSensorDataIndex
in class org.hackystat.sensorbase.db.DbImplementation
public boolean indexTables()
indexTables
in class org.hackystat.sensorbase.db.DbImplementation
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |