Mercurial > hg > AnnotationManagerN4J
comparison 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 |
comparison
equal
deleted
inserted
replaced
4:3599b29c393f | 5:bbf0cc5bee29 |
---|---|
38 * Properties holding consumer keys and secrets | 38 * Properties holding consumer keys and secrets |
39 */ | 39 */ |
40 private Properties consumerKeys; | 40 private Properties consumerKeys; |
41 public String CONSUMER_KEYS_PATH = "WEB-INF/consumerkeys.property"; | 41 public String CONSUMER_KEYS_PATH = "WEB-INF/consumerkeys.property"; |
42 | 42 |
43 private Properties serverConfig; | |
44 public String CONFIG_PROPS_PATH = "WEB-INF/serverconfig.property"; | |
45 | |
43 private GraphDatabaseService graphDb; | 46 private GraphDatabaseService graphDb; |
44 public static final String GRAPHDB_KEY = "annotationmanager.graphdb"; | 47 public static final String GRAPHDB_KEY = "annotationmanager.graphdb"; |
45 public String DB_PATH = "WEB-INF/neo4j-annotation-db"; | 48 public static final String GRAPHDB_PATH_KEY = "annotationmanager.graphdb.path"; |
49 public String graphdbPath = "WEB-INF/neo4j-annotation-db"; | |
46 | 50 |
47 private WrappingNeoServerBootstrapper srv; | 51 private WrappingNeoServerBootstrapper srv; |
48 public static final String GRAPHDBSRV_KEY = "annotationmanager.graphdb.srv"; | 52 public static final String GRAPHDBSRV_KEY = "annotationmanager.graphdb.srv"; |
49 | 53 |
50 private AnnotationStore store; | 54 private AnnotationStore store; |
61 BasicConfigurator.configure(); | 65 BasicConfigurator.configure(); |
62 | 66 |
63 ServletContext sc = (ServletContext) getContext().getServerDispatcher().getContext().getAttributes() | 67 ServletContext sc = (ServletContext) getContext().getServerDispatcher().getContext().getAttributes() |
64 .get("org.restlet.ext.servlet.ServletContext"); | 68 .get("org.restlet.ext.servlet.ServletContext"); |
65 if (sc != null) { | 69 if (sc != null) { |
70 /* | |
71 * read config from webapp | |
72 */ | |
73 serverConfig = new Properties(); | |
74 InputStream ps1 = getResourceAsStream(sc, CONFIG_PROPS_PATH); | |
75 if (ps1 != null) { | |
76 logger.debug("loading config from " + CONFIG_PROPS_PATH); | |
77 try { | |
78 serverConfig.load(ps1); | |
79 /* | |
80 * read serverconfig options | |
81 */ | |
82 graphdbPath = serverConfig.getProperty(GRAPHDB_PATH_KEY, graphdbPath); | |
83 } catch (IOException e) { | |
84 logger.warn("Error loading server config: ", e); | |
85 } | |
86 logger.debug("config: " + serverConfig); | |
87 } else { | |
88 logger.error("Unable to get resource " + CONFIG_PROPS_PATH); | |
89 } | |
66 // look for database service in context | 90 // look for database service in context |
67 graphDb = (GraphDatabaseService) sc.getAttribute(GRAPHDB_KEY); | 91 graphDb = (GraphDatabaseService) sc.getAttribute(GRAPHDB_KEY); |
68 if (graphDb == null) { | 92 if (graphDb == null) { |
69 /* | 93 /* |
70 * open database | 94 * open database |
71 */ | 95 */ |
72 String dbFn = getResourcePath(sc, DB_PATH); | 96 String dbFn = getResourcePath(sc, graphdbPath); |
73 if (dbFn != null) { | 97 if (dbFn != null) { |
74 logger.debug("opening DB " + dbFn); | 98 logger.debug("opening DB " + dbFn); |
75 graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(dbFn); | 99 graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(dbFn); |
76 registerShutdownHook(graphDb); | 100 registerShutdownHook(graphDb); |
77 // store in context | 101 // store in context |
84 logger.debug("Starting DB admin server..."); | 108 logger.debug("Starting DB admin server..."); |
85 // store in context | 109 // store in context |
86 sc.setAttribute(GRAPHDBSRV_KEY, srv); | 110 sc.setAttribute(GRAPHDBSRV_KEY, srv); |
87 srv.start(); | 111 srv.start(); |
88 } else { | 112 } else { |
89 logger.error("Unable to get resource " + DB_PATH); | 113 logger.error("Unable to get resource " + dbFn); |
90 } | 114 } |
91 } | 115 } |
92 /* | 116 /* |
93 * read consumerKeys from webapp | 117 * read consumerKeys from webapp |
94 */ | 118 */ |
95 consumerKeys = new Properties(); | 119 consumerKeys = new Properties(); |
96 InputStream ps = getResourceAsStream(sc, CONSUMER_KEYS_PATH); | 120 InputStream ps2 = getResourceAsStream(sc, CONSUMER_KEYS_PATH); |
97 if (ps != null) { | 121 if (ps2 != null) { |
98 logger.debug("loading consumer keys from " + CONSUMER_KEYS_PATH); | 122 logger.debug("loading consumer keys from " + CONSUMER_KEYS_PATH); |
99 try { | 123 try { |
100 consumerKeys.load(ps); | 124 consumerKeys.load(ps2); |
101 } catch (IOException e) { | 125 } catch (IOException e) { |
102 // TODO Auto-generated catch block | 126 // TODO Auto-generated catch block |
103 e.printStackTrace(); | 127 e.printStackTrace(); |
104 } | 128 } |
105 logger.debug("consumer keys: " + consumerKeys); | 129 logger.debug("consumer keys: " + consumerKeys); |
152 * Hole den vollen Benutzernamen aus dem LDAP | 176 * Hole den vollen Benutzernamen aus dem LDAP |
153 * | 177 * |
154 * @param creator | 178 * @param creator |
155 * @return | 179 * @return |
156 */ | 180 */ |
157 public String getUserNameFromLdap(String creator) { | 181 public String getFullNameFromLdap(String creator) { |
158 String retString = creator; // falls nichts gefunden wird einfach den | 182 String retString = creator; // falls nichts gefunden wird einfach den |
159 // creator zurueckgeben | 183 // creator zurueckgeben |
160 Hashtable<String, String> env = new Hashtable<String, String>(); | 184 Hashtable<String, String> env = new Hashtable<String, String>(); |
161 String sp = "com.sun.jndi.ldap.LdapCtxFactory"; | 185 String sp = "com.sun.jndi.ldap.LdapCtxFactory"; |
162 env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, sp); | 186 env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, sp); |
163 | 187 |
164 // TODO: should go into config file | 188 // TODO: should go into config file |
165 String ldapUrl = "ldap://ldapreplik.mpiwg-berlin.mpg.de/dc=mpiwg-berlin,dc=mpg,dc=de"; | 189 String ldapUrl = "ldap://ldap.mpiwg-berlin.mpg.de/dc=mpiwg-berlin,dc=mpg,dc=de"; |
166 env.put(javax.naming.Context.PROVIDER_URL, ldapUrl); | 190 env.put(javax.naming.Context.PROVIDER_URL, ldapUrl); |
167 | 191 |
168 DirContext dctx; | 192 DirContext dctx; |
169 try { | 193 try { |
170 dctx = new InitialDirContext(env); | 194 dctx = new InitialDirContext(env); |
172 // TODO Auto-generated catch block | 196 // TODO Auto-generated catch block |
173 e1.printStackTrace(); | 197 e1.printStackTrace(); |
174 return retString; | 198 return retString; |
175 } | 199 } |
176 | 200 |
177 String base = "ou=People"; | 201 String base = "ou=people"; |
178 | 202 |
179 SearchControls sc = new SearchControls(); | 203 SearchControls sc = new SearchControls(); |
180 String[] attributeFilter = { "cn", "mail" }; | 204 String[] attributeFilter = { "cn", "mail" }; |
181 sc.setReturningAttributes(attributeFilter); | 205 sc.setReturningAttributes(attributeFilter); |
182 sc.setSearchScope(SearchControls.SUBTREE_SCOPE); | 206 sc.setSearchScope(SearchControls.SUBTREE_SCOPE); |