Reorganizing the way to get servers from config files. Going to support multiple urls
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/information-system/resource-registry@133188 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
bf0148db37
commit
6662e7b6ef
|
@ -31,13 +31,13 @@ public abstract class SecurityContextMapper {
|
|||
boolean created = DatabaseIntializator.initGraphDB();
|
||||
|
||||
logger.trace("Creating factory for {} connecting as {}",
|
||||
DatabaseEnvironment.URI_DB,
|
||||
DatabaseEnvironment.getDBURI(),
|
||||
DatabaseEnvironment.DEFAULT_ADMIN_USERNAME);
|
||||
|
||||
securityContextFactories = new HashMap<>();
|
||||
|
||||
OrientGraphFactory factory = new OrientGraphFactory(
|
||||
DatabaseEnvironment.URI_DB,
|
||||
DatabaseEnvironment.getDBURI(),
|
||||
DatabaseEnvironment.DEFAULT_ADMIN_USERNAME,
|
||||
DatabaseEnvironment.CHANGED_ADMIN_PASSWORD)
|
||||
.setupPool(1, 10);
|
||||
|
@ -113,7 +113,7 @@ public abstract class SecurityContextMapper {
|
|||
SecurityType.USER, contextID);
|
||||
String password = DatabaseEnvironment.DEFAULT_PASSWORDS.get(permissionMode);
|
||||
|
||||
factory = new OrientGraphFactory(DatabaseEnvironment.URI_DB,
|
||||
factory = new OrientGraphFactory(DatabaseEnvironment.getDBURI(),
|
||||
username, password).setupPool(1, 10);
|
||||
|
||||
permissionSecurityContextFactories.put(contextID, factory);
|
||||
|
|
|
@ -22,56 +22,67 @@ public class DatabaseEnvironment {
|
|||
|
||||
private static Logger logger = LoggerFactory.getLogger(DatabaseIntializator.class);
|
||||
|
||||
public static final String PROPERTY_FILENAME = "config.properties";
|
||||
protected static final String PROPERTY_FILENAME = "config.properties";
|
||||
|
||||
public static final String HOST;
|
||||
public static final String HOST_VARNAME = "HOST";
|
||||
protected static final String HOST_VARNAME = "HOST";
|
||||
|
||||
public static final String REMOTE_PROTOCOL;
|
||||
public static final String REMOTE_PROTOCOL_VARNAME = "REMOTE_PROTOCOL";
|
||||
protected static final String REMOTE_PROTOCOL;
|
||||
protected static final String REMOTE_PROTOCOL_VARNAME = "REMOTE_PROTOCOL";
|
||||
|
||||
public static final String REMOTE_URI;
|
||||
protected static final String HTTP_PROTOCOL;
|
||||
protected static final String HTTP_PROTOCOL_VARNAME = "HTTP_PROTOCOL";
|
||||
|
||||
public static final String HTTP_PROTOCOL;
|
||||
public static final String HTTP_PROTOCOL_VARNAME = "HTTP_PROTOCOL";
|
||||
|
||||
public static final String HTTP_PORT;
|
||||
public static final String HTTP_PORT_VARNAME = "HTTP_PORT";
|
||||
|
||||
public static final String HTTP_URL_STRING;
|
||||
protected static final String HTTP_PORT;
|
||||
protected static final String HTTP_PORT_VARNAME = "HTTP_PORT";
|
||||
|
||||
public static final String DB;
|
||||
public static final String DB_VARNAME = "DB";
|
||||
protected static final String DB_VARNAME = "DB";
|
||||
|
||||
public static final String URI_DB;
|
||||
protected static final String USERNAME;
|
||||
protected static final String USERNAME_VARNAME = "USERNAME";
|
||||
|
||||
public static final String USERNAME;
|
||||
public static final String USERNAME_VARNAME = "USERNAME";
|
||||
|
||||
public static final String PASSWORD;
|
||||
public static final String PASSWORD_VARNAME = "PASSWORD";
|
||||
protected static final String PASSWORD;
|
||||
protected static final String PASSWORD_VARNAME = "PASSWORD";
|
||||
|
||||
public static final String CHANGED_ADMIN_PASSWORD;
|
||||
public static final String CHANGED_ADMIN_PASSWORD_VARNAME = "CHANGED_ADMIN_PASSWORD";
|
||||
protected static final String CHANGED_ADMIN_PASSWORD_VARNAME = "CHANGED_ADMIN_PASSWORD";
|
||||
|
||||
private static final String DEFAULT_CREATED_WRITER_USER_PASSWORD;
|
||||
private static final String DEFAULT_CREATED_WRITER_USER_PASSWORD_VARNAME = "DEFAULT_CREATED_WRITER_USER_PASSWORD";
|
||||
protected static final String DEFAULT_CREATED_WRITER_USER_PASSWORD;
|
||||
protected static final String DEFAULT_CREATED_WRITER_USER_PASSWORD_VARNAME = "DEFAULT_CREATED_WRITER_USER_PASSWORD";
|
||||
|
||||
private static final String DEFAULT_CREATED_READER_USER_PASSWORD;
|
||||
private static final String DEFAULT_CREATED_READER_USER_PASSWORD_VARNAME = "DEFAULT_CREATED_READER_USER_PASSWORD";
|
||||
protected static final String DEFAULT_CREATED_READER_USER_PASSWORD;
|
||||
protected static final String DEFAULT_CREATED_READER_USER_PASSWORD_VARNAME = "DEFAULT_CREATED_READER_USER_PASSWORD";
|
||||
|
||||
public static final String DEFAULT_ADMIN_USERNAME;
|
||||
public static final String DEFAULT_ADMIN_USERNAME_VARNAME = "DEFAULT_ADMIN_USERNAME";
|
||||
protected static final String DEFAULT_ADMIN_USERNAME_VARNAME = "DEFAULT_ADMIN_USERNAME";
|
||||
|
||||
public static final String DEFAULT_ADMIN_PASSWORD;
|
||||
public static final String DEFAULT_ADMIN_PASSWORD_VARNAME = "DEFAULT_ADMIN_PASSWORD";
|
||||
protected static final String DEFAULT_ADMIN_PASSWORD;
|
||||
protected static final String DEFAULT_ADMIN_PASSWORD_VARNAME = "DEFAULT_ADMIN_PASSWORD";
|
||||
|
||||
public static final Map<PermissionMode, String> DEFAULT_PASSWORDS;
|
||||
|
||||
|
||||
protected static int currentHost;
|
||||
|
||||
public static final String[] HOSTS;
|
||||
public static final String[] HTTP_URL_STRINGS;
|
||||
public static final String[] URI_DBS;
|
||||
|
||||
|
||||
public static String getDBURI(){
|
||||
return URI_DBS[currentHost];
|
||||
}
|
||||
|
||||
|
||||
public static String getHTTPURL(){
|
||||
return HTTP_URL_STRINGS[currentHost];
|
||||
}
|
||||
|
||||
static {
|
||||
Properties properties = new Properties();
|
||||
InputStream input = null;
|
||||
|
||||
currentHost = 0;
|
||||
|
||||
try {
|
||||
|
||||
|
@ -80,16 +91,16 @@ public class DatabaseEnvironment {
|
|||
// load a properties file
|
||||
properties.load(input);
|
||||
|
||||
HOST = properties.getProperty(HOST_VARNAME);
|
||||
String hostsString = properties.getProperty(HOST_VARNAME);
|
||||
HOSTS = hostsString.split(",");
|
||||
|
||||
REMOTE_PROTOCOL = properties.getProperty(REMOTE_PROTOCOL_VARNAME);
|
||||
REMOTE_URI = REMOTE_PROTOCOL + HOST;
|
||||
|
||||
HTTP_PROTOCOL = properties.getProperty(HTTP_PROTOCOL_VARNAME);
|
||||
HTTP_PORT = properties.getProperty(HTTP_PORT_VARNAME);
|
||||
HTTP_URL_STRING = HTTP_PROTOCOL + HOST + HTTP_PORT;
|
||||
|
||||
DB = properties.getProperty(DB_VARNAME);
|
||||
URI_DB = REMOTE_URI + "/" + DB;
|
||||
|
||||
|
||||
USERNAME = properties.getProperty(USERNAME_VARNAME);
|
||||
PASSWORD = properties.getProperty(PASSWORD_VARNAME);
|
||||
|
@ -108,6 +119,17 @@ public class DatabaseEnvironment {
|
|||
|
||||
DEFAULT_PASSWORDS.put(PermissionMode.WRITER, DEFAULT_CREATED_WRITER_USER_PASSWORD);
|
||||
DEFAULT_PASSWORDS.put(PermissionMode.READER, DEFAULT_CREATED_READER_USER_PASSWORD);
|
||||
|
||||
|
||||
|
||||
HTTP_URL_STRINGS = new String[HOSTS.length];
|
||||
URI_DBS = new String[HOSTS.length];
|
||||
|
||||
for(int i=0; i<HOSTS.length; i++){
|
||||
HTTP_URL_STRINGS[i] = HTTP_PROTOCOL + HOSTS[i] + HTTP_PORT;
|
||||
URI_DBS[i] = REMOTE_PROTOCOL + HOSTS[i] + "/" + DB;
|
||||
}
|
||||
|
||||
} catch(Exception e){
|
||||
logger.error("Unable to load properties from {}", PROPERTY_FILENAME);
|
||||
throw new RuntimeException("Unable to load properties", e);
|
||||
|
|
|
@ -37,19 +37,20 @@ public class DatabaseIntializator {
|
|||
|
||||
public static boolean initGraphDB() throws Exception {
|
||||
|
||||
logger.trace("Connecting to {} as {} to create new DB", DatabaseEnvironment.URI_DB, DatabaseEnvironment.USERNAME);
|
||||
OServerAdmin serverAdmin = new OServerAdmin(DatabaseEnvironment.URI_DB).connect(DatabaseEnvironment.USERNAME,
|
||||
logger.trace("Connecting to {} as {} to create new DB", DatabaseEnvironment.getDBURI(), DatabaseEnvironment.USERNAME);
|
||||
OServerAdmin serverAdmin = new OServerAdmin(DatabaseEnvironment.getDBURI()).connect(DatabaseEnvironment.USERNAME,
|
||||
DatabaseEnvironment.PASSWORD);
|
||||
|
||||
if (!serverAdmin.existsDatabase()) {
|
||||
|
||||
logger.trace("Creating Database {}", DatabaseEnvironment.URI_DB);
|
||||
logger.trace("Creating Database {}", DatabaseEnvironment.getDBURI());
|
||||
serverAdmin.createDatabase(DatabaseEnvironment.DB, DATABASE_TYPE, STORAGE_MODE);
|
||||
|
||||
logger.trace(
|
||||
"Connecting to newly created database {} as {} with default password",
|
||||
DatabaseEnvironment.URI_DB, DatabaseEnvironment.DEFAULT_ADMIN_USERNAME);
|
||||
OrientGraphFactory factory = new OrientGraphFactory(DatabaseEnvironment.URI_DB,
|
||||
DatabaseEnvironment.getDBURI(), DatabaseEnvironment.DEFAULT_ADMIN_USERNAME);
|
||||
|
||||
OrientGraphFactory factory = new OrientGraphFactory(DatabaseEnvironment.getDBURI(),
|
||||
DatabaseEnvironment.DEFAULT_ADMIN_USERNAME, DatabaseEnvironment.DEFAULT_ADMIN_PASSWORD).setupPool(
|
||||
1, 10);
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ public class QueryImpl implements Query {
|
|||
|
||||
static {
|
||||
try {
|
||||
URL url = new URL(DatabaseEnvironment.HTTP_URL_STRING);
|
||||
URL url = new URL(DatabaseEnvironment.getHTTPURL());
|
||||
URL urlQuery = new URL(url, QUERY);
|
||||
URL urlDB = new URL(urlQuery, DatabaseEnvironment.DB + "/");
|
||||
BASE_QUERY_URL = new URL(urlDB, SQL);
|
||||
|
|
|
@ -9,12 +9,20 @@ import org.gcube.informationsystem.model.entity.Entity;
|
|||
import org.gcube.informationsystem.model.relation.Relation;
|
||||
import org.junit.Test;
|
||||
|
||||
import com.tinkerpop.blueprints.impls.orient.OrientGraphFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
*/
|
||||
public class ContextCreation {
|
||||
|
||||
@Test
|
||||
public void aux() throws Exception{
|
||||
OrientGraphFactory factory = new OrientGraphFactory("remote:pc-frosini.isti.cnr.it", "admin", "admin").setupPool(1, 10);
|
||||
factory.getTx();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() throws Exception{
|
||||
ERDiscovery.addPackage(Embedded.class.getPackage());
|
||||
|
|
Loading…
Reference in New Issue