source: AnnotationManagerN4J/src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/AnnotationsUiRestlet.java @ 53:fc4c23247bb5

Last change on this file since 53:fc4c23247bb5 was 53:fc4c23247bb5, checked in by casties, 11 years ago

don't crash if admin user missing in config.

File size: 2.7 KB
Line 
1/**
2 *
3 */
4package de.mpiwg.itgroup.annotations.restlet.annotations_ui;
5
6import org.apache.log4j.Logger;
7import org.restlet.Context;
8import org.restlet.Restlet;
9import org.restlet.data.ChallengeScheme;
10import org.restlet.routing.Router;
11import org.restlet.security.ChallengeAuthenticator;
12import org.restlet.security.MapVerifier;
13
14import de.mpiwg.itgroup.annotations.restlet.BaseRestlet;
15
16/**
17 * @author casties
18 *
19 */
20public class AnnotationsUiRestlet extends BaseRestlet {
21
22    public final String version = "AnnotationManagerN4J/AnnotationsUI 0.3";
23
24    public static Logger logger = Logger.getLogger(AnnotationsUiRestlet.class);
25
26    public AnnotationsUiRestlet(Context context) {
27        super(context);
28        logger.info(version);
29    }
30
31    /*
32     * (non-Javadoc)
33     *
34     * @see org.restlet.Application#createInboundRoot()
35     */
36    @Override
37    public Restlet createInboundRoot() {
38        // this.authenticator = createAuthenticator();
39
40        Router router = new Router(getContext());
41
42        router.attach("/groups", GroupsResource.class);
43        router.attach("/groups/", GroupsResource.class);
44        router.attach("/groups/{id}", GroupResource.class);
45        router.attach("/groups/{id}/", GroupResource.class);
46        router.attach("/groups/{id}/members", GroupMembersResource.class);
47        router.attach("/persons", PersonsResource.class);
48        router.attach("/persons/", PersonsResource.class);
49        router.attach("/persons/{id}", PersonResource.class);
50        router.attach("/persons/{id}/", PersonResource.class);
51        router.attach("/annotations", AnnotationsResource.class);
52        router.attach("/annotations/", AnnotationsResource.class);
53        router.attach("/annotations/{id}", AnnotationResource.class);
54        router.attach("/annotations/{id}/", AnnotationResource.class);
55
56        router.attach("/", InfoResource.class);
57
58        // use simple password verifier
59        MapVerifier verifier = new MapVerifier();
60        // get user name and password
61        String user = serverConfig.getProperty(BaseRestlet.ADMIN_USER_KEY);
62        String pw = serverConfig.getProperty(BaseRestlet.ADMIN_PASSWORD_KEY);
63        if (user != null && pw != null) {
64            verifier.getLocalSecrets().put(user, pw.toCharArray());
65        } else {
66            logger.error("Admin user and password missing in serverconfig!");
67        }
68        // Create a Guard
69        ChallengeAuthenticator guard = new ChallengeAuthenticator(getContext(), ChallengeScheme.HTTP_BASIC, "Tutorial");
70        guard.setVerifier(verifier);
71        // put everything through guard
72        guard.setNext(router);
73        return guard;
74    }
75
76    @Override
77    public String getVersion() {
78        return version;
79    }
80
81}
Note: See TracBrowser for help on using the repository browser.