Revision 47828 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.downloader/org.gvsig.downloader.lib/org.gvsig.downloader.lib.api/src/main/java/org/gvsig/downloader/spi/AbstractDownloaderAuthenticationConfig.java

View differences:

AbstractDownloaderAuthenticationConfig.java
5 5
 */
6 6
package org.gvsig.downloader.spi;
7 7

  
8
import javax.json.JsonObject;
9
import org.apache.commons.lang3.StringUtils;
8 10
import org.gvsig.downloader.DownloaderAuthenticationConfig;
9 11
import org.gvsig.downloader.DownloaderAuthenticationFactory;
10 12
import org.gvsig.downloader.DownloaderAuthenticationRequester;
11 13
import org.gvsig.downloader.DownloaderLocator;
14
import org.gvsig.downloader.DownloaderManager;
15
import org.gvsig.json.Json;
16
import org.gvsig.json.JsonObjectBuilder;
12 17

  
13 18
/**
14 19
 *
......
18 23
        implements DownloaderAuthenticationConfig
19 24
    {
20 25

  
21
    private String providerName;
22
    private DownloaderAuthenticationFactory factory;
23
    private String baseUrl;
26
    protected String providerName;
27
    protected DownloaderAuthenticationFactory factory;
28
    protected String serviceUrl;
24 29

  
25
    protected AbstractDownloaderAuthenticationConfig(DownloaderAuthenticationFactory factory, String baseUrl) {
30
    protected AbstractDownloaderAuthenticationConfig(DownloaderAuthenticationFactory factory, String serviceUrl) {
26 31
        this.factory = factory;
27
        this.baseUrl = baseUrl;
32
        this.serviceUrl = serviceUrl;
28 33
        this.providerName = factory.getProviderName();
29 34
    }
30 35

  
......
46 51
    }
47 52

  
48 53
    @Override
49
    public String getBaseUrl() {
50
        return this.baseUrl;
54
    public String getServiceUrl() {
55
        return this.serviceUrl;
51 56
    }
52 57

  
53 58
    @Override
......
70 75
        return null;
71 76
    }
72 77

  
78
    @Override
79
    public void fromJson(JsonObject json) {
80
        DownloaderManager manager = DownloaderLocator.getDownloaderManager();
81
        
82
//        if( json.containsKey("type") ) {
83
//            String url = json.getString(CONFIG_URLONLINE_NAME,null);
84
//            if( url!=null ) {
85
//                this.urlOnline = url;
86
//            }
87
//        } else {
88
            this.serviceUrl = json.getString(CONFIG_SERVICEURL_NAME,null);
89
//        }
90
        String providerName = json.getString(CONFIG_PROVIDERNAME_NAME, null);
91
        if( providerName != null ) {
92
            if( !StringUtils.equalsIgnoreCase(this.providerName, providerName) ) {
93
                throw new IllegalArgumentException("this json can't be restored in a config of '"+this.providerName+"' (need a '"+providerName+"')");
94
            }
95
        }
96
        if( this.factory == null ) {
97
            this.factory = manager.getDownloaderAuthenticationFactory(this.providerName);
98
        } 
99
    }
100

  
101
    @Override
102
    public JsonObjectBuilder toJsonBuilder() {
103
        JsonObjectBuilder builder = Json.createObjectBuilder();
104
        builder.add(CONFIG_PROVIDERNAME_NAME, this.getFactory().getProviderName());
105
//        builder.add("urlOnline",this.getUrlOnline());
106
        
107
        return builder;        
108
    }
109

  
73 110
}

Also available in: Unified diff