Statistics
| Revision:

gvsig-projects-pool / org.gvsig.online / trunk / org.gvsig.online / org.gvsig.online.lib / org.gvsig.online.lib.impl / src / main / java / org / gvsig / online / lib / impl / TestUserIdentificationRequesterFactory.java @ 9515

History | View | Annotate | Download (2.83 KB)

1
package org.gvsig.online.lib.impl;
2

    
3
import java.io.IOException;
4
import java.util.Properties;
5
import javax.json.JsonObject;
6
import org.apache.commons.io.FileUtils;
7
import org.apache.commons.lang3.StringUtils;
8
import org.gvsig.json.JsonObjectBuilder;
9
import org.gvsig.online.lib.api.OnlineLocator;
10
import org.gvsig.online.lib.api.OnlineManager;
11
import org.gvsig.online.lib.api.OnlineSite;
12
import org.gvsig.online.lib.api.OnlineUserIdentificationRequester;
13
import org.gvsig.online.lib.spi.AbstractOnlineUserIdentificationRequesterConfig;
14

    
15
/**
16
 *
17
 * @author jjdelcerro
18
 */
19
public class TestUserIdentificationRequesterFactory implements OnlineUserIdentificationRequester.OnlineUserIdentificationRequesterFactory {
20

    
21
    private final String siteURL;
22
    
23
    public TestUserIdentificationRequesterFactory(String siteURL) {
24
        this.siteURL = siteURL;
25
    }
26
    
27
    @Override
28
    public String getName() {
29
        return OnlineManager.AUTH_MODE_ONLINE;
30
    }
31

    
32
    @Override
33
    public OnlineUserIdentificationRequester.OnlineUserIdentificationRequesterConfig create(Object... os) {
34
        try {
35
            Properties props = new Properties();
36
            props.load(FileUtils.openInputStream(FileUtils.getFile(System.getProperty("user.home"), "onlineclient.properties")));
37
            return new AbstractOnlineUserIdentificationRequesterConfig(OnlineManager.AUTH_MODE_ONLINE, null) {
38
                @Override
39
                public OnlineUserIdentificationRequester createUserIdentificationRequester() {
40
                    return new OnlineUserIdentificationRequester() {
41
                        String userId;
42
                        String authorization;
43
                        String password;
44

    
45
                        @Override
46
                        public boolean requestIdentification() {
47
                            this.userId = props.getProperty("online_user");
48
                            this.password = props.getProperty("online_password");
49
                            OnlineManager manager = OnlineLocator.getOnlineManager();
50
                            this.authorization = manager.authenticate(
51
                                    siteURL, 
52
                                    this.userId, 
53
                                    this.password
54
                            );
55
                            return StringUtils.isNotBlank(this.authorization);
56
                        }
57

    
58
                        @Override
59
                        public String getUserId() {
60
                            return this.userId;
61
                        }
62

    
63
                        @Override
64
                        public String getAuthorization() {
65
                            return this.authorization;
66
                        }
67
                    };
68
                }
69
            };
70
        } catch (IOException ex) {
71
            throw new RuntimeException("", ex);
72
        }
73
    }
74
    
75
}