Mercurial > hg > AnnotationManagerN4J
annotate src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/AnnotationsUiRestlet.java @ 94:fcb6fe10e08c
added config option for webapp URL prefix.
author | casties |
---|---|
date | Tue, 10 Feb 2015 17:45:56 +0100 |
parents | 25eb2e1df106 |
children | 434264e1839a |
rev | line source |
---|---|
18 | 1 /** |
2 * | |
3 */ | |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
4 package de.mpiwg.itgroup.annotations.restlet.annotations_ui; |
18 | 5 |
70 | 6 /* |
7 * #%L | |
8 * AnnotationManager | |
9 * %% | |
10 * Copyright (C) 2012 - 2014 MPIWG Berlin | |
11 * %% | |
12 * This program is free software: you can redistribute it and/or modify | |
13 * it under the terms of the GNU Lesser General Public License as | |
14 * published by the Free Software Foundation, either version 3 of the | |
15 * License, or (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, | |
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 * GNU General Lesser Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU General Lesser Public | |
23 * License along with this program. If not, see | |
24 * <http://www.gnu.org/licenses/lgpl-3.0.html>. | |
25 * #L% | |
26 */ | |
27 | |
75 | 28 import java.util.logging.Logger; |
29 | |
18 | 30 import org.restlet.Restlet; |
49 | 31 import org.restlet.data.ChallengeScheme; |
18 | 32 import org.restlet.routing.Router; |
49 | 33 import org.restlet.security.ChallengeAuthenticator; |
34 import org.restlet.security.MapVerifier; | |
18 | 35 |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
36 import de.mpiwg.itgroup.annotations.restlet.BaseRestlet; |
94 | 37 import de.mpiwg.itgroup.annotations.restlet.utils.UrlPrefixFilter; |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
38 |
18 | 39 /** |
40 * @author casties | |
41 * | |
42 */ | |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
43 public class AnnotationsUiRestlet extends BaseRestlet { |
18 | 44 |
50 | 45 public final String version = "AnnotationManagerN4J/AnnotationsUI 0.3"; |
18 | 46 |
75 | 47 public static Logger logger = Logger.getLogger("de.mpiwg.itgroup.annotations.restlet.annotations_ui.AnnotationsUiRestlet"); |
18 | 48 |
49 /* | |
50 * (non-Javadoc) | |
51 * | |
52 * @see org.restlet.Application#createInboundRoot() | |
53 */ | |
54 @Override | |
55 public Restlet createInboundRoot() { | |
56 // this.authenticator = createAuthenticator(); | |
94 | 57 Restlet root = null; |
58 | |
18 | 59 Router router = new Router(getContext()); |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
60 router.attach("/groups", GroupsResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
61 router.attach("/groups/", GroupsResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
62 router.attach("/groups/{id}", GroupResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
63 router.attach("/groups/{id}/", GroupResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
64 router.attach("/groups/{id}/members", GroupMembersResource.class); |
32
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
65 router.attach("/persons", PersonsResource.class); |
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
66 router.attach("/persons/", PersonsResource.class); |
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
67 router.attach("/persons/{id}", PersonResource.class); |
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
68 router.attach("/persons/{id}/", PersonResource.class); |
50 | 69 router.attach("/annotations", AnnotationsResource.class); |
70 router.attach("/annotations/", AnnotationsResource.class); | |
71 router.attach("/annotations/{id}", AnnotationResource.class); | |
72 router.attach("/annotations/{id}/", AnnotationResource.class); | |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
73 router.attach("/", InfoResource.class); |
94 | 74 root = router; |
75 | |
76 if (this.webappUriPrefix != null) { | |
77 // add prefix path to url | |
78 UrlPrefixFilter prefixFilter = new UrlPrefixFilter(); | |
79 prefixFilter.setPrefix(this.webappUriPrefix);; | |
80 prefixFilter.setNext(root); | |
81 root = prefixFilter; | |
82 } | |
18 | 83 |
50 | 84 // use simple password verifier |
49 | 85 MapVerifier verifier = new MapVerifier(); |
50 | 86 // get user name and password |
87 String user = serverConfig.getProperty(BaseRestlet.ADMIN_USER_KEY); | |
88 String pw = serverConfig.getProperty(BaseRestlet.ADMIN_PASSWORD_KEY); | |
53 | 89 if (user != null && pw != null) { |
90 verifier.getLocalSecrets().put(user, pw.toCharArray()); | |
91 } else { | |
75 | 92 logger.severe("Admin user and password missing in serverconfig!"); |
53 | 93 } |
49 | 94 // Create a Guard |
95 ChallengeAuthenticator guard = new ChallengeAuthenticator(getContext(), ChallengeScheme.HTTP_BASIC, "Tutorial"); | |
96 guard.setVerifier(verifier); | |
97 // put everything through guard | |
94 | 98 guard.setNext(root); |
99 root = guard; | |
100 | |
101 return root; | |
18 | 102 } |
103 | |
104 @Override | |
105 public String getVersion() { | |
106 return version; | |
107 } | |
108 | |
109 } |