public abstract class SQLDatabaseConnector extends PersistenceConnector implements DatabaseConnector
PersistenceConnector.ImageType
DatabaseConnector.EntityType
Modifier and Type | Field and Description |
---|---|
protected static java.sql.Connection |
dbconn |
protected static DatabaseSchema.Attribute[] |
MAPPING_ATTS |
protected static java.lang.String |
PROP_DB_NAME |
protected static java.lang.String |
PROP_HOST |
protected static java.lang.String |
PROP_PASSWD |
protected static java.lang.String |
PROP_PORT |
protected static java.lang.String |
PROP_SCHEMA_STMT_ACCESS |
protected static java.lang.String |
PROP_SCHEMA_STMT_COMMENTS |
protected static java.lang.String |
PROP_SCHEMA_STMT_CONNECTIONS |
protected static java.lang.String |
PROP_SCHEMA_STMT_EVOLUTION |
protected static java.lang.String |
PROP_SCHEMA_STMT_GROUPS |
protected static java.lang.String |
PROP_SCHEMA_STMT_ID |
protected static java.lang.String |
PROP_SCHEMA_STMT_MODELS |
protected static java.lang.String |
PROP_SCHEMA_STMT_PATHACCESS |
protected static java.lang.String |
PROP_SCHEMA_STMT_SUBGROUPS |
protected static java.lang.String |
PROP_SCHEMA_STMT_USER |
protected static java.lang.String |
PROP_SCHEMA_STMT_USER_IMAGE |
protected static java.lang.String |
PROP_SCHEMA_STMT_VERSIONS |
protected static java.lang.String |
PROP_USER |
protected static java.lang.String[] |
stmtProps |
protected static DatabaseSchema.Table[] |
tableNames |
Constructor and Description |
---|
SQLDatabaseConnector() |
Modifier and Type | Method and Description |
---|---|
boolean |
addModel(java.io.File file,
java.lang.String path,
java.lang.String id,
SingleUser user,
java.lang.String comment)
Add a model to the database
|
void |
addToIDMapping(java.lang.String uri,
java.util.Map<java.lang.String,java.lang.String> mapping) |
boolean |
addUser(SingleUser user)
Store the given user in the database
|
boolean |
checkConnection()
Check if the connection is alive
|
protected void |
createTablesIfNotExist(java.sql.Connection conn,
java.util.Properties props) |
void |
deleteEntity(DatabaseConnector.EntityType entity,
java.lang.Object[] entityId)
Delete enitities specified by the given entity type and entity id values.
|
void |
deleteModel(java.lang.String modelId)
Delete a model (and all its versions) from the database
|
void |
divestRight(java.lang.String id,
AccessType access,
User u)
Deny access for a specific user to s specific model
|
void |
execute(java.lang.String update) |
java.util.Set<java.lang.String> |
getAccessiblePaths(SingleUser user)
Get paths that are accessible by the given user
|
java.util.Set<User> |
getAccessors(java.lang.String id,
AccessType access)
Get a set of users that have a specific type of access to the given model
|
java.util.Set<java.lang.String> |
getAllMappedIDs() |
java.util.Set<ProcessObjectComment> |
getComments(java.lang.String modelId,
java.lang.String version,
java.lang.String elementId)
Get all comments for a specific model or modelelement
|
java.sql.Connection |
getConnection() |
java.lang.String |
getConnectionName()
Get the connection's name
|
protected abstract java.lang.String |
getEnumQueryParameter(java.lang.Enum e) |
java.util.Map<java.lang.String,java.lang.String> |
getIDMapping(java.lang.String uri) |
java.util.Set<ISLocation> |
getISConnections(SingleUser user)
Retrieve the ISConnections for the given user
|
ProcessModel |
getModel(java.lang.String id,
int version)
Retrieve a specific model version
|
java.util.Map<java.lang.String,AccessType> |
getModelsWithAccess(SingleUser user)
Retrieve a list of models and the respective access for a given user
|
int |
getModelVersionCount(java.lang.String modelId)
Retrieve the number of model versions from the database
|
protected abstract java.lang.String |
getStringCastParameter(java.lang.String attribute) |
protected abstract java.lang.String |
getStringConcatenation(java.lang.String[] strings) |
protected abstract java.lang.String |
getTableCreationStatement(java.lang.String tableName,
java.lang.String schemaPart) |
protected java.lang.String |
getUserImageInsertStatement(java.lang.String id) |
void |
grantRight(java.lang.String id,
AccessType access,
User u)
Allow access for a specific user to a specific model
|
void |
insertEntity(DatabaseConnector.EntityType entity,
DatabaseSchema.Attribute[] attributes,
java.lang.Object[] values)
Create an entity specified by the given entity type, attributes, and attribute values.
|
java.awt.image.BufferedImage |
loadUserImage(java.lang.String id)
Get the image of a certain user.
|
protected abstract java.sql.Connection |
openConnection(java.util.Properties dbprops) |
java.sql.Connection |
openNewDatabaseConnection()
Opens a new database connection and returns it.
|
java.lang.String |
saveUserImage(java.lang.String id,
PersistenceConnector.ImageType imageType,
byte[] pic)
Save a user's image
|
java.lang.Object[] |
selectAttributes(DatabaseSchema.Attribute[] attributes,
DatabaseConnector.EntityType entity,
java.lang.Object[] entityId)
Select a set of attributes of an object specified by the gievn entity type and entity id values.
|
java.util.Set<java.lang.Object> |
selectMultiValueSingleAttribute(DatabaseSchema.Attribute attribute,
DatabaseConnector.EntityType entity,
java.lang.Object[] idValues)
Select ALL values for an attribute of an object specified by the given entity type and entity id values.
|
java.util.Set<java.lang.Object> |
selectMultiValueSingleAttributeWithMultipleIDs(DatabaseSchema.Attribute attribute,
DatabaseConnector.EntityType entity,
java.lang.Object[][] idValues)
Select ALL values for an attribute of multiple object specified by the given enitity type and entity ids.
|
java.util.Set<java.lang.Object> |
selectSingleAttribute(DatabaseSchema.Attribute attribute,
DatabaseConnector.EntityType entity)
Select ALL values for an attribute of the given entity type.
|
java.lang.Object |
selectSingleAttribute(DatabaseSchema.Attribute attribute,
DatabaseConnector.EntityType entity,
java.lang.Object[] idValues)
Select a single attribute value of an object specified by the given entity type and entity id values.
|
protected java.util.Set<java.lang.String> |
selectSingleColumn(java.sql.Connection conn,
java.lang.String table,
java.lang.String column) |
protected abstract void |
setUserImageParameter(java.sql.PreparedStatement stmt,
int parIndex,
byte[] image) |
void |
storeIDMapping(java.lang.String uri,
java.util.Map<java.lang.String,java.lang.String> mapping) |
boolean |
updateAttribute(DatabaseSchema.Attribute attribute,
java.lang.Object value,
DatabaseConnector.EntityType entity,
java.lang.Object[] entityId)
Update an attribute value of an object specified by the gievn entity type and entity id values.
|
addToModelCache, clearModelCache, fetchFromModelCache
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addModelVersion
protected static final java.lang.String PROP_HOST
protected static final java.lang.String PROP_PORT
protected static final java.lang.String PROP_USER
protected static final java.lang.String PROP_PASSWD
protected static final java.lang.String PROP_DB_NAME
protected static final java.lang.String PROP_SCHEMA_STMT_USER
protected static final java.lang.String PROP_SCHEMA_STMT_USER_IMAGE
protected static final java.lang.String PROP_SCHEMA_STMT_GROUPS
protected static final java.lang.String PROP_SCHEMA_STMT_SUBGROUPS
protected static final java.lang.String PROP_SCHEMA_STMT_MODELS
protected static final java.lang.String PROP_SCHEMA_STMT_VERSIONS
protected static final java.lang.String PROP_SCHEMA_STMT_EVOLUTION
protected static final java.lang.String PROP_SCHEMA_STMT_COMMENTS
protected static final java.lang.String PROP_SCHEMA_STMT_ACCESS
protected static final java.lang.String PROP_SCHEMA_STMT_PATHACCESS
protected static final java.lang.String PROP_SCHEMA_STMT_ID
protected static final java.lang.String PROP_SCHEMA_STMT_CONNECTIONS
protected static final DatabaseSchema.Attribute[] MAPPING_ATTS
protected static final DatabaseSchema.Table[] tableNames
protected static final java.lang.String[] stmtProps
protected static java.sql.Connection dbconn
public boolean checkConnection()
DatabaseConnector
checkConnection
in interface DatabaseConnector
public java.lang.String getConnectionName()
DatabaseConnector
getConnectionName
in interface DatabaseConnector
public java.util.Map<java.lang.String,java.lang.String> getIDMapping(java.lang.String uri)
getIDMapping
in class PersistenceConnector
public void storeIDMapping(java.lang.String uri, java.util.Map<java.lang.String,java.lang.String> mapping)
storeIDMapping
in class PersistenceConnector
public void addToIDMapping(java.lang.String uri, java.util.Map<java.lang.String,java.lang.String> mapping)
addToIDMapping
in class PersistenceConnector
public java.util.Set<java.lang.String> getAllMappedIDs()
getAllMappedIDs
in class PersistenceConnector
public java.awt.image.BufferedImage loadUserImage(java.lang.String id)
PersistenceConnector
loadUserImage
in class PersistenceConnector
id
- the id of the user's imagepublic java.lang.String saveUserImage(java.lang.String id, PersistenceConnector.ImageType imageType, byte[] pic)
PersistenceConnector
saveUserImage
in class PersistenceConnector
id
- the id of the user's imageimageType
- the type of the image.pic
- the image as byte arraypublic java.sql.Connection getConnection()
public java.util.Set<java.lang.Object> selectSingleAttribute(DatabaseSchema.Attribute attribute, DatabaseConnector.EntityType entity)
DatabaseConnector