Mercurial > hg > AnnotationManagerN4J
annotate src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/AnnotationsUiRestlet.java @ 70:2b1e6df5e21a
added lgpl_v3 license information.
author | casties |
---|---|
date | Thu, 06 Mar 2014 15:09:04 +0100 |
parents | fc4c23247bb5 |
children | 4c2cea836bc0 |
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 | |
18 | 28 import org.apache.log4j.Logger; |
29 import org.restlet.Context; | |
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; |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
37 |
18 | 38 /** |
39 * @author casties | |
40 * | |
41 */ | |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
42 public class AnnotationsUiRestlet extends BaseRestlet { |
18 | 43 |
50 | 44 public final String version = "AnnotationManagerN4J/AnnotationsUI 0.3"; |
18 | 45 |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
46 public static Logger logger = Logger.getLogger(AnnotationsUiRestlet.class); |
18 | 47 |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
48 public AnnotationsUiRestlet(Context context) { |
18 | 49 super(context); |
50 | 50 logger.info(version); |
18 | 51 } |
52 | |
53 /* | |
54 * (non-Javadoc) | |
55 * | |
56 * @see org.restlet.Application#createInboundRoot() | |
57 */ | |
58 @Override | |
59 public Restlet createInboundRoot() { | |
60 // this.authenticator = createAuthenticator(); | |
61 | |
62 Router router = new Router(getContext()); | |
63 | |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
64 router.attach("/groups", GroupsResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
65 router.attach("/groups/", GroupsResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
66 router.attach("/groups/{id}", GroupResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
67 router.attach("/groups/{id}/", GroupResource.class); |
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
68 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
|
69 router.attach("/persons", PersonsResource.class); |
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
70 router.attach("/persons/", PersonsResource.class); |
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
71 router.attach("/persons/{id}", PersonResource.class); |
0731c4549065
UI for editing groups and persons works now. (still no authorisation!)
casties
parents:
23
diff
changeset
|
72 router.attach("/persons/{id}/", PersonResource.class); |
50 | 73 router.attach("/annotations", AnnotationsResource.class); |
74 router.attach("/annotations/", AnnotationsResource.class); | |
75 router.attach("/annotations/{id}", AnnotationResource.class); | |
76 router.attach("/annotations/{id}/", AnnotationResource.class); | |
18 | 77 |
23
d22d01ba953a
reorganised code for annotations and groups ui. work in progress.
casties
parents:
22
diff
changeset
|
78 router.attach("/", InfoResource.class); |
18 | 79 |
50 | 80 // use simple password verifier |
49 | 81 MapVerifier verifier = new MapVerifier(); |
50 | 82 // get user name and password |
83 String user = serverConfig.getProperty(BaseRestlet.ADMIN_USER_KEY); | |
84 String pw = serverConfig.getProperty(BaseRestlet.ADMIN_PASSWORD_KEY); | |
53 | 85 if (user != null && pw != null) { |
86 verifier.getLocalSecrets().put(user, pw.toCharArray()); | |
87 } else { | |
88 logger.error("Admin user and password missing in serverconfig!"); | |
89 } | |
49 | 90 // Create a Guard |
91 ChallengeAuthenticator guard = new ChallengeAuthenticator(getContext(), ChallengeScheme.HTTP_BASIC, "Tutorial"); | |
92 guard.setVerifier(verifier); | |
93 // put everything through guard | |
94 guard.setNext(router); | |
95 return guard; | |
18 | 96 } |
97 | |
98 @Override | |
99 public String getVersion() { | |
100 return version; | |
101 } | |
102 | |
103 } |