Mercurial > hg > AnnotationManagerN4J
diff src/main/java/de/mpiwg/itgroup/annotations/restlet/RestServer.java @ 5:bbf0cc5bee29
version 0.2 really works now
author | casties |
---|---|
date | Tue, 03 Jul 2012 21:23:17 +0200 |
parents | 3599b29c393f |
children | 6dfbe2400f64 |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/annotations/restlet/RestServer.java Mon Jul 02 22:39:46 2012 +0200 +++ b/src/main/java/de/mpiwg/itgroup/annotations/restlet/RestServer.java Tue Jul 03 21:23:17 2012 +0200 @@ -40,9 +40,13 @@ private Properties consumerKeys; public String CONSUMER_KEYS_PATH = "WEB-INF/consumerkeys.property"; + private Properties serverConfig; + public String CONFIG_PROPS_PATH = "WEB-INF/serverconfig.property"; + private GraphDatabaseService graphDb; public static final String GRAPHDB_KEY = "annotationmanager.graphdb"; - public String DB_PATH = "WEB-INF/neo4j-annotation-db"; + public static final String GRAPHDB_PATH_KEY = "annotationmanager.graphdb.path"; + public String graphdbPath = "WEB-INF/neo4j-annotation-db"; private WrappingNeoServerBootstrapper srv; public static final String GRAPHDBSRV_KEY = "annotationmanager.graphdb.srv"; @@ -63,13 +67,33 @@ ServletContext sc = (ServletContext) getContext().getServerDispatcher().getContext().getAttributes() .get("org.restlet.ext.servlet.ServletContext"); if (sc != null) { + /* + * read config from webapp + */ + serverConfig = new Properties(); + InputStream ps1 = getResourceAsStream(sc, CONFIG_PROPS_PATH); + if (ps1 != null) { + logger.debug("loading config from " + CONFIG_PROPS_PATH); + try { + serverConfig.load(ps1); + /* + * read serverconfig options + */ + graphdbPath = serverConfig.getProperty(GRAPHDB_PATH_KEY, graphdbPath); + } catch (IOException e) { + logger.warn("Error loading server config: ", e); + } + logger.debug("config: " + serverConfig); + } else { + logger.error("Unable to get resource " + CONFIG_PROPS_PATH); + } // look for database service in context graphDb = (GraphDatabaseService) sc.getAttribute(GRAPHDB_KEY); if (graphDb == null) { /* * open database */ - String dbFn = getResourcePath(sc, DB_PATH); + String dbFn = getResourcePath(sc, graphdbPath); if (dbFn != null) { logger.debug("opening DB " + dbFn); graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(dbFn); @@ -86,18 +110,18 @@ sc.setAttribute(GRAPHDBSRV_KEY, srv); srv.start(); } else { - logger.error("Unable to get resource " + DB_PATH); + logger.error("Unable to get resource " + dbFn); } } /* * read consumerKeys from webapp */ consumerKeys = new Properties(); - InputStream ps = getResourceAsStream(sc, CONSUMER_KEYS_PATH); - if (ps != null) { + InputStream ps2 = getResourceAsStream(sc, CONSUMER_KEYS_PATH); + if (ps2 != null) { logger.debug("loading consumer keys from " + CONSUMER_KEYS_PATH); try { - consumerKeys.load(ps); + consumerKeys.load(ps2); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -154,7 +178,7 @@ * @param creator * @return */ - public String getUserNameFromLdap(String creator) { + public String getFullNameFromLdap(String creator) { String retString = creator; // falls nichts gefunden wird einfach den // creator zurueckgeben Hashtable<String, String> env = new Hashtable<String, String>(); @@ -162,7 +186,7 @@ env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, sp); // TODO: should go into config file - String ldapUrl = "ldap://ldapreplik.mpiwg-berlin.mpg.de/dc=mpiwg-berlin,dc=mpg,dc=de"; + String ldapUrl = "ldap://ldap.mpiwg-berlin.mpg.de/dc=mpiwg-berlin,dc=mpg,dc=de"; env.put(javax.naming.Context.PROVIDER_URL, ldapUrl); DirContext dctx; @@ -174,7 +198,7 @@ return retString; } - String base = "ou=People"; + String base = "ou=people"; SearchControls sc = new SearchControls(); String[] attributeFilter = { "cn", "mail" };